Android
「Lollipop のステータスバーを引っ張り出した時に、ステータスバーのアイコンが動いたり、設定アイコンがくるくるってなるけど、どうやってるの?」心の声「知らんがな(´・ω・`)ggry」ggっても出てこなかった。確かに、どうやっているんだろう。 調…
AndroidのTestCaseのassetsを使いたい。 解決 AndroidTestCaseを継承するテストケースの場合 リフレクションを使ってテストケースのContextを参照する。参考記事 http://ikkandou.blogspot.jp/2011/08/androidtestcase.html InstrumentationTestCaseを継承す…
Android WebView は Android のバージョンごとにブラウザエンジンが異なる。 Android 4.1~4.3(JellyBean)まで: WebKit Android 4.4(KitKat)から: Chromium ※Chromium のレンダリングエンジンは Blink であり、Blink は WebKit をベースとしている。さら…
ファイル名の末尾に「_年-月-日_時-分-秒」を付けている。お好みに合わせて。 logcat.bat ログを取得するバッチ。 @echo off set time2=%time: =0% set time3=%date:~-10,4%-%date:~-5,2%-%date:~-2,2%_%time2:~0,2%-%time2:~3,2%-%time2:~6,2% @echo on adb…
窓の外は息が凍るほど寒く、開発室はPCとサーバーの熱気で汗ばむほど暑かった。私の住む日本の北にある街から遠く離れた海外の会社からソースが送られてきた。慣れた手つきで早速ソースを解凍してビルドし、手元に並ぶスマートフォンのひとつにインストール…
たとえば、アクションバーのタブの高さを設定したくて、こんなコードを書いたとする。 <style name="Theme.MyTheme" parent="android:style/Theme.Holo.Light"> <item name="android:actionBarTabStyle">@style/MyActionBarTabStyle</item> <item name="android:actionBarSize">100dp</item> </style>
たまにしか使わないと忘れるのでメモ。 コマンド 説明 .tables テーブル名の一覧を表示する .schema <テーブル名> テーブル定義を表示する .exit sqlite3を終了する sqlite3 コマンドにより db ファイルを開く。 root@generic:/ # sqlite3 /data/data/com.an…
シェルからpmコマンドを実行する。 adb shell pm list packages 実行結果 C:\>adb shell pm list packages -f package:/system/app/SoundRecorder.apk=com.android.soundrecorder package:/system/app/SdkSetup.apk=com.android.sdksetup package:/system/pr…
ソースは手元にあるが設計書が手元にない、なんてことはよくある話。 私の尊敬する某プログラマが「コードとは設計である」という発言をしていて、 然なりと思うのだけれど、設計に足りうるコードになっていればの話。 それでも設計書がなくてもアクティビテ…
バッチファイルをつくっておくと便利。 SQLコマンドはダブルクォーテーションで囲む。SQLコマンド内の文字列はシングルクォーテーションで囲む。 adb shell sqlite3 <dbファイル> "SQLコマンド" ex. 未読の不在着信を表示 adb shell sqlite3 /data/data/co…
ViewPagerの生成時に複数のページを生成してキャッシュしておきたい。 解決 // 2ページ生成 mViewPager.setOffScreenPageLimit(2); 説明 一般的に OffScreen とは、生成されていて描画されていない画面のことを指すが、ViewPager では生成されていないページ…
検証 ViewPager.PageTransformer を継承したコードを書いて、動作を検証する。 mViewPager.setPageTransformer(false, new ViewPagerTransformer()); private class ViewPagerTransformer implements ViewPager.PageTransformer { private static final Stri…
検証 ViewPager.SimpleOnPageChangeListener を継承したコードを書いて、動作を検証する。 mViewPager.setOnPageChangeListener( new MyOnPageChangeListener()); private class MyOnPageChangeListener extends ViewPager.SimpleOnPageChangeListener { pri…
たとえば、特定の機能を高速化するために、あるテーブルのクエリ結果をキャッシュしたいとする。 無為にクエリ結果をキャッシュするのは避けるべき。 キャッシュすると、データベースのACID特性が損なわれ、ヒープを大量に消費する。 こういうとき、HashMap…
たとえば、非同期処理からUIスレッドに描画したくて、こんなコードを書いたとする。 private mHandler = new Handler(); private void sayHello() { mHandler.post(new Runnable() { @Override public void run() { Toast.makeText(this, "Hello?", Toast.LE…
起動時に assets の tessdata.zip を展開する。■展開元 tessdata.zip■展開先 /data/data/com.example.android.tesseract/fileszipファイルをそのまま展開するので、 tessdata.zip tessdata eng.traineddata という構成になっていること。 MainActivity.java …
たとえば、こんなコードを書いたとする。 「Handlerはstaticにしないとリークするよ!」と注意される。 This Handler class should be static or leaks might occur 解決 (a) static内部クラスにする 単純にstatic内部クラスに置き換えることができるのなら…
Ubuntu に git をインストールし、Androidソースを取得したい。 Ubuntu に git と curl をインストール $ sudo apt-get install git-core curl Androidソースを取得(同期) 公式の手順に従って、Androidソースを取得。2時間半以上。http://source.android.com…