将棋の調べ  鉄道の調べ  Lisp の調べ  タートルマニアックス  Japanino の調べ  旅先料理の調べ  ビールコレクション

Android端末 Android の調べ - FAQ

Android プログラミング FAQ (オブソリート)

開発環境のインストール

  1. Android 開発環境を構築するには?
    Android SDK と JavaJDK, Eclipse をインストールします。
    以下のサイトが詳しいです。 逆引きAndroid入門
  2. プロキシ認証があって開発環境がインストールできないのですが
    Android SDK の設定で https を止めて、http にします。
    Android SDK ではプロキシ認証ができませんので Eclipse 経由で SDK のダウンロードを行います。

エミュレータの操作

  1. エミュレータでプログラムが実行できないのですが
    たぶん遅いだけかもしれません。じっくりと待ってください。
    プログラムの実行は最初の画面(鍵を外す画面)でドラッグして鍵を外し、 そこで下部をクリックすると対象のプログラムが現れるはずですが、 非力な PC であると実行に時間が掛る場合があります。
  2. 画面を横置きにするには?
    Control-F11 で横置きになります。縦置きは Control-F12 です。

Android プログラミング(全体)

  1. Android のプログラミングは難しいのですか?
    基本的には通常の Java プログラムと変わりません。
    もし JavaME でプログラミングした経験があるなら、より近いプログラミングになります。
  2. ゲームはどのように作ればいいのですか?
    画面を細かく制御するようなプログラムであれば、Canvas を使うと良いでしょう。 どうしてもマルチスレッドで作る必要が出てくるでしょう。 Android 端末は非力なものが多いので、JavaSE と比較して、シビアな作りになります。
    もし JavaME/MIDP などで携帯電話で動作する Java プログラムを作ったことがあるのであれば、それよりは緩く作れます。

Android プログラミング(個別)

  1. 画像を画面に貼り付けるには?
    canvas.drawBitmap(bitmap, left, top, paint)
    でキャンバスに貼り付けます。
    bitmap はリソース経由とファイル経由で取ってきます。
    bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.リソース名);
    詳しくは下記のプログラムを参照してください。
  2. キータッチイベントはどのように取ればいいのですか?
    onTouchEvent(MotionEvent event)を定義してイベントを制御します。 event.getX() と event.getY() で座標が取れます。
    詳しくは下記のプログラムを参照してください。
  3. 画面の再描画はどうすればいいのですか?
    ゲームのようなときは別スレッドで SurfaceHolder.Callback の中で、 surfaceholder.unlockCanvasAndPost(canvas)をするのがいいでしょう。
    詳しくは下記のプログラムを参照してください。
  4. 画面の回転禁止
    Androidは画面を傾けると自動的に横向きや縦向きになります。
    これを禁止して、縦固定や横固定にするときは AndroidManifest.xml の activity に下記を追加します。

    縦固定
    android:screenOrientation="portrait"
    横固定
    android:screenOrientation="landscape"

    AndroidManifest.xml の Activity に入れる
    <application android:icon="@drawable/icon" android:label="@string/app_name" android:debuggable="false">
       <activity android:name=".AndroidAnimalShogiActivity"
           android:label="@string/app_name"
           android:screenOrientation="portrait">
    
  5. ウィジェットでの画面表示
    ウィジェットで画面表示が全くされない、またはレイアウトリソース main.xml で指定したものしか表示されない。

    ウィジェットは、直接ビューで表示するのでなく、リモートビューで間接的に表示します。 このため画面表示の個所で間違えても直接的なメッセージが出ませんので注意が必要です。
    パッケージ名やクラス名が間違っていないかをチェックしてください。

Android マーケット

  1. Android マーケットでアップロードするとエラーになります
    (1) 電子署名はしていますか?
    Eclipseであれば、Android Tools -> Export Signed Application Package で行います
    (2) Webブラウザは IE とは相性が悪いので Google Chrome にします
    (3) 同じパッケージ名は使えません。リネームしてください。
    (4) デバッグモードでなく、リリースモードにする。
    AndroidManifest.xml android:debuggable="false" にする

戻る

Copyright © 2011-2012 GOMI Hiroshi All Rights Reserved