Androidで周囲のAPをスキャンして表示するプログラムを作っています。
取得したものをデータベースに保存して残すようにしたいです.
下記がそのwifiスキャンのプログラムです。
public class WifiManager04 extends ListActivity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
final ArrayAdapter<String> adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1);
setListAdapter(adapter);
final WifiManager manager = (WifiManager) getSystemService(WIFI_SERVICE); final Handler handler = new Handler(); final TimerTask timerTask = new TimerTask(){ @Override public void run() { if (manager.getWifiState() == WifiManager.WIFI_STATE_ENABLED) { // APをスキャン manager.startScan(); // スキャン結果を取得 List<ScanResult> apList = manager.getScanResults(); final String[] aps = new String[apList.size()]; for (int i = 0; i < apList.size(); i++) { aps[i] = "SSID:" + apList.get(i).SSID + "\n" + apList.get(i).frequency + "MHz " + apList.get(i).level + "dBm"; } handler.post(new Runnable() { @Override public void run() { adapter.clear(); adapter.addAll(aps); adapter.notifyDataSetChanged(); } }); } } }; new Thread(new Runnable() { @Override public void run() { new Timer(true).schedule(timerTask, 0, 1000); } }).start(); }
できているかどうかわかりませんがデータベースの形を作りましたがここから上記のプログラムをどう持っていけばわかりません。下記がそのデータベースのプログラムです。プログラミング初心者なので分かりにくいかもしれませんが何卒ご教授お願いします。
public class SQLiteDatabase extends Activity {
final static private int DB_VERSION = 1;
final static String DATABASE_NAME = "sqlite_wifi.db";
//databaseに格納する数値の設定
final static String CREATE_TABLE = "create table mytable ( id integer primary key autoincrement, ssid text not null, mhz integer not null );";
final static String DROP_TABLE = "drop table mytable";
static android.database.sqlite.SQLiteDatabase mydb; @Override public void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.activity_wifi_sample); MySQLiteOpenHelper hlpr = new MySQLiteOpenHelper(getApplicationContext()); mydb = hlpr.getWritableDatabase(); } public static class MySQLiteOpenHelper extends SQLiteOpenHelper { public MySQLiteOpenHelper(Context context) { super(context, DATABASE_NAME, null, DB_VERSION); } @Override public void onCreate(android.database.sqlite.SQLiteDatabase db) { db.execSQL(CREATE_TABLE); //tabelを作成 } @Override public void onUpgrade(android.database.sqlite.SQLiteDatabase db, int oldVersion, int newVersion) { db.execSQL(DROP_TABLE); //databaseをupdate onCreate(db); } }
}
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/10/22 08:42
退会済みユーザー
2015/10/22 08:44
2015/10/26 17:46
2015/10/27 20:19
退会済みユーザー
2015/10/27 20:46
2015/10/27 23:08
2015/10/28 04:57 編集
退会済みユーザー
2015/10/28 05:58