Android
わかったこと、音声読上げ編音声読み上げ機能のON/OFF 設定→音声読み上げ→音声読上げ設定→動作でオン・オフを選択する。開発者が任意のタイミングで任意の文字列を読み上げる 富士通の「音声読み上げ実装ガイドライン.pdf」のp.41に記載されている方法で可能…
日本Androidの会 福祉部に参加していたらF-09Eを借りられる機会を得ましたので諸々メモします。らくらくスマートフォン プレミアム (F-09E) はこれまでのらくらくスマホとは違い、Google Playからアプリをダウンロードして使えることが特徴の一つです。 その…
このAPKってどの署名をつけたっけ?ってときに確認する手段です。 jarsigner -verify -verbose -certs my_application.apk 参考URL http://www.taosoftware.co.jp/blog/2008/11/android_2_1.html
とある開発中のアプリを解像度縦横それぞれ1.5倍の端末にそのまま突っ込んでみたら、OutOfMemoryErrorが出ました。 解像度的には増えているのでcreateBitmapしてる部分が単純に2.25倍になるわけなので、最初しょうがないかなとも思いましたが、以前動かして…
以下のコマンドで確認できる状態になるようです。 ただし、元のXMLの形では無いようです。 aapt dump xmltree hoge.apk AndroidManifest.xml > foo.txt 参照URL http://yuki312.blogspot.jp/2011/10/apk.html
adb shell dumpsys meminfo パッケージ名 このように表示されます。 これを、例えばアプリの画面が切り替わる前後でそれぞれ取得すると、そのメモリ使用量の差分がわかったりするので、大量にメモリを消費しているシーケンスをある程度特定できたりします。 …
通常は単選択(Single)モードで、ユーザのメニュー選択により複数選択(Multiple)モードに切り替わるようなListViewを作成する。まず使えそうだったのが、 API LEVEL 11から追加されたListView.CHOICE_MODE_MULTIPLE_MODALでsetChoiceModeを使って設定する。 l…
Android Developer Consoleで日本語にならない件。 ある日から突然英語になってしまったので、どうしちゃったのかな?ということでしばらく放置していたのですが、調べました。 いや別に日本語でないとわかりまへんというわけじゃないんですよ?一応言い訳を…
Androidアプリを公開したものの、signedなapkをつくったときに適当なkeystoreのパスワードを設定してしまったけど、だんだんDL数も上がってきて、もうちょっとちゃんとしようかなと思った時にどうぞ。 ちなみにkeystore自体はAndroidに限るものではありませ…
過去のメモから引っ張りだしてきた第3弾 コールログを取得する方法 Query作ってDBアクセスする。Xperia X10の頃の情報なので今ならもっと便利なAPIあるかも? // Prepare select data columns String projection = new String { BaseColumns._ID, CallLog.Ca…
過去のメモから引っ張りだしてきた第2弾 もうお別れしている人が殆どかもしれませんが、私はまだ使っています。IMoNi。チェック機能を動作させるブロードキャスト net.grandnature.android.imodenotifier.ACTION_CHECK メール受信件数を受け取るブロードキャ…
過去のメモから引っ張りだしてきた第1弾 private Camera openFrontFacingCameraGingerbread() { int cameraCount = 0; Camera cam = null; Camera.CameraInfo cameraInfo = new Camera.CameraInfo(); cameraCount = Camera.getNumberOfCameras(); for ( int …
String currentIME = Settings.Secure.getString(getApplicationContext().getContentResolver(), Settings.Secure.DEFAULT_INPUT_METHOD); Settings.SecureにアクセスするけどReadだけならPermissionは要らないようです。 取れる値は、InputMethodInfo.getI…
点線を描画するサンプル。drawLine()以外の描画処理でも使えるようです。 初期化処理{ Paint mDotPaint = new Paint(); mDotPaint.setPathEffect(new DashPathEffect(new float[]{ 5.0f, 5.0f }, 0)); // 5pixel描いたら5pixel描かないを繰り返す mDotPaint.…
AndroidManifest.xmlのtargetSdkVersionを11〜13にしている場合に起きるようです。 10以下ならそもそもアイコンは出てきません。以下の解説を参照URLで見つけました。API level 11〜13 (Android 3.x)では、アプリケーションアイコンは常にクリック可能になっ…
HorizontalScrollViewをICSで使っていてfadingEdgeを使用していたのですが、いつの間にか無効になっていたのでなぜかと思って調べてみた。どうやらAndroidManifest.xmlのtargetSdkVersionをあるタイミングから14に変えたせいであることが判明。参照URLによる…
例えばタブレット端末等はシステム全体としてはmdpiがデフォルトですが、スマホ用のアプリはhdpi前提にしか作られてなかったりするので、タブレットのビルド環境でスマホ用のアプリをビルドすると画像がおかしくなったりします。 そのような場合でも以下のよ…
といってもシチュエーションは限定的であんまり同じ状況に遭遇することは多くないと思うが、setCompoundDrawables()やsetCompoundDrawablesWithIntrinsicBounds()を連続して呼び出している場合に注意。上記メソッドはソースコードを見ればわかるが、内部でin…
入力時にステータスバーに登場するキーボードのアイコンを使おうとして、どこにあるかを探し た結果を記しておきます。 ※この画像はアプリからは取得できる場所にはありませんでした。 $(WORKING_DIR)/frameworks/base/packages/SystemUI/res/drawable/ic_sy…
adb logcat -b system もしかしたらビルドするときにengを付けないとダメかも知れない。参考URL http://stackoverflow.com/questions/6278406/how-to-watch-logs-from-slog
自分がIME(InputMethodServiceを継承したクラス)であればswitchInputMethod()を使用することで実現可能。ただし切り替えたい相手のIMEのパッケージ名を知っている必要があります。 class TestIME extends InputMethodService { public void changeIME(){ Inp…
カメラが二台以上ある場合、複数カメラのPreview画面を同一Activity上で表示できるのか?と疑問に思ったので試してみた。 結果はCamera.open(int id)を呼び出したらCamera.release()をするまで次のCamera.open(int id)はできない(Exceptionが発生)。 なので…
DDMSでnativeのallocateされたサイズと回数を見ることができます。 freeが行われると、回数カウントはちゃんとデクリメントされるようなので、ある操作をし続けてカウントがどんどん増えていく奴がリークの可能性大ということですね。まず、ターゲット端末の…
export USE_CCACHE=1 メモリが沢山ある場合は設定を変更する $ prebuilt/linux-x86/ccache/ccache -M 10G ついでにビルド時間を計るといいですね。 time make -j2 2>&1 | tee makelog.txt 実際に効いているかどうかをチェック $ prebuilt/linux-x86/ccache/c…
Eclipseでネイティブライブラリをapkに組み込んで使うにはlibs/armeabiに置いておけば自動的に組み込んでくれるが、Android Source Code Build環境ではそうはいかないのでどうしたらいいのか調べてみた。例えばlibs/armeabi/libtest.soをapkに入れたい場合An…
リソース定義のXMLでURLの&で怒られたり怒られなかったりとか"can't"の'が表示されたりされなかったりということの整理NGパターン(Eclipseビルド時に怒られる) <string-array name="url_data_list"> <item>http://test.com/test.cgi?param1=1¶m2=0</item> </string-array>OKパターン <string-array name="url_data_list"> <item>http://test.com/test.cgi?param1=</item></string-array>…
こうやるんですね。参考になりました。 public void test() { try { Process p = Runtime.getRuntime().exec("su"); DataOutputStream dos = new DataOutputStream(p.getOutputStream()); dos.writeBytes("input keyevent 20\n"); // 押す dos.writeBytes("e…
例えば、libtest.soをロードしたい時、 System.loadLibrary("test"); とするのが一般的だが、もし/system/libと/data/data/(パッケージ名)/libとの両方に同じ名前のlibtest.soが存在したとき、/system/libが優先になり(機種依存?)、本来パッケージ内のlib…
タイトル通りやろうとして、試しに android:layout_width="50%"とか、"half"とかやってみたがやはりダメ。ちゃんと調べてみたら、こんなやり方が。 layout_widthは0にしてlayout_weightを使うんですね。すると以下のようにすると… このようになる。参照 http…
カメラアプリを起動して撮影した画像の保存先を、こちらから指定したファイルにする場合、以下が一般的だが、Xperia2.1版などのカメラアプリは指定したファイルには書き込まれず、通用しないものがある。 public static final int REQUEST_CAMERA = 1; File …