2013-01-01から1年間の記事一覧

テーブル名の一覧とテーブル定義を表示するコマンド

たまにしか使わないと忘れるのでメモ。 コマンド 説明 .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コマンドを実行する (Windows)

バッチファイルをつくっておくと便利。 SQLコマンドはダブルクォーテーションで囲む。SQLコマンド内の文字列はシングルクォーテーションで囲む。 adb shell sqlite3 <dbファイル> "SQLコマンド" ex. 未読の不在着信を表示 adb shell sqlite3 /data/data/co…

ViewPagerのキャッシュする画面数を変更する

ViewPagerの生成時に複数のページを生成してキャッシュしておきたい。 解決 // 2ページ生成 mViewPager.setOffScreenPageLimit(2); 説明 一般的に OffScreen とは、生成されていて描画されていない画面のことを指すが、ViewPager では生成されていないページ…

ViewPagerのイベントをハンドルする(アニメーション)

検証 ViewPager.PageTransformer を継承したコードを書いて、動作を検証する。 mViewPager.setPageTransformer(false, new ViewPagerTransformer()); private class ViewPagerTransformer implements ViewPager.PageTransformer { private static final Stri…

ViewPagerのイベントをハンドルする(ページ移動)

検証 ViewPager.SimpleOnPageChangeListener を継承したコードを書いて、動作を検証する。 mViewPager.setOnPageChangeListener( new MyOnPageChangeListener()); private class MyOnPageChangeListener extends ViewPager.SimpleOnPageChangeListener { pri…

LongSparseArray

たとえば、特定の機能を高速化するために、あるテーブルのクエリ結果をキャッシュしたいとする。 無為にクエリ結果をキャッシュするのは避けるべき。 キャッシュすると、データベースのACID特性が損なわれ、ヒープを大量に消費する。 こういうとき、HashMap…

Activity#runOnUiThread(Runnable)のススメ

たとえば、非同期処理からUIスレッドに描画したくて、こんなコードを書いたとする。 private mHandler = new Handler(); private void sayHello() { mHandler.post(new Runnable() { @Override public void run() { Toast.makeText(this, "Hello?", Toast.LE…