アプリ開発備忘録

PlayStationMobile、Android、UWPの開発備忘録

Android

個人データを保持したままWindowsを再インストールした場合のAndroid Studioインストール

OS入れ直してAndroid Studioを再インストールした時にハマったのでメモ。 発生したこと Android SDKがインストールできない 原因 JetBrains製品はUser/{UserName}/.{AppName}にデータを保存している。 Android Studioを再インストールして初回起動時にこれを…

Gradle repositoriesでjcenterよりも先にgoogleを書け

ある日このようなエラーが出ました。 Failed to resolve: play-services-stats Open File Failed to resolve: play-services-base Open File Failed to resolve: play-services-tasks Open File Failed to resolve: play-services-basement Open File build.…

GooglePlayアプリ削除祭りが開催。暫くアプリを放置している人は確認しよう。

削除のお知らせ 朝起きるとアプリが削除されていました。 子供向け設定されていないアプリが削除されています。しかし全て削除されているわけでありませんでした。基準は謎。 わかりやすくマークされています。 これですね。 いいえにしておけばいいと思いま…

Android Profiler, Fragment, EditText, 画面遷移で強制終了

まさかAndroid Profilerのせいだとは思いもしなかった。 Android Profilerのタブに触れたが最後、強制終了するapkが生成されるようになります。 環境 Android Studio 3.1.2 (3.1.1でも報告がある) Android 8.0.0 compileSdkVersion 27 buildToolsVersion '27…

画面のオーバーレイでシステムUIが落ちると思ったらアダプティブアイコンのせいだった

画面オーバーレイしようと思ったらシステムUIが落ちる。 今までオーバーレイは普通にやってたのに何故…と思ったらアダプティブアイコンのせいだったという話です。 はじまり 画面オーバーレイをしようと思ったらシステムUIが止まった。 Logcatでフィルターを…

Android Studio 3.1 + Kotlin + DataBinding + 大文字名前空間 → 死

毎度おなじみAndroid Studioのアップデート。毎回苦労させられる。 まずこれ DataBindingUtil.bind()がnullableになった。 DataBindingUtil.bind()!!としてしまった。 本題 DataBinding関連で大文字名前空間を使うと死にます。因みに先頭大文字のみっぽい。K…

TwitterKit3-Androidで認証

メモ private val EXTRA_CONSUMER_KEY = "ck" private val EXTRA_CONSUMER_SECRET = "cs" private val TWITTER_PACKAGE_NAME = "com.twitter.android" private val SSO_CLASS_NAME = TWITTER_PACKAGE_NAME + ".SingleSignOnActivity" val authConfig = Twitt…

Android Oreで「startForegroundService」を使わないでオーバーレイした時に起きる通知画面との問題

API Levelとオーバーレイ Android Oreo(API Level 26)からWindowManager周りが変わってオーバーレイをするには色んなレイヤーがありましたが「TYPE_APPLICATION_OVERLAY」にまとめられたり「startForegroundService」を呼んで「startForeground」を使わない…

AccessibilityService開発中にAccessibilityServiceが起動しなくなる

最初は問題なかったが暫くすると何故か起動しなくなる。今のところAPI Level 26で再現。 取り敢えず一通り環境 Android Studio 3.0.1 com.android.tools.build:gradle:3.0.1 compileSdkVersion 27 buildToolsVersion "27.0.3" minSdkVersion 17 targetSdkVer…

ToolBarとかのサポートライブラリでDataBinding

Android data bindingで定義済みの属性リスト - Qiita 「android:onMenuItemClick」とか定義されてるはずなのに使えんなと思ってまさかと思い確認。 原因 extensions/baseAdapters/src/main/java/android/databinding/adapters/ToolbarBindingAdapter.java -…

Android Kotlin DataBindingのTwo-wayでisHogeというフィールド名が使えない

エラー文 Error:java.lang.IllegalStateException: failed to analyze: android.databinding.tool.util.LoggedErrorException: Found data binding errors. ****/ data binding error ****msg:The expression [...] cannot be inverted: Two-way binding can…

Overlayアプリを7.x→8.0→8.1と対応させる

7.x→8.0 startService ↓ startForegroundService TYPE_PHONE TYPE_PRIORITY_PHONE TYPE_SYSTEM_ALERT TYPE_SYSTEM_OVERLAY TYPE_SYSTEM_ERROR ↓ TYPE_APPLICATION_OVERLAY startForegroundは5秒以内に呼び出す。 これだけですね。TYPE_PHONEとかTYPE_SYSTEM_…

Android OreoのOverlayアプリを対応させたはずかパーミッション設定で有効化できない

前提条件 Android 6.0(M)に対応させていること 対応 TYPE_SYSTEM_ALERT → TYPE_APPLICATION_OVERLAY 以上 問題 あれ、切り替えできない。 原因 これAPI27のエミュレーター使っているのが問題でした。 targetSdkVersionとcompileSdkVersionを27にしたら解決。…

Android Studioの危ない置換機能

たまにやってしまうこの置換時のエラー。検索から来る人のためにエラー文を。 エラー文 Some error(s) occurred while processing annotations. Please see the error messages above. Unresolved reference: hogehoge 原因 カスタムView、ViewName.java(自…

【Android】ToolbarのTitleを後から変更する

Kotlinの書き方ですがJavaとやってることは同じですのでご了承ください。 やりたいこと ToolbarのTitleを更新したかった。 セットする時はよくこんなコードを見ます。 val toolbar = findViewById(R.id.toolbar) as Toolbar toolbar.title = "" setSupportAc…

[Android]GooglePlayディベロッパーページを作り、DL数を上げる

GooglePlayではディベロッパーごとのページを持つことができます。 こういうのですね。 最初は大きいディベロッパーしか持てないと思っていたのですがどうも誰でも持てるみたいなので作ってみました。 メリット 作るメリットとしてはおすすめアプリを1個登録…

[Magick.NET]同じsvgデータから複数サイズpngを出力する

Androidだとhdpi、xhdpi、xxhdpi、xxxhdpi UWPだとScale 100、125、150、200、400 同じデータから一気にpngに出力したい!! って時が多くあったので作りましょう。 Androidはsvg1個あれば大丈夫になったというのにUWPと来たら時代遅れなんだから… 先に言っ…

[Android]Activityを閉じてすぐ開くとライフサイクルが意図しない物になる

MainActivityがあります。 TaskActivityを開きます。 ここからが問題 TaskActivityを閉じます。 TaskActivityを開きます。 ・通常 OnDestroy OnCreate ・素早くやった場合 OnCreate OnDestroy の順に行われます。反対になってる… OnDestroyでTaskActivityの…

[Android]Android6.0からSpannableStringのSpanの処理が変わった?

SpannableStringでは検証してなくてSpannableStringBuilderで検証してます。 やりたいこと ・TextViewを一部をリンク化してそこにイベント追加 ・リンク化されてないところをクリックにも共通のイベント追加 要するに、赤に個別にイベントを設定してそれ以外…

[Android]SwipeRefreshLayoutでsetRefreshingが動作しない

onCreateやonStartなどで以下のようにしても読み込みアニメーションが開始されません。 mSwipeRefresh.setRefreshing(true); 以下のようにします。 mSwipeRefresh.post(new Runnable() { @Override public void run() { mSwipeRefresh.setRefreshing(true); …

[Android]AdMob導入

Android クイック スタート | AdMob Android ガイド | Google Developers これの内容をSDKのDLなどを省いた内容です。 build.gradle compile 'com.google.android.gms:play-services:6.+' AndroidManifest.xml //manifest内 <uses-permission android:name="android.permission.INTERNET"/> </uses-permission>

[Android]Androidのバージョンの違いで配列のSerialize時にClassCastExceptionが起きる

Activityに値を渡して画像を表示させようと思った。Twitter4Jを使っていた。 tweetはtwitter4j.Status シリアライズ Bundle bundle = new Bundle(); bundle.putSerializable("ExtendedMediaEntities", tweet.getExtendedMediaEntities()); .... デシリアライ…

[Android]startActivityForResultを呼び出した直後にonActivityResultが呼ばれるバージョンと呼ばれないバージョンがある。

Mobile Dev. (Android + Java) » startActivityForResultを呼び出した直後にonActivityResultが呼ばれる これへの追記で APIレベル17だとonActivityResultが呼ばれず、 APIレベル21だとちゃんとonActivityResultが呼ばれました。 とにかくsingleInstanceとsi…

[Android]暗黙的Intentで毎回起動するActivityを選択する

このようにするところを startActivity(intent); chooserを間に挟みます。 Intent chooser = Intent.createChooser(intent, "title");startActivity(chooser);

[Android]イベントの実装と呼び出し。

やりたいこと 独自LinearLayoutにフリックされたらイベントを発行したかった。 左右のフリックで2つ設定します。 実装したい側 private FlickEvent listener = null;public void setOnFlickListener(FlickEvent listener){ this.listener = listener;}publi…

[Android]Serviceから暗黙的intentでsingleTaskなActivityを呼び出し、intentのデータを取得

やろうとしたこと ホーム画面、画面が既に開いている状態で スモールアプリから暗黙的intentで文字を送りそれを受け取る。 口で言ってもわかりにくいので画像を アプリが開いていない状態 onCreate→onStart アプリが開いてホームに戻った状態 onNewIntent→on…

[Android]SONY XPERIA スモールアプリ 環境構築からとりあえず動くところまで。

やり方とか用語とか間違っていたら指摘してください。 初期設定 [ツール] → [Android] → [SDK Manager] [Launch Standalone SDK Manager] [Tools] → [Manage Add-on Sites...] [User Defined Sites]→[New] 以下URLを入力 http://dl.developer.sony.com/weara…

[Android]アプリ開発で便利なもの(随時追加)

ハード ・Xperia スクリーンレコードで撮影してGooglePhotoで即時アップロードしPCでアニメーションの挙動を細かく見れるので便利。 スクリーンレコードできる機種がいいです。(Xperiaしか知らない) Android5.0からはスクリーンレコードできるアプリがあるの…

[Android]【曜日がずれる】日付を扱う時の注意

yyyymmddをCalendarクラスに変換して曜日を取得したかったがなぜかずれるのでおかしいなと思ってたら Calendarクラスの月は0から始まって11で終わるそうです。 月だけ!!!!!!何だよこの仕様は! 日付は1からなのに なので以下のようにしないといけない …

[Android]補間関数まとめ

最初に [Android] アニメーション補間クラスをグラフ化してみました - adakoda グラフはこちらにあります。 どこかに言葉でまとめたのがありましたが見つからなくなったので書きます。 BaseInterpolator | Android Developers 英語苦手ですが訳します。 Acce…