アプリ開発備忘録

PlayStationMobile、Android、UWPの開発備忘録

2018-01-01から1年間の記事一覧

【Kotlin】関数型でスマートキャストが使えない

バージョン Kotlin 1.3.0 以下のコードでblock()はダメだけどblock.invoke()はスマートキャストされる。 class Hoge(val block: (() -> Unit)?) { fun hoge() { if (block != null) { block() // NG block.invoke() // OK } } } とりあえず探してみたらあっ…

個人データを保持したまま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.…

gradle dependencies、compileからimplementation、apiへ。ライブラリを作るなら気をつけないといけない違い。

はじめに Androidのライブラリを作成するには通常通りappモジュールを作成し、そこにモジュールを追加して書いていきます。appでは実際にはサンプルとか書く感じになると思います。(ですよね?) 問題発生 今まではcompileを使っていましたが今後はimplementat…

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…

IntelliJ設定集

備忘録 オーバースクロール Editor→General Show virtual space at file bottom ミニマップ プラグインの「CodeGlance」を入れる。 色 パラメーターヒントの色 Language defaults -> Parameter Hint フォーマット Auto import 常時インポートを整理する Edit…

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…