※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

◆ android




デバッグコンソール

デバッグコンソールが表示されない場合は、
window→Other Perspective→Otherで
androidタグ内のDDMSを表示します。
Consoleタブを開いて右上にあるモニタのアイコンでandroidが選択されているか確認。
その後、またwindow→show view→Otherでandroidタグ内にあるLog Catを表示させます。
実行してエミュレーターを起動させ、
devicesタブで自分のソフトが実行されたのを確認したら、
Log Catにログが流れている筈。
ただし、Consoleに
emulator-XXXX disconnected! Cancelling '~
とか出てたら、アプリとの接続…というかアプリの起動に失敗してるので
もう一回実行してみる。

SQLite


セーブデータのように次にアプリを起動した時もデータを引き出したい時は、
SQLiteOpenHelperのコンストラクタの第2引数にファイル名を渡す。
ここでありがちな名前にすると、他のアプリとかぶる場合があるので
自分のアプリ固有の名前にして、他のHelper内でも同じ名前を指定することで
↓の例だとmyapp_database.db内にMyTblで作ったテーブルが作成され、
他のクラスのコンストラクタでも同じように指定すれば、複数テーブルを登録できる。

class MyTbl extends SQLiteOpenHelper {
   private static final int version = 1;
   public MyTbl(Context context) {
        super(context, "myapp_database.db", null, version);
   }
}


SELECT文を使う時は
String name = "名前";
// ここから読み込み
SQLiteDatabase db = &bold(){getReadableDatabase}();

// 重複データがあるか確認
Cursor c = db.query(TABLE, new String[] { Column.NAME.toString() },
	Column.NAME.toString() + " = ?", 
       new String[] { name }, null, null, null);
int count = c.getCount();

UPDATE文とかINSERT文を使う場合は、
// ここから書き込み
try {
    SQLiteDatabase db = &bold(){getWritableDatabase}();
    db.beginTransaction();
    // 既にデータがあるので、書き換える
    ContentValues content = new ContentValues();
    content.put(Column.PASSWORD.toString(), password);
    int numUpdate = db.update(TABLE, content, Column.NAME.toString() + " = ?", 
                    new String[]{ name });
    // ここでdb.insert()なども
    db.setTransactionSuccessful();
} finally {
    db.endTransaction();
}

Intentにまたがって、常に使う変数など

  • Intentにパラメータとして渡す
  • SQLiteに登録して毎回読み込む
  • Applicationクラスを継承したクラスを作って登録して呼び出す
の3つの方法があります。
Intentにパラメータ
Applicationクラス:参考

HTTP通信

java.net.HttpURLConnectionなどを利用して、通信することもできますし、
非同期でAsyncTaskを使って通信する方法もあるらしいです。
参考

初回のみ表示

初回起動時のみ、ログインしたり使い方を表示したり、
よくandroidアプリにあります。
それをやるにはプリファレンスという機能を使うのがいいらしいです。
参考


ProgressDialogの正しい使い方?

|
添付ファイル