wifi强度数据采集器(android)

时间:2023-03-09 16:00:45
wifi强度数据采集器(android)

来源:毕业设计

关键词:wifi数据的采集 SQLite数据库的使用

需求

采集实验室内各坐标处各wifi信号的强度

UI

因为是辅助工具,所以UI写的很简单,如下图

wifi强度数据采集器(android)

Wifi相关操作

   //获取WifiManager实例
mWifiManager = (WifiManager) this.getSystemService(Context.WIFI_SERVICE); //打开Wifi
if(!mWifiManager.isWifiEnabled()) {
mWifiManager.setWifiEnabled(true);
} //ScanResult : 扫描到的wifi热点的数据集实体类.
List<ScanResult> scanResults = mWifiManager.getScanResults();

实体类

需要采集的数据分别是wifi的mac地址(BSSID),强度(level),名称(SSID),故实体类实现如下:

public class APData {

    private String macAddr;
private int level;
private String name; public APData(String macAddr, int level, String name) {
this.macAddr = macAddr;
this.level = level;
this.name = name;
} public String getMacAddr() {
return macAddr;
} public void setMacAddr(String macAddr) {
this.macAddr = macAddr;
} public int getLevel() {
return level;
} public void setLevel(int level) {
this.level = level;
} public String getName() {
return name;
} public void setName(String name) {
this.name = name;
}
}

数据库

因为很久没有使用SQLite数据库了,所以在这里也记录一下...

public class MyDatabaseHelper extends SQLiteOpenHelper{

    //建表语句
public static final String CREATE_TABLE = "create table apdata(" +
"id integer primary key autoincrement, " +
"ap_x integer, " +
"ap_y integer, " +
"ap_macaddr text, " +
"ap_level1 integer," +
"ap_level2 integer," +
"ap_level3 integer," +
"ap_name text)";
private Context mContext;
public MyDatabaseHelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) {
super(context, name, factory, version);
mContext = context;
} @Override
public void onCreate(SQLiteDatabase db) {
db.execSQL(CREATE_TABLE);
Toast.makeText(mContext, "Create table succeeded", Toast.LENGTH_SHORT).show();
} @Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { }
}

github地址: https://github.com/zhangbz/APDataCollector