Android
Azure DevOps から業界で幅広く使われている Circle CI に移行中です。 ※最近見てる企業では大体Circle CI 使ってるみたい。 また、DroidKaigi のアプリ開発やインターンシップで少しCircle CI を触った感触的には面白そうだったのも理由の一つにあります。 …
ChipGroup Class には 追加されている Chip 一覧を取得できそうな関数が生えてないです。 val chipGroup = // Chip Group への参照を取得する val chipCount = chipGroup.childCount // 2 (0..chipCount - 1) .map { chipGroup.getChildAt(it) as Chip } .ma…
C++ で書かれたライブラリを Android 向けライブラリにビルドしようとしたら下記のようなエラーが出ました。 No toolchains found in the NDK toolchains folder for ABI with prefix: mips64el-linux-android mios64el-linux-android に対応した NDK Toolch…
Firebase の Realtime Database 使ってますか? firebase.google.com 問題点 基本的に Callback な作りなため Kotlin Coroutine との相性がよくない Firebase Realtime Database で値を読み取る時には基本的には Callback スタイルなコードを書きます。 Kotl…
最近流行りの Flutter 、 Flutter 向けな マネージド CI/CD サービスがついに出てきました( Native 向けなら色々あるけど、 Flutter 向けを売り出しているのは珍しさ) CodeMagic とは? Flutter ファンにより生み出された Flutter 専用のCI/CD サービスで…
アドベントカレンダー Android 初心者 15日目の記事です。 まだ枠が空いているので記事を見た人は登録するか3人の Android エンジニアに送りつけてください。 qiita.com 初心者ということで試してみた記事を書いてみたいと思います。 Android 8 ~ テキスト…
Azure DevOps 使ってますか〜?周りでは余り使われてなくて悲しいです〜(お金で殴れるなら Bitrise も使いたい...) タスク管理とかの機能が強力で良さげっすよ(Trello でやるよりは良さげ、癖が強いけど) さて、 Android-Kotlin な Firebase を導入した…
コード val intent = Intent() intent.action = Settings.ACTION_APPLICATION_DETAILS_SETTINGS val packageName = context?.packageName ?: return@setOnClickListener val uri = Uri.fromParts( "package", packageName, null ) intent.data = uri startAc…
Azure DevOps ってサービス知ってますか? VSTS とか言われてたやつです。 CI サービスとか タスク管理、Wiki とかの開発で必要そうな奴が詰め合わせになった奴。 Circle CI + Github + Trello とかが合わさったサービスです。(正確には違う) モバイルDevO…
Android アプリを作っていて、現在デバッグ実行されているかを確認したいことはたまによくあると思います。 BuildConfig から取得すればいけ感じな。 コード BuildConfig.DEBUG 情報元 stackoverflow.com
Extended FAB を実装するモチベーションはFAB をよりユーザーにわかりやすく実装するため 普通のアイコンだけのFAB だけで実装してましたが、 「アイコンだけでは何をするためのものかすぐに理解して使い始めることができない」という問題が出てきました。 …
Mockito はいいぞ〜 さて、 void なメソッドを mock するにはどうすれば良いのかってのは少しハマったので書いてきます〜 解決方法 doNothing().when(targetMock).targetMethod() 的な感じで実装してくといけました〜。 コードで解説 val keyword = "hello w…
BottomAppBar で menu を表示するためには、以下のメソッド読んであげれば表示できます。 {BottomAppBar への参照}.replaceMenu(R.menu.ResourceFileName)
Fuel には、 mochi、 Kotlin Coroutine といい感じに連携してくれる機能があります。 けど、 Moshiと Kotlin Coroutine を組み合わせていい感じに呼び出せる関数は存在してないです。(まぁ、標準で存在してても依存関係考えたら載せるべきでないのはそう)…
エラーメッセージ java.lang.NoClassDefFoundError: Failed resolution of: Landroidx/databinding/DataBinderMapperImpl; 解決策 dataBinding { enabled = true } databinding の設定を AppModule にし忘れてただけですね.... マルチモジュールで作ってると…
ライブラリの追加をしたら下記のようなエラーが出ました。 そこで、解決策を書いていきたいと思います。 Invoke-customs are only supported starting with android 0 --min-api 26 解決策 以下を追加した Module の Build.gradle へ追記したら解決しました…
Android 3.2 正式リリース && Androidx 1.0 おめでとうございます さて、 Android Studio 3.2 から入ってきた Navigation Architecture Component (NAC) NAC には BottomNavigationView (and DrawerView?) と紐づけ、Fragment の ID と menu の id を一緒に…
状況 以下のようなエラーが出てしまいました... Cause: couldn't make a guess for {Class Name} 解決策・原因 パッケージネームに大文字が混入してたのが原因です。 意外に見つけにくい...
こちらで書いたコードに対してパラメタライズドテストを書いていきます。 kuxumarin.hatenablog.com 環境 testImplementation 'junit:junit:4.12' コード Java で書くときは、Static な感じで書いてたのは companion object にしました。 @RunWith(Parameter…
public fun String.removehtmlTag(): String = this .replace(Regex("<[^>]*>"), "") .replace("\n", "")
任意の長さの文字列をいい感じに省略して 表示することはよくあるかと思います。 そんな時にいい感じに表示する方法です。 方法 <TextView android:layout_height="wrap_content" android:layout_margin="12dp" android:ellipsize="end" android:maxLines="2" tools:text="雑な文字列雑な文字列雑な文字列雑な文字列雑な文字列雑な文字列雑な文字列雑な文字列雑な文字列雑な文字列雑な文字列雑な文字列雑な文字列雑な文字列雑な文字列雑な文字列" /></textview>
症状 どこもおかしくないはずなのに、新規で追加した Android Module で定義されている Class を参照しようとすると "Unresolved Refernece " って出てきてツラミでした。 また、 Android Studio では普通に 入力補完されます。 なのに、ビルドすると上記の…
最近、Android な開発環境では、 Instant App などの対応のために Multi Module な構成にするのが流行っています。 とはいえ、Multi Module なAndroid アプリを開発しているときに DataBinding を利用しようとするとDataBinding で必要なBinding Class がErr…
基本的には、 Android で開発を行うのと同じようにやっていけばOK OnCreate の中で AddFlags するだけ MainActivity.cs // OnCreate の中 Window.AddFlags(WindowManagerFlags.KeepScreenOn); 参考 画面をスリープ状態にさせないためには - 逆引きAndroid入門
特定のフォルダに存在するファイル一覧を取得したいことはたまによくあると思います。 コード namespace AndroiFolder { [Activity(Label = "AndroiFolder", MainLauncher = true)] public class MainActivity : Activity { private static string GetPathFo…
フォルダに新しいファイルが追加されたり削除されたりなどのイベントを削除するのを監視したいときがよくあると思います。 コード まずは、 FileObserver のサブクラスを作成します。 public class DCIMObserver: FileObserver { public DCIMObserver(IntPtr…
序章 Plugin Kotlin Plugin Code Grance 設定 自動 import したい タブでインデント マウスを乗せるとクイックドキュメントが表示されるように 未保存のファイルにアスタリスクをつける LogCat の画面を見やすくする 入力補完でメソッドに必要な引数情報をす…
はじまり Android のアプリを作成していて、 ユーザーに画像を一枚選択してもらい、その画像に対してあれこれしたい。みたいな時があるかと思います。そんなときのための記事です。 プログラムの流れの解説 開きたい画像を選択させる Intent を飛ばす ユーザ…
class SSIDManager{ fun GetSSID(ApplicationContext:Context): String{ val wifiManager = ApplicationContext.getSystemService(Context.WIFI_SERVICE) as WifiManager if(!wifiManager.isWifiEnabled) return ""; val connectInfo = wifiManager.connecti…
VSTS を使うメリット Xamarin.Android と同じ会社が作っている製品ということで、 Xamarin のサポートが強力 無料ではじめれる やること 1. VSTS のダッシュボード画面を開く 2. Github との連携 3. ビルドタブへ移動 4. 新しいビルド定義を作成 5. 最低限必…