前人未踏の領域へ Androidアプリ開発編

Androidアプリ開発に関する調査メモ置き場。古い記事にはアプリ以外も含まれます。

2015-07-01から1ヶ月間の記事一覧

SwipeRefreshLayoutとRecyclerViewを同時に使用すると挙動がおかしくなる場合の対策

課題 SwipeRefreshLayoutとRecyclerView, GridView, ListViewを同時に使用した際、リストの先頭まで戻らないうちにスワイプリフレッシュが実行されてしまう。 対策 参考のURLを元に制御する。 RecyclerView#setOnScrollListenerは既にDeprecatedとなっている…

Android Studioのメモリを設定する

課題 Android Studioのメモリが不足するため設定を変更したい。 対応 studio.vmoptions(またはidea.vmoptions)を指定のフォルダにセットする。 設定ファイルは~/Library/Preferences/ 配下にAndroidStudioのバージョンに応じて個別に置かれるのでアップデー…

ソフトウェアキーボードのアクションを設定する

課題 検索フォームにて、ソフトウェアキーボードの改行ボタンに相当する部分を検索アイコンにしたい。 対応 EditTextなどの属性でimeOptionsを使う android:imeOptions="actionSearch" 参考 imeOptions 一覧 http://developer.android.com/#imeOptions

AndroidのUIテストとJavaテストを分ける。

課題 AndroidのUIテストとJavaのテストを分けて記述したい。 対応 testとandroidTestをうまく使う。それぞれがごっちゃになってるといろいろうまく行かない。 BuildValiantsを切り替える テストの目的に応じて変更する。 View > Tool Windows > BuildValiant…

testCompileとandroidTestCompileの違い。

課題 Androidの公式サイトを読んでいるとtestCompileとandroidTestCompileというのが2つ出てくるが、その違いは何か。どう使い分ければいいのか。 回答 src/test 以下に記述した内容はtestCompileに影響する。 src/androidTestに記述した内容はandroidTestC…

junit.framework.AssertionFailedError: No tests found が発生する

環境 Android Studio 1.3 RC4 Android SDK Tools 24.3.3 Android Support Library 22.2.1 Google Play Services 25.0.0 課題 Android StudioでJUnit4によるテストを書いてみたが、@Testアノテーションをつけたにも関わらず、実行するとテストが見つからない…

Google Play Servicesのオープンソースのライセンス情報を取得する。

Google Mapをアプリで使用する場合など、ライセンスを明記する必要があるが、そのテキストをGoogleが提供してくれている。 String licenseInfo = GoogleApiAvailability.getInstance().getOpenSourceSoftwareLicenseInfo(); 参考 https://developers.google.…

レイアウト属性を使って画面開発を効率化する

Android Studioでレイアウト設定をする際、Viewerでプレビューができるが、Java側からテキストを挿入したい場合は、デフォルトではvisibilityがGONEになるケースなど、プレビューに適さないケースが出てくる。そんなときにtoolsを使う事で layout.xmlなどで…

onCreateOptionsMenuの実行タイミングについて

onCreateOptionsMenuの実行タイミングがAndroidのバージョンによって異なっていたのでメモ。イベントはFragmentのもの。 5.0 onResumeの後 4.1.1 onAttachの後 2.3.3 onAttachの後 どのバージョンで変わったかは不明。 後で調べる。

ネストしたFragmentのバックスタック時挙動について

実装方法によっては発生しないのかもしれないけれど、自分の開発状況下で発生している問題について。 結論 子フラグメントをバックスタックから復元することはできる。しかし色々変更しすぎてもはや何が決め手になったかよくわからず。以下は本結論に繋がら…

Android Studioのライブテンプレート

Android Studioのライブテンプレートを仕様すると短いコード数で自動的にそれにあったコードを自動生成してくれる。 最新版では以下のとおり。スクショで失礼。toolsNsが個人的には便利。 もちろん自分でも作れるのでプロジェクトでお約束のコードは独自の名…

Gridビューの周囲の枠線を非表示にする

課題 Android2.3系の話なので最新端末では関係なかったりするがGridViewをセットするとアイテムの周囲にスペース確保され、ヘッダーのような横一杯に表示したいようなフルサイズの画像などを貼ろうとするとずれる結果となる。 対応 listSelectorが指定されて…

RecyclerViewを使う

とりあえず一覧を表示するサンプル。 ポイント レイアウトの種類はLaytoutManagerで管理 ViewHolderの利用が前提になっている setOnItemClickListenerがRecyclerViewには存在しないので、RecyclerView.Adapter内のViewHolderのコンストラクタか、同Adapterの…

Material Design Color paletteをAndroidで使う

お題 Android Material Designでカラーパレットが提供されており、名前も決めてくれているので それを使いたい。Colors.xmlになってれば楽チンである。 回答 Githubにあったので素直にもらう。ダウンロードしてそのまま使用する。 https://gist.github.com/k…