woshidan's blog

そんなことよりコードにダイブ。

Android

FragmentでToolbarのMenuを使う

とある事情によりFragmentからToolbarのMenuを使いたくなりました。 Fragmentを使ってMenuを動的に作成する « Tech Booster Android。フラグメントでアクションバーを使う。 - そごうソフトウェア研究所 上記の記事を参考にして試してみたのですが、現在では…

Realmのインスタンスを取得する前にmigrationを常に行うかどうか判定させたい

RealmはAPIが動作が軽量でシンプルで気軽に使えるといわれるAndroid用のDBの一種ですが、 まだまだMigration周りはめんどくさいようです。 Realmを使用したアプリの場合、一度インストールされたアプリ内のスキーマを変更するにはMigrationが必要になりまし…

AndroidのIntentFilterのdata要素のpathPatternの挙動について

http://developer.android.com/intl/ja/guide/topics/manifest/data-element.html data要素のURIでpathPatternの指定が出来るのですが、Patternと言いつつ、 そのパスが一致するか、*のワイルドカードを使ってその階層が入るか、くらいしか指定できず、 andr…

Androidで外部サーバからファイルをダウンロードする

通信周りでRetrofitを使っているとレスポンスがJSONばかりを想定していて、ファイルのダウンロードする場合はどうしたらいいのか、そもそも私はファイル入出力をまともに扱ったことがあったのかと、少し途方にくれてしまったのでメモ。 内容 処理の流れとク…

potatotips #26でKotlinを使っていて思っていたことについて発表してきました

potatotips #26でKotlinを使っていて思っていたことについて発表してきました。 connpass.com speakerdeck.com 発表内容について まず、自分はKotlinを選定していないし、Javaでの経験がしっかりあるわけでもないので、選定理由らしいものをそれらしく言うの…

BottomSheetを作るためのライブラリについてメモ

stackoverflow.com 現在、公式のサポートライブラリに無いマテリアルデザインのコンポーネントで、BottomSheetというものがあります。 下からすっと選択肢が出てくるシートですね。 DIalog用のActivityやFragmentをいじってごにょごにょとね...とか、時間が…

Android開発に入る前に知っておきたかったこといくつか

ぐぐっても出てき難かったし、聞くまでもないでしょ的なことなのか一通り書いてみるまで分からないことにすら気づけなくて後からひえーってなったことの覚え書き。 端っこの要素のmarginの扱いについて 時々古いAPIバージョンでダイアローグ等のレイアウトを…

AndroidのFacebook SDKでInvalid key hash

FacebookSDKを使ったアプリをリリースしたら下記のようなメッセージが出ました。 Invalid key hash. The key hash xxxxxxxxxxxxxxxxxxxxxx does not match any stored key hashes. Configure your app key hashes at http://developers.facebook.com/apps/ A…

PicassoでMediaStoreを通してローカルの画像を読み込むとサムネがおかしい

昨日のつらぽよを書き出しておきます。 コンテンツプロバイダでローカルの画像を取得してPicasso使ってギャラリーみたいなことやりたいなぁ、と思っていたら、なんとこのギャラリー、タップするたびに同じ位置に入る画像が変わるので困りました。 最初は、 s…

Android Internalsを読みました

techbooster.booth.pm こないだのコミケのテックブースターの本を3冊買っていたのですが、ようやく少し余裕が出てきたので一冊読んでました。 自分は初心者なので全体の半分でも興味があればいいかな、という感じで買っていまして、それで、自分が特に関心を…

ActionBarのUpナビゲーションとLaunchModeについて

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(toolbar); getSupportActionBar().setDisplayHomeAsUpEnabled(true); 上記のようなコードで設定するActionBarのUpナビゲーションは基本的に、 <activity android:name=".MainActivity" android:label="@string/app_name" android:theme="@style/AppTheme.NoActionBar"> </activity>

周囲をタッチしたらEditTextのフォーカスを奪う

EditTextにフォーカス当たってても戻るキーを押したら、キーボード閉じるんですけど、ちょっと不便だわという感じなので、何も無いところというかEditText以外をタップしたらEditTextのフォーカスを奪うようにします。 ActivityでView.OnTouchListenerを実装…

launchModeをsingleTopにしておくと何が起こるか

二重Activity起動、嫌、絶対。 というとき、自分の場合は以下の二つのような場合があります。 フォームを連打したところ、その結果のActivityが何個も起動される 2つ行き来したいActivityがあって、Intentを送り合ったりしているうちに両方がずんずんどこど…

ProgressDialogの色を変えたかったのでカスタムレイアウトをDialogにぶっこむ

ProgressDialogのProgressBarの色を変えようと思ったんだけど色いじるAPI見あたらなかったので、Dailogにカスタムレイアウトを突っ込んでみた。 とりあえずDialogで書いてから、DiaogFragmentでも書いてみた。 Dialogの方 public class MainActivity extends…

java.lang.VerifyErrorで検討したこと

今日作業してたらいきなり、java.lang.VerifyErrorという聞き慣れないエラーが出てきてびびった。 眺めていたのはこの辺。 blog.livedoor.jp Android Studio 0.5.4 update causes Java.Lang.VerifyError - Stack Overflow ライブラリのバージョンが実行時と…

Androidの上とか下とかのバーについてのメモ

忘れがちなのでメモ。 http://developer.android.com/intl/ja/training/material/theme.html http://developer.android.com/intl/ja/about/versions/android-4.4.html StatusBarを半透明 -> v19から 指定を書く箇所 styles.xml -> true layout -> android:fi…

IntentServiceで動かしているバックグラウンドジョブの進捗や結果をLocalBroadCastReceiverで通知する

表題のことがやりたいぞ、というわけで下記あたりを参考に素振りしました。 Reporting Work Status | Android Developers AndroidのIntentServiceを使って非同期処理を行う方法 | TechBooster 手順 バックグラウンドジョブを実行するIntentServiceを作る Int…

build.gradleのdependenciesに追加されたライブラリのライセンス情報を出力する

どうすればいいんだーって感じで意外に詰まったのでメモ。 参考 github.com gradleでdependenciesのライセンス一覧を出力する - Olivinecafe - blog 手順 build.gradleの設定 buildscript { repositories { mavenCentral() maven { url 'https://plugins.gra…

AndroidStudioのショートカットetcを復習する

Android開発を担当するようになってから2ヶ月くらい経ちましたが、実はちょっとした検索や置換(特に検索)はAndroid Studioでなくて、Sublime Textを使用しています。 しかし、やっぱり表示されていないクラスの関数の補完やオーバーライドするメソッドの生成…

レイアウトファイルを利用してCustomViewを作る

いまさらですが、サポートライブラリの中の人から分かりやすいスライドも出ているし、CustomViewの作り方をあらためて勉強し直しました。 参考 サポート ライブラリのできるまで qiita.com qiita.com 目次 Viewを継承したクラスを作る values/attrs.xmlにカ…

RxJavaのonSubscribeメソッドで指定したスレッドはどこで生成されて起動されているのか

この記事は、RxJava Advent Calendar 2015 の12月15日分の記事です。 非同期処理についてよくわからなかったため、下記の本を読んでみたところ、スレッドで処理が行われるには、 スレッドのインスタンスが生成されること そのインスタンスのstart()メソッド(…

FragmentPagerAdapterをおいたActivityから現在表示されているFragmentを取得したい

FragmentPagerAdapterを使って画面の一部だけを遷移させていくとき、その中の1つの画面から他のアプリ等にstartActivityForResultでIntentを飛ばして連携したい部分がありました。 FragmentにonActivityForResult()メソッドってあったかしら、というところか…

FragmentでFabricのTwitter SDKが動いていないような...

関連: Access Twitter’s REST API — Fabric Android documentation stackoverflow.com FragmentManager | Android Developers など。 もしかして、ActivityからFragmentを取得するとき、FragmentManagerにわたすリソースのidがFragmentの一番外側のレイアウ…

MavenのリポジトリやjarファイルをGradleで読み込むように指定する

参考: http://qiita.com/ryusukefuda/items/bbb25382d05cf9cb5057 感動したのでメモ。 Mavenリポジトリにある場合 なんだかgroupIdが見たことある形だし、構造が似てたので書いてみたらいけた。 <dependency> <groupId>com.facebook.android</groupId> <artifactId>facebook-android-sdk</artifactId> <version>4.8.1</version> </dependency> reposito…

RxJavaと1日悪戦苦闘したときのメモ

1日悪戦苦闘してなにかつかんだ気がしたのでメモした。12月の私にさえ読めればそれでよい...? RxAndroidはAndroidのViewのイベントに関するObservableを作ってくれる + Androidのスレッド指定に定数が便利、みたいな捉え方してる。

RetrofitのError時のResponseがParseできない

今日の実装箇所は、1つのエラーコードに対しエラーが3つ以上存在するということで、 どうしてもレスポンスボディが欲しかったのですが、RetrofitのError時のResponseが うまくParseできなくて詰まってました。 stackoverflow.com qiita.com 上の記事を参考に…

potatotips #23で発表しました

発表しました 懇親会で苦労してますよねぇ、という話が出来ただけでもよかったです。 ぐぐるといろいろ出てくるけれど、ライブラリーはライブラリーの要素を優先してみるからライブラリーの要素からいじろう 位置関係はライブラリーの要素が優先して配置され…

Grid数に合わせてViewの位置がFrameLayoutの幅を超えたとき

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:background="#ccc" android:layout_width="100dp" android:layout_height="100dp"> </framelayout>

他の会社のレビュー基準とか

レビューを受けられないから他社のを拝借したいのでメモ。見つけ次第追加する。 nein37.hatenablog.com qiita.com 暇なメモ帳: Androidのソースコードレビュー(メモリリーク) Code Style Guidelines for Contributors | Android Open Source Project

Androidのサンプルのコード読んでみた

思い立ったので眺めてみたけど、クラスに入っていた日付が2013年でちょっと古かったのでクラスの構成とかこういうこともできるんだ〜的な感じで眺めてました。 週1~2くらい適当に探して眺めると良いかも...。 クラス構成の話 サンプル概要 RSSか何かのフィー…