2015年05月29日

Androidアプリ開発初心者がはまりがちなこと

というか自分がはまったことのメモ

・#define文がない

javaにはCのプリプロセッサで便利な#define文がない

同じ定数があちこちに埋め込んであって、仮の値でやってみようとしたときなどこれが結構不便

そんなときは
public class Constants
{
public static final int MAX_NUM=15;
}
というクラスを作って
「Constants.MAX_NUM」って使うと便利

・SoundPoolの再生音量を着信音量のボリュームの設定に合わせたい

ググると
int ringVol = audio.getStreamVolume(AudioManager.STREAM_RING);
soundPool.play(sounds[0], (float)ringVol, (float)ringVol, 0, 0, 1.0F);
というサンプルが出てくるけどこれは間違い
soundPool.playの引数の音量はfloatで0.0-1.0の間
audio.getStreamVolumeはintで機種によって0〜7とか0〜15とかintが返ってくる
なので、
float ringvol = (float)audio.getStreamVolume(AudioManager.STREAM_RING) /(float)audio.getStreamMaxVolume(AudioManager.STREAM_RING);
soundPool_.play(soundid_hoge, ringvol, ringvol, 0, 0, 1.0F);
が正解

・R.javaで”エラー: がありません”というエラーが出る

R.javaの
public static final int 0=0x7f060000;
とかいう行でエラーしてる場合

これは”0.ogg”というファイルをリソースに追加したときに起きました
ファイル名は[a-z].でないとだめみたいです(ファイル名の拡張子以外の部分が変数名になるようで
0.jpgとか拡張子以外の部分が数字のファイルをresに追加するとエラーになります

・レイアウトのプレビュー画面が表示されない
MNCとなってる部分を"Android 4.0"等のPreview版以外に設定する。
ラベル:アプリ製作
posted by one-hand-engineer at 08:58| Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:


この記事へのトラックバック