365連休

にわかのandroidとかの開発メモ。

Android

Android Studio 3.4のButtonで余白があるのに文字が見切れる件を何とかする。

AndroidのButtonでテキストサイズを大きくしたら、余白があるのに上下が見切れてしまったので何とかする。

AndroidにおけるListViewとAdapterの考察

Adapterばくはつしろ Adapterは特定のデータ構造(クラス)専用となるので、様々なサンプルにあるような データクラス、Adapterクラスを別ファイルで定義するより、 Adapterの内部クラスでデータ構造を定義 もしくは データ構造の内部クラスでAdapterを定義 す…

ListViewのAdapter

リスト形式のユーザインターフェースを使いたいだけなんです。 ①画面のレイアウト→リスト追加 ②データを流し込む たったこれだけなのになんでAdapterが必要なの? 一見、高機能だけど無駄に複雑化して実装するために必要なコードが数倍に増えてると思うんで…

Android Studio 3.4 Permission & AdMob & GDPRに対応したActivityのサンプル(EU の e プライバシー指令と一般データ保護規則)

自分用のサンプルコードとして、Permissionの取得、AdMobの表示、EUユーザ向けのGDPR対応の機能を持った単一アクティビティのひな形を作りました。個別には大体理解してるけど、「じゃあ全部くっつけたらどうなるの?」という実装案。ベストプラクティスとか…

EU の e プライバシー指令と一般データ保護規則(GDPR)

GDPR関係、出来たら後でまとめたい。まとめた EUユーザの個人情報の国外移転には同意が必要。 広告ユニットを含む場合、個人情報が広告プロバイダへ流れるため同意が必要。 アプリのサービスとして、個人情報をサーバへ送信する場合も同意が必要。 Playスト…

マージされたAndroidManifest.xmlの確認方法

ビルド後のAPKに自身が宣言していないパーミッションが含まれる場合があります。 Android開発では種々のライブラリを利用しますが、ライブラリの中にAndroidManifest.xmlを含むことができます。 そのため、出来上がるManifestは全ての権限をマージしたものに…

GoogleAppIndexingWarningが出たときの選択肢

App is not indexable by Google Search; consider adding at least one Activity with an ACTION-VIEW intent filter. See issue explanation for more details. さらに... (Ctrl+F1) Inspection info:Adds URLs to get your app into the Google index, to…

AndroidX!なにそれおいしいの?

AndroidXはSupport Library28の後継らしいです。 たぶんおいしいので移行していきましょう。 developer.android.com 日本語でおけ Android Xの概要 AndroidXはSupport Libraryを改良したもの。 Android OSとは別に提供され、Androidでの後方互換性を提供する…

drawableディレクトリ、mipmapディレクトリ

mipmapはAndroid4.2からサポートされたため、minSDKがそれより古いならdrawableディレクトリにも画像リソースを置いておく必要がある。と解釈。 qiita.com developer.android.com Mipmapping for drawables Using a mipmap as the source for your bitmap or…

【解決】Android 4.4以下でDrawable Resource(ic_vector.xml)を使用するレイアウトがあると、実行時にandroid.content.res.Resources$Not-Found-Exceptionが発生する

前の記事の続きです。 適当に設定を書き換えているだけでは埒が明かないので、一から歴史を勉強してきました。 そもそもVector Drawableリソースを使えるようになったのはAPI21 Android5.0 Lollipopからで、それよりも前のバージョンでDrawableリソースを扱…

【事案】Android 4.4以下でDrawable Resource(ic_vector.xml)を使用するレイアウトがあると、実行時にandroid.content.res.Resources$Not-Found-Exceptionが発生する

解決編は次の記事を見てね。 Activityのレイアウトファイル内で、SeekBarにベクター形式のドローワブルリソースを使用したら、実行環境のAndroidバージョンによってアプリの起動に失敗するケースに遭遇。 LogCat say "android.content.res.Resources$NotFoun…

ずっとSENSOR_STATUS_UNRELIABLEのAndroid搭載センサー(# ゚Д゚)

表題の通りです。 安定の踏み抜き率。 センサーから測定値を取得するには、大体次のようなSensorEventListenerになると思います。 @Override public void onSensorChanged(SensorEvent event) { if (event.accuracy == SensorManager.SENSOR_STATUS_NO_CONTA…

Camera.Parameters.getSupportedFocusModes()の戻り値をenumにしてみた。

android.hardware.cameraのCamera.Parameters.getSupportedFocusModes()の戻り値はParameters内にString定数として書いてありますが、enumが好みなのでまとめてみました。 /** Camera.Parameters.FOCUS_MODEをまとめたもの<br/>FOCUS_MODE.HOGE.equals()で比較を</br/>…

Javaの内部クラスのインスタンス化

android.hardware.CameraのCamera.Sizeをnewしようと思ったら、Android Studioのコード解析で Camera.Size size = new Camera.Size(100, 100); 'android.hardware.Camera' is not an enclosing class って叱られた。日本語でお願いします。 ' アンドロイド. …

Android Studio 3.4で文字列リソースの翻訳を編集する

全世界向けにアプリを配信するなら、最低でもデフォルトの言語を英語にして、必要に応じて翻訳(日本語など)を追加します。 具体的には、values\strings.xmlの文字列リソースを英語で定義し、 values-ja\strings.xmlを追加し、文字列リソースに日本語で翻訳を…

【禁忌】Android Studio 3.4でパッケージ名を変更する【魔法】

注意! 禁忌魔法を行使すると世界が崩壊する恐れがあるため、イデア世界へコアエイドスデータのフルコピーを取っておくように。 ふっふ~ん 新しいプロジェクトつっくろ~ パッケージ名はスペシャルアプリケーションで! 完了ぽちっ なんかマニフェストのパ…

Androidのアイコンが増えてる件。あだぷてぃぶあいこん?

新しいアイコンの仕様 Google Play ではアプリアイコンの新しいデザイン仕様を導入いたします。2019 年 6 月 24 日までに対応しなかった場合、アプリアイコンは以前のモードに切り替えられます。2019 年 5 月 1 日以降、新たにアップロードしたアイコンは新…

署名バージョンのV1(Jar署名)とV2(完全APK署名)って何?

リリースビルドして実機テストでもしよっかな~ Googleが再度署名するやつはまた今度。 とりあえず普通で 前に作ったキーストア持ってるもんね releaseでお願いします。 V1?V2?なにそれ? よくわかんないから完了で! ふぁ?日本語でおけ www.google.com …