Quantcast
Channel: Y.A.M の 雑記帳
Browsing all 415 articles
Browse latest View live

AppCompat v7 で tint 処理しているクラスとか

メモ...

View Article


GAE/Go の GuestBook チュートリアルの Greeting データをダウンロードする

1. Remote API を有効にするhttps://cloud.google.com/appengine/docs/go/tools/remoteapi2. bulkloader.yaml のひな形を作る$ appcfg.py create_bulkloader_config --filename=bulkloader.yaml...

View Article


Material Design Color メモ

Componentsalphacolorcolor resourcetext87%#000000#de000000subheader54%#000000 or primary color#8a000000hint50%#000000#80000000divider12%#000000#1f000000EditText statealphacolorcolor...

View Article

Image may be NSFW.
Clik here to view.

DroidCon Montreal に行ってきました。

DriodCon Japan 開催をもくろむ mhidaka と共に視察(半分観光)として DroidCon Montreal に行ってきました。 DroidCon Montrealカナダで最初のDroidConということで、Welcome talk では Toronto じゃなくて Montreal...

View Article

全画面の Toast を表示する

Gravity の FILL_HORIZONTALと FILL_GRAVITYを指定します。 private void showFullscreenToast(Context context, String message) { TextView tv = new TextView(context); tv.setText(message);...

View Article


カスタムDrawableで複雑なプログレスを作る

ProgressBar の indeterminate にカスタムDrawableを指定すると、draw() と onLevelChange() が呼ばれ続けます。 final CustomDrawable customDrawable = new CustomDrawable(); ProgressBar progressBar = (ProgressBar)...

View Article

未選択状態を持つデータをどう表現するか悩んだ話

*追記1:enum の場合について最後に追記しました。 *追記2:まずは int 型じゃねーよ、enumだろって vvakameさんに怒られたけど、もともとは、とあるプロジェクトでサーバーに意図しない値がきてるんだけど、、、みたいなことがあって、サーバーに渡す値を静的に制限するにはどうするのがいいのかな、というのが出発点だったのです。なんで最初が int かっつーと、そのときのコードが int...

View Article

未選択状態を持つデータをどう表現するか悩んだ話、その2 - SharedPreferences -

前回の続きです。 1. enum 版で SharedPreferencesSharedPreferences.Editorには残念ながら putSerializable() 的なものがありません。そのため、putInt() なりを使わざるを得ません。 enum 版では・enum から int に変換して SharedPreferences に保存・SharedPreferences から取得した...

View Article


状態の変更をバックグラウンドのActivityに伝える方法はどれがいいんだろう?

Activity A - リストを持つ、リストの項目には favorite ボタンがある - リストの項目をタップすると Activity B に遷移する Activity B - favorite ボタンがある このとき、Activity B で favorite ボタンの状態が変わったことを Activity A に伝えて Activity A の見た目を変えたい Activity A...

View Article


SharedPrefenreces の値変更 + RxAndroid で状態の変更をバックグラウンドのActivityに伝える

前回のエントリ「状態の変更をバックグラウンドのActivityに伝える方法はどれがいいんだろう?」の 3) を RxAndroid を使って実装してみました。 onStart() で値をチェックするのではなく、SharedPreferences の値が true になったイベントと起動時の処理を同じストリームになるようにしてみました。 public class MainActivity...

View Article

ScrimInsetsFrameLayout を使うときは android:background を指定する

Android Design Support Library で NavigationViewが用意されましたね。ただ、すぐには移行できなかったり、NavigationView では今のものを置き換えられれない場合などもあるでしょう。 そうは言っても StatusBar 部分の処理だけでも取り込みたい、という場合 ScrimInsetsFrameLayout で包むという方法が使えます。 参考:...

View Article

Image may be NSFW.
Clik here to view.

android.support.annotation を活用する

利用するには dependencies に追加します。 dependencies { compile "com.android.support:support-annotations:22.0.2" } 参考 Improving Code Inspection with AnnotationsAnnotations in Android...

View Article

Image may be NSFW.
Clik here to view.

AppCompat を継承したテーマで EditText のデフォルトスタイルを上書きするときは android:editTextStyle ではなく...

注意: appcompat-v7:22.2.0 での話です。将来 fix される可能性もあります。 AppCompat を継承したテーマで EditText のデフォルトスタイルを上書きしようとして android:editTextStyle を使うと、5系以降しか適用されないという落とし穴があります。 結論android: をつけずに editTextStyle...

View Article


Android JUnit 4 形式のテストにする

InstrumentationTestRunnerは JUnit 3 しかサポートしていませんが、Android Testing Support Libraryに含まれる AndroidJUnitRunnerを使うと JUnit 4-compatible なテストを実行することができます。(JUnit 3 と JUnit 4.10 までの JUnit 4 互換) Android 2.2 (API...

View Article

FragmentArgs 使ってみた

FragmentArgs Fragment 生成時に値を渡すには、引数付きのコンストラクタを用意するのではなく、Fragment.setArguments()で値を渡すのがベストプラクティスです。 FragmentArgs はアノテーションを付けたフィールドからFragmentのビルダークラスを生成してくれるライブラリです。 以下の内容は2015年9月7日時点の状態をもとにしています。設定...

View Article


Google App Engine / Go で Google Cloud Storage に画像をアップロードする

How to upload image to Google Cloud Storage with Google App Engine / Go. この情報は2015年9月9日時点のものです。appengine.Context, context.Context 問題は過渡期のようなので今後インタフェースが変わる可能性があります。File API...

View Article

ライブラリで指定された AndroidManifest の属性を置き換える

利用しているライブラリで android:allowBackup="true"が指定されているときに、自分のアプリで android:allowBackup="false"を指定するとマニフェストのマージに失敗してビルドエラーになります。 > Manifest merger failed : Attribute application@allowBackup value=(false)...

View Article


minSdkVersion が自分のアプリより大きいライブラリを利用する

自分のアプリの minSdkVersion が 10 のときに、minSdkVersion が 14 のライブラリを利用しようとすると、以下のようなエラーがでてビルドに失敗します。 > Manifest merger failed : uses-sdk:minSdkVersion 10 cannot be smaller than version 14 declared in library...

View Article

Butter Knife のフィールドやメソッドが Lint に Unused declaration と言われないようにする方法

以下のように apt のプラグインを追加します。このプラグインを追加すると、gradle のソースフォルダとして認識される場所に Butter Knife で生成されるコードが格納されます。そのため、Butter Knife で生成されたクラスも Lint から見えるようになり、Lint が怒らなくなります。やったー。 ルートプロジェクトの build.gradle buildscript {...

View Article

AndroidJUnitRunner で Toast や PopupWindow を表示するには

Toast、Dialog、PopupWindow など別の Window を使う操作をテストメソッド内で行うと、Handler が作れないと言われてエラーになります (PopupWindow を内包したユーティリティクラスのテストで困りました)。 例えば以下のテストを実行すると、Toast 部分で java.lang.RuntimeException: Can't create handler...

View Article
Browsing all 415 articles
Browse latest View live