タグ

ブックマーク / y-anz-m.blogspot.com (7)

  • Android Bitmap をキャッシュする

    Caching Bitmaps に補足をつけて解説しています。 前回のバックグラウンドで Bitmap を処理するで、最後に(でもキャッシュは、、、?)と書きました。 そう!キャッシュ!キャッシュ大事。 前回までの段階でもまだ ListView で使うには問題が残っています。 既にタスクが走り終わって ImageView に画像がセットされている行をいったんスクロールアウトし、再度スクロールして画面に表示すると、またタスクが走ってしまいます。 スクロールするたびに読み込み状態になるのはユーザーとしてはうれしくないですよね。 そこでキャッシュを使って、一旦読み込んだ画像が再度必要になったときに利用できるようにします。 キャッシュとしてはメモリキャッシュとディスクキャッシュを利用することができます。 ■ メモリキャッシュ メモリキャッシュの利点は読み込みが速いこと、欠点はメモリを消費することで

    ru_426
    ru_426 2014/01/24
  • Android 複雑な文字列を xml で定義する

    Android では、文字列を res/values/strings.xml の中に定義します。 *別に strings.xml という名前である必要はありません。stringsForScreen1.xml など任意のファイル名が使えます。 例えば、eclipse で Android プロジェクトを作成した場合、 デフォルトで作られる strings.xml は次のようになっています。 <?xml version="1.0" encoding="utf-8"?> <resources> <string name="hello">Hello World, MainActivity!</string> <string name="app_name">HelloWorld</string> </resources> この文字列にアクセスするには、例えば、 <TextView android:id

    ru_426
    ru_426 2013/06/02
  • Android ColorFilter を使う

    Android フレームワークの Menu アイコンなど、用意されている画像の色だけを変えたい場合、ColorFilter が便利です。 ColorFilter を継承したクラスとして、ColorMatrixColorFilter, LightingColorFilter, PorterDuffColorFilter が用意されています。 ここでは、PorterDuffColorFilter を使ってみます。 ■ ImageView で ColorFilter を使う ImageView には、ColorFilter を設定するためのメソッドが用意されています。 ・public final void setColorFilter (int color) (Since: API Level 8) 引数で指定された color で SRC_ATOP blending mode の Porter

    Android ColorFilter を使う
    ru_426
    ru_426 2013/04/11
  • Android ビルドバージョンで処理を分岐する

    Build.VERSION クラスで端末のビルドバージョンを取得することができます。 Build.VERSION.SDK_INT には、フレームワークの SDK バージョンが数値ではいっています。この数値は Build.VERSION_CODES で定数として定義されているので、比較することで任意のビルドバージョンで処理をわけることができます。 if(Build.VERSION.SDK_INT == Build.VERSION_CODES.GINGERBREAD_MR1) { // 2.3.3 向けの処理 } else { // 2.3.3 以外向けの処理 } if(Integer.parseInt(Build.VERSION.SDK) == Build.VERSION_CODES.CUPCAKE) { // for 1.5 } else { switch(Build.VERSION.SD

    ru_426
    ru_426 2012/11/29
  • Android WebView で https のサイトにアクセスして白画面になるのを避ける方法

    追記: 指摘が多かったので書いておきます。勝手にSSLの証明書検証をスキップするアプリはセキュリティホールのあるアプリとして扱われるので注意してください。 標準のブラウザのようにダイアログを出したり、アプリでアクセスを許可しているドメインかどうかチェックしたりするべきでしょう。 あと、この方法を格別オススメしているわけではありません。あくまで対処法です。あしからず。 WebView で https で提供されている URL のサイトにアクセスしようとしたとき、証明書がオレオレ証明書だったり、Android にデフォルトで入っている信頼済証明書機関(trusted certificate authorities)に入っていない場合 SSL のエラーが発生し、処理がキャンセルされ white screen / empty screen (つまり真っ白画面)になります。 例えば、いくつかの CA

    Android WebView で https のサイトにアクセスして白画面になるのを避ける方法
    ru_426
    ru_426 2012/11/09
  • Android AppWidget

    ベースとなる package は android.app.widget です。 app widget とは、ホームスクリーンのような別のアプリに埋め込むことができるミニチュアアプリのようなもので、新しい Activity を起動せずにアプリケーションのデータやサービスに簡単にすばやくアクセスすることができます。 詳しくは App Widget developer guide を参照すること。 どんなアプリケーションでも app widget provider として app widget を発行できます。app widget を発行するためにアプリケーションが行うことは ACTION_APPWIDGET_UPDATE intent を受け取る BroadcastReceiver と app widget についての metadata を提供することだけです。Android では、Broad

  • Android Fragment で setArguments() してるサンプルが多いのはなぜ?

    Fragment のサンプルでは、setArguments() を使って Bundle を介して値を渡している例を多く見かけます。 ① HogeFragment f = new HogeFragment(); Bundle args = new Bundle(); args.putInt("num", num); f.setArguments(args); とやるより ② HogeFragment f = new HogeFragment(num); や ③ HogeFragment f = new HogeFragment(); f.setNum(num); とかやった方がいいんじゃない? Arguments 介するのは面倒じゃない?なにがいいの? と思う人も多いのではないでしょうか。 そこで、Arguments がどういいのかを説明したいと思います。 1. Fragment のコンスト

    ru_426
    ru_426 2012/08/23
  • 1