365連休

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

2019-05-01から1ヶ月間の記事一覧

Windows10で64bitCPUなのに64bit版のAndroid Studio 3.4(studio64.exe)が起動できない。

32bit版のstudio.exeを起動したら動くので、それっきり忘れてた。 kamihiro.net うちのPCもメモリかつかつ。 Windows10って20年ぐらい前のexeでも試しに叩くと普通に使えて便利です。 おかげで、表題の件すっかり忘れてた。

【Java】getSubsequentOfLastIndexメソッドでファイル名から拡張子を取得する

そんなメソッドたぶん無いです。見つからないので作りました。 便利なものは得てしてシンプルです。 自己責任でご自由にお持ち帰りください。タダです。 static String getSubsequentOfLastIndex(@NonNull String target, @NonNull String delimiter) target…

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…

Android Studio 3.4のレイアウトエディタで属性をスクロールするとどっかいくのを直す

思えば初めからおかしかった。 レイアウトエディタの属性のとこだけマウスホイールを一つだけ動かしただけなのに、ページダウン級にビューンって動いてめっちゃ使いづらかった。 何このドSな設定と思ってた。 ※OSのマウスの設定ではホイールのスクロールは少…

Cocos Creator 2.1でビルド失敗。AAPT2エラー

ちょっと思いついて1時間ぐらいで完成できそうなアプリを作ろうと思って、Android StudioよりCocos Creatorのほうが簡単そうだなと。 Cocos Creator 1.10から2.1にアップデートしてから初めて使ったら、速攻ハマった。 Simulatorでは問題なく動いて実機テス…

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

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

Androidには同じタイプのセンサーが複数ある

表題の通り。 Sensorのリスナーでよくあるサンプルコードのようにループで登録しなかったらハマった。 //お手本 final List<Sensor> sensors = mSensorManager.getSensorList(Sensor.TYPE_ALL); for(Sensor sensor:sensors){ if(sensor.getType()==Sensor.TYPE_MAGNE</sensor>…

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でアスペクト比を表すクラスを作ってみた

HashMapのキーにアスペクト比を設定したくて作ってみた。 Map<Aspect, HashSet<Camera.Size>> ↑こういうのをしたい コピペは自己責任で。 バグっても責任取れませんので。 Javaの事はよく知らないので、比較はfloatじゃなく100倍したintを使用。 コンストラクタでアスペクト比を計算して、</aspect,>…