Android Market にアップロードする際の注意点
- 日本語版IE7でDescription に改行を入力すると、Publish、Save ボタンが機能しなくなる。(2008年11月8日現在)
他のブラウザ(Chrome)なら問題なし。
(報告はしたので、そのうちに対応してくれるかも)
- 呼ばれないメソッドでも、ダウンロードの際にチェックされるようで、その中に変なコードがあると、ダウンロードが出来ない。
エミュレーターではエラーにならないので、実機でないと分からない。
動作しない不要なコードは削除したほうが良い。
sdk m5 → β で修正が必要な部分
AndroidManifest.xml
<uses-permission android:name="android.permission.INTERNET" />
<uses-library android:name="com.google.android.maps"/> ←applicationタグの中に入れる
com.google.android.maps.Point |
→ com.google.android.maps.GeoPoint |
Point |
→ GeoPoint |
zoomTo |
→ setZoom |
isRouteDisplayed()をOverrideする |
AndroidManifest.xml
<uses-permission android:name="android.permission.ACCESS_LOCATION"/>
↓
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
menu.add(0, 1, "表示する内容") |
→ menu.add(0, 1, Menu.NONE, "表示する内容"); |
onMenuItemSelected(int featureId, Item item) |
→ onMenuItemSelected(int featureId, MenuItem item) |
getId |
→ getItemId |
AlertDialog.show(this, タイトル, 任意の整数, 本文, ボタン1の表示, false);
↓
ab = new AlertDialog.Builder(this);
ad = ab.create();
ad.setButton("ボタン1の表示", this);
ad.setButton2("ボタン2の表示", this); ←表示しない場合は不要
ad.setTitle("タイトル");
ad.setMessage("メッセージ");
ad.show();
import android.database.sqlite.SQLiteOpenHelper|>|
first |
→ moveToFirst |
count |
→ getCount |
以下openまでの例
private SQLiteDatabase db;
private static final int DATABASE_VERSION = 2;
private static final String DATABASE_NAME = "データベースのファイル名";
private DatabaseHelper mDbHelper;
mDbHelper = new DatabaseHelper(this);
db = mDbHelper.getWritableDatabase();
private static class DatabaseHelper extends SQLiteOpenHelper {
DatabaseHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("テーブル作成のSQL文");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("DROP TABLE IF EXISTS notes");
onCreate(db);
}
}
- BroadcastReceiverとServiceの違い
|
起動元のプログラムを終了した場合 |
Context |
BroadcastReceiver |
起動しない(m5のIntentReceiverでは起動した) |
継承していない |
Service |
起動する |
継承している |
Proxy(プロキシ)の設定方法
プロキシ経由でしかインターネットに接続できない環境では、Android上の通信機能が使えません。
ブラウザを開いて検索しても"Network Error 32"とエラーが出てしまいます。
プロキシ経由で通信するためには以下のように設定します。
- emulator.exeを起動し、待ち受け画面が出るまで待つ
- emulator.exeがある場所でプロンプトを開く
- "adb shell"と打ってEnter
- "#"が表示されたら、"setprop net.gprs.http-proxy http://hoge:8080"と打つ。
※「hoge」はプロキシーのアドレス、8080はプロキシのポート番号に置き換えてください。
プロキシ認証にも対応しているようです。
しかし、GoogleMapsアプリはプロキシ経由では使用できないようです。
(プロキシ設定しても、DNSサーバーを見に行ってしまう。)
こんな情報もあります。こっちはGoogleMapsもいけるのかな??
エミュレータのスキンを変える方法
emulator -skin HVGA-L
emulator -skin HVGA-P
emulator -skin QVGA-L
emulator -skin QVGA-P
ユーザーデータの場所
デフォルトでは、
Linux or Mac OSX |
~/.android/userdata.img |
Windows |
C:\Documents and Settings\ユーザー名\Local Settings\Application Data\Android\userdata.img |
にあります。
自作
アプリケーションのアンインストール方法が見当たらない
ようなのでこのイメージファイルを消したり、リネームすることで初期状態に戻すことが出来ます。あるいはwipe-dataオプションを付けてエミュレータを起動すると、エミュレータを初期化できます。
localhostに接続する
エミュレータ上のアプリからエミュレータと同じPC上のサーバーと通信する場合、127.0.0.1やlocalhostでは接続できないので、PCのIPアドレスを調べて、それを使うことで接続できます。
ネタ元:Androidでlocalhostに接続
WebカメラをAndroid上で使う方法
sdk m3-rc37a → m5-rc14 で修正が必要な部分
activity class |
→ activity android:name |
action android:value |
→ action android:name |
category android:value |
→ category android:name |
<uses-permission android:name="android.permission.ACCESS_LOCATION"/> |
<uses-permission android:name="android.permission.ACCESS_GPS"/> |
- xmlファイル(画面のレイアウトを設定している場合)
ダイアログ表示
AlertDialog.show(this, タイトル, 本文, ボタン1の表示, this, false, null);
↓
AlertDialog.show(this, タイトル, 任意の整数, 本文, ボタン1の表示, false);
データベース
query(sql, null) |
→ rawQuery(sql, null) |
各UI
デカイ!
面積で4倍になった感じ。
レイアウトの基本設計から修正が必要になるかも。
ContentUri
↓
Uri
m3-rc37aまで |
m5-rc14 |
new ContentURI(String) |
Uri.parse(String) |
ContentURI.create(String) |
Uri.parse(String) |
ContentUri.countPathSegments() |
Uri.getPathSegments().size() |
ContentUri.getPathSegment() |
Uri.getPathSegments().get() or Uri.getLastPathSegment() |
ContentURI.addPath() |
Uri.Builder.appendPath() |
ContentURI.addId(id) |
uri = Uri.withAppendedPath(SOME_URI, id); or uri = ContentUris.appendId(uri.buildUpon(), id).build(); |
他にあれば、追記をお願いします。
最終更新:2008年11月08日 14:29