Android
AndroidでRetrofit2を使うときに、 アクセストークンを毎回設定するのはめんどくさいので、 よい方法はないかなと調べてみたときの備忘録(*´ω`*) OkHttpClientのInterceptorで挿入するとよいっぽい。 ApiClientインターフェースの作成 ヘッダーが必要な場合…
AndroidでWifiの状態を知りたいなーと思ったら、いろいろなStateがあるらしい。。 対応関係がわからないな...と思ったので調べてみたときの備忘録。 対応関係はこんな感じ。SupplicantStateだと、 NetworkInfo.StateのCONNECTEDとSUSPENDEDに当たるものがな…
ストアの掲載情報を多言語対応したときに、 各言語での表示確認をする方法を調べたときの備忘録。 PCで確認すると、ストアのURLはこんな感じになってるはず。 https://play.google.com/store/apps/details?id=<applicationId>&hl=ja&gl=jp URL末尾のhl=ja&gl=jpが言語と国を</applicationid>…
Android向け画像読み込みライブラリ「Glide」 いつもお世話になってるけど、GIFアニメもOKだった(´ω`) でも、ループしてほしくないな〜とおもったら、 issueに対応方法があったので、調べたときの備忘録。 build.gradle dependencies { implementation 'com…
Android10の変更点で「バックグラウンドからのアクティビティの起動に関する制限」が追加され、Service内などバックグラウンドからActivityを開くのに制限がかかるようになったよう。 基本的には、「いきなりAcitivityを開くのではなく、通知を使ってね」と…
よくやるのに忘れるので、備忘用(´ω`) テーマで設定する <resources> <style name="AppTheme.FullScreen" parent="@style/Theme.AppCompat.Light"> <item name="colorPrimary">@color/colorPrimary</item> <item name="colorPrimaryDark">@color/colorPrimaryDark</item> </resources>
Androidの開発をしてて、NumberPickerのmin/maxをXMLで指定したいなと思って、いろいろ調べた備忘録。 カスタムビューにすればできるらしい(´ω`) 設定できる属性を定義する(attrs.xml) まずは、xmlで使える属性を設定する。 res/values/attrs.xmlに設定を書…
ひさびさにAndroid Jetpackのページを見ていたら、 CameraXなるものがあったので試してみたときの備忘録。 CameraXとは? 公式ドキュメントの説明はこんな感じ。 CameraX は、カメラアプリの開発を簡単に行うための Jetpack サポート ライブラリです。ほとん…
Androidで画像など、画面よりも大きいサイズのViewをドラッグでぐりぐりしたくて、 いろいろ調べてみたときの備忘録。 いくつか方法があるけど、 基本はScrollViewとHorizontalScrollViewを両方使う感じ。 XML XMLはこんな感じ。 ScrollViewwカスタマイズし…
ひさびさのAndoridネタ。ビルドごとに定数を書き換えてたりファイルを用意していたけど、 build.gradleでBuildConfigに追加したり、resouceを自動生成できるらしい。 こんな感じ。 apply plugin: 'com.android.application' android { compileSdkVersion 28 …
ひさびさのAndoridネタ。生成するファイル名にバージョンや実行日時を書き換えてたのを build.gradleで設定して見たときの備忘録。 こんな感じ import java.text.SimpleDateFormat // 実行日時を表示したいので、時刻を取得 def date = new SimpleDateFormat…
Retrofit2でオレオレ証明書なサーバにアクセスすると、 こんなエラーが出る。その時の対処方法の備忘録。 java.security.cert.CertPathValidatorException: Trust anchor for certification path not found. javax.net.ssl.SSLHandshakeException: java.secu…
Twitterみていたら@_monoさんのすてきなツイートを見つけたので、さっそく試してみたときの備忘録 年のところを押すと年選択できるの分かりにくいので、僕は初期表示を年選択モードにしてる( ´・‿・`)(選択済みの場合は日付選択モードを初期表示) https://t.c…
Androidアプリの広告表示にアドフリくんを使っているけど、Android9.0にしたらクラッシュした。。 Android9.0でいろいろ変わったらしいので、そのときの備忘録。 変更点は以下でアナウンスされている。 動作の変更点: API レベル 28+ をターゲットとするアプ…
drawableにある画像を、URIでImageViewに渡したいなと思ったときの備忘録。 Stack Overflowにあったので、引用。 URIは、"android.resource://<パッケージID>drawable/<drawableのID>"らしい Uri uri = Uri.parse("android.resource://your.package.here/drawable/image_na</drawableのid>…
Androidからサーバに画像を保存する際に、Android側で縮小したいなと思った時の備忘録。 特にハマったのはローテート情報... 縮小するだけだとEXIFがないので、ImageViewで表示すると回転しない。。 流れとしては、以下の感じ 元画像のローテーション情報(EX…
ツイッターみたいに、上方向の自動読み込みを実装したいなと思い、 ListViewの先頭に追加しても、スムーズにスクロールできる方法を、いろいろ調べたときの備忘録。 ほぼこの記事のまま、すごい。。 以下は、コメントとかを追加したくらい // 要素を一番上に…
正攻法は、バックアップ&リストアだけれど、開発中だとちょっとだけ戻して、 スキーマの更新の処理を確認したいときがある。 Androidで使うデータベースのバージョンは、SQLiteのuser_versionを使っているので、 無理やり手動で変更すれば、OK。やり直しが…
AndroidのEmulatorに入ってSQLite3でDBの中身をみるときの備忘録。 ひさびさにDBのマイグレーションをするときに、今どうだっけ?を見たかったが、 やり方忘れてたので、その時のメモ Emulatorにログイン $ adb shell アプリの権限に変更 $ run-as <package-name> dbの中を</package-name>…
InstagramのOAuthをAndroidで使おうと思ったら、WebViewが開けず。。 そのときにいろいろ調べたときの備忘録 JavaScriptを有効にすればOK WebViewのSettingsでJavaScriptを有効にするとうまく動いた! WebView webView = findViewById(R.id.webView); webVie…
別のActivityをファイル選択ダイアログ的に使う方法。 よくやるけど忘れるやつ。よく忘れるのでφ(..)メモメモ 画像選択するActivityを開く int RESULT_PICK_IMAGEFILE = 1000; Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT); intent.addCategory…
いつもAlarmMangerには悩まされるのので、再度調べてみたときの備忘録。。version追従辛い。。 AlarmManagerで設定するサンプル Context context = ....; // AlarmManagerを取得する AlarmManager alarmManager = (AlarmManager) context.getSystemService(C…
Androidはバージョンが上がるごとにセキュリティ対策が進み、利用できなくなるAPIがある。 電話の自動応答もその一つで。数少ない情報も使えない場合が多い。 調べてやってみたこと ITelephonyを使って、acceptCall()を実行する(The internal ITelephony.aid…
表題まま。取得したファイルをURIをRetrofitで送信したときの備忘録。 そのままだとうまくいかないので、RetrofitをRequestBodyを継承して、 writeTo()時にファイル読み込むようにするといいっぽい private fun createRequestBody(uri: Uri, context: Contex…
AndroidでAPIクライアントライブラリのRetrofit2を使ってみたときの備忘録。 build.gradle // Retrofit compile 'com.squareup.retrofit2:retrofit:2.3.0' // OkHttpのログを見たいとき compile 'com.squareup.okhttp3:logging-interceptor:3.4.1' // Adapte…
ひさびさにKotlinしたらDataBindingで悩んだので、その時の備忘録。 Gradle 要点のみ。kaptを使う。 apply plugin: 'com.android.application' apply plugin: 'kotlin-android' apply plugin: 'kotlin-android-extensions' apply plugin: 'kotlin-kapt' // F…
画面表示時、初期状態ではキーボードを表示してほしくないときのあれ。 フォーカスせずにキーボードが表示されないようにする <EditText/> <TextView android:focusable="true" android:focusableInTouchMode="true"> <requestFocus /> </TextView> 逆に、フォーカスする <EditText> <requestFocus /> </EditText> <TextView/> 参考にしたサイト様 【Android】画面起…</textview/></edittext/>
AndroidでFABのサイズを変えたかったので、いろいろ調べたときの備忘録 もとのサイズを変更しているので、正攻法じゃない感が半端ない&全体に適用されるけど。。 色を変える(Layout XMLのbackgroundTint) 色を変える場合は、backgroundTintすればOK
Toolbarに検索バーを表示させたいなぁと思い、いろいろ調べたときの備忘録 ActionViewを使うサンプルはよくあるけど、タイトルの代わりに表示する例って少ない。。。 虫眼鏡アイコンを表示して、必要に応じて検索バーを表示する よくあるサンプル。 検索ボタ…
小ネタ。Tablayoutは便利。 タブレットでもタブの幅を広げる Material Design的には、タブレットでタブが2個のときは、 タブのサイズを小さくするらしい。。 <android.support.design.widget.TabLayout android:layout_width="match_parent" android:layout_height="wrap_content" app:tabMaxWidth="0dp" app:tabGravity="fill" app:tabMode="fixed" /> app:tabMaxWidth="0dp"が重要らしい タブの…</android.support.design.widget.tablayout>