忍者ブログ
[PR]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。



2024/11/22 20:44 |
Android2.2 名刺管理アプリケーションを作ってみる5日目

アクティビティとデータベース操作クラスというそれぞれの部品が完成したので、これらをくっつけていきます。

まず一覧画面。
現在「新規追加」しか表示されず、しかもクリックしても動きませんが、これを動作するようにしてみます。

/src/com.example.bizcard/ListActivity.java

public class ListActivity extends Activity {

	//インスタンス変数
    private ListView listView;
    ArrayAdapter arrayAdapter = null;

    //起動時に実行
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		// 配列を作成
		 arrayAdapter = new ArrayAdapter<bizcard>(this, android.R.layout.simple_list_item_1);
		// main.xmlのListViewを取得
		listView = (ListView) findViewById(R.id.list);
		// 配列を突っ込む
		listView.setAdapter(arrayAdapter);
    }

    //アクティビティが前面に来たときに実行
	public void onResume() {
		super.onResume();
		//DBアクセスクラス
		BizCardDao dao = new BizCardDao(ListActivity.this);
		//DBの中身を取得
		List<bizcard> result = dao.list();
		//現在の値をクリア
		arrayAdapter.clear();
		//全データをarrayAdapterに突っ込む
		for (BizCard bizCard : result) {
			arrayAdapter.add(bizCard);
		}
	}
}

あれ?
新規登録とか書いてあったんで単なる動作選択メニューだと思ってたんだが名刺一覧だったのか。

arrayAdapter.add(bizCard)にはStringではなくBizCardを突っ込んでいるので、表示は前作ったBizCard.toString()が使用されることになります。

以上でデータベースに登録してある値を拾ってきて表示するようになりました。
初回起動時にはDatabaseOpenHelper.onCreate()が作動してデフォルトの4件のデータを登録してくれます。
めでたしめでたし。


エミュレータで動作中のデータベースの状態をEclipseから見ることはできないの?

外部閲覧方法なら前飛ばしたところに書いてあります。

コマンドプロンプトから
> adb shell
# cd /data/data/com.example.bizcard/databases/
# sqlite3 BIZ_CARD
> select * from biz_card;

で閲覧できますが、見事に文字化けしています。
AndroidはUTF-8ですが、コマンドプロンプトはSJISなうえに文字コード変更が面倒なんですよね。
右クリックから「プロパティ」→「フォント」→「MSゴシック」を選択、コマンドプロンプトから"chcp 65001"でUTF-8になり、↑も文字化け無く見ることができます。
ただコマンドプロンプトの使い勝手が悪いので常用したいとは思えません。

また、「ウィンドウ」→「ビューの表示」→「その他」→「Android」→「ファイル・エクスプローラー」→「data/data/com.example.bizcard/databases/BIZ_CARD」→右上の「Pull a file from the device」ボタンとすることでDBの状態をファイルとして出力することができます。

いやあちがうんだ、もっとこうDBツリービューを覗けばOK、みたいなかんじで現状を直接確認とかできないのか?
 

Androidの記事
PR


2010/08/13 22:31 | Comments(0) | TrackBack() | Android

トラックバック

トラックバックURL:

コメント

コメントを投稿する






Vodafone絵文字 i-mode絵文字 Ezweb絵文字 (絵文字)



<<買ったものリスト 2010/08/15 | HOME | スーパーファミコンウォーズ 攻略指南>>
忍者ブログ[PR]