- 1. Androidデバイス(非スマホ)のためにAnsibleができること
- 2. Compose探求記(その1)
- 3. Delphi 製アプリを WSA (Windows Subsystem for Android) で動作させるための要点
- 4. AndroidStudioのコードコンプリートで大文字小文字関係なく候補を出したい
- 5. 【Android】GPSを利用する方法【kotlin】
- 6. 【Android】GroovyからKTSへの移行やってみた【KTS】
- 7. 【Android】RecyclerViewでアイテムが中心に来るように自動スクロール
- 8. iPhoneやAndroidでnode.jsを実機テストする方法
- 9. 急にビルドエラーになった時に試してみて欲しいこと
- 10. Kotlinスコープ関数(let,run,also,apply)の使い方について考えてみる
- 11. 【Android Wear】Wearエミュレータとスマホ実機の接続方法
- 12. Android HTTP通信を行う(HttpUrlConnection)
- 13. Jetpack ComposeとHiltによるDIのお勉強備忘録
- 14. ActionBarでSearchViewを使うと意図せず他のアクションボタンが消えちゃう問題の解決策
- 15. GradleTemplate of unity not found : /Applications/Unity/Hub/Editor/2021.3.6f1/… の解決策
- 16. Ubuntu22.04.1LTS環境でAndroid Emulatorのサウンドを有効にするとyoutubeなどの音声にノイズが乗る問題
- 17. .NET MAUIを使ってお試しAndroidアプリの作成
- 18. 【Flutter / RESTAPI】簡単なAPIをFlutterで呼び出してみた!
- 19. 【WSA】WindowsでAndroidアプリ実行! GooglePlay も入れてみた
- 20. WebViewの設定について
Androidデバイス(非スマホ)のためにAnsibleができること
普段、サーバーやネットワーク機器の運用管理をAnsibleで自動化していて、Androidデバイスの運用もAnsibleを利用したい、なんてことが有ったりすると思います。
Ansibleが、エージェントレスで操作するデバイスには、SSHとPythonが入っててほしいんですが、AndroidデバイスにはSSHの口はあるけど、Pythonは使えないみたいなケースがしばしばあるようです。
そんなケースで、どんなことができるか試してみたいと思います。
**が、用意した検証環境が非常にイケてないので、ご自身のデバイスで試してみる際の手順の参考にでもなれば是幸いです**
### [結論]
まず、結論です
– rawモジュールしか使えない(シーケンシャルにコマンドをブン投げる形式、非状態宣言)
– rawで、amコマンド等を打って操作できる
– gather_facts: falseを設定する必要がある
– environmentキーワードはraw非対応のため、環境変数がおかしい場合はrawでexportコマンドとかを打ち込む### [環境]
Ansibleマシン: RHEL8 Work
Compose探求記(その1)
# はじめに
[Jetpack Compose](https://developer.android.com/jetpack/compose) 関して、まったりと調査・実験しつつ、その過程を綴ってみようと思います。# 参考文献
– [Jetpack Compose](https://developer.android.com/jetpack/compose) – 本家トップページ。ドキュメントからは Overview として参照されている。おいら的には正直わかりづらい構成なので下記 Documentation を起点にしたほうがよさそうに思える。
– [Jetpack Compose – Documentation](https://developer.android.com/jetpack/compose/documentation) – 上記の配下。これを起点にするのがよさそう。# State and Jetpack Compose
[State and Jetpack Compose](https://developer.android.com/jetpack/compo
Delphi 製アプリを WSA (Windows Subsystem for Android) で動作させるための要点
# はじめに
Insider Preview 版でない Windows 11 でも **WSA (Windows Subsystem for Android)** が利用可能になりました。
– [ついに日本でもAndroidアプリがWindows上で動作 ~「Amazon アプリストア」プレビュー版が一般提供 (窓の杜)](https://forest.watch.impress.co.jp/docs/news/1434767.html)
– [Windows 11で動くAndroidアプリ ~ その背景にあるもの (ITmedia)](https://www.itmedia.co.jp/news/articles/2106/27/news023.html)# WSA (Windows Subsystem for Android)
WSA (Windows Subsystem for Android) は Android アプリケーションを Windows 11 デバイスで実行できるようにするものです。
– [Android™️ 用 Windows サブシステム (l
AndroidStudioのコードコンプリートで大文字小文字関係なく候補を出したい
`Preferences | Editor | General | Code Completion` → `Match case` のチェックを変える。
新たにインスタンス作るときとかクラス名入力時に大文字入力しなくて済むので、チェックを外すのがおすすめです。
![スクリーンショット 2022-09-23 14.43.03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/168872/85f1d282-1e91-c873-ffd0-ef2d21fe0abf.png)
# onの場合
`First letter only` を選択している場合は、一文字目が同じものが候補に出てくる。
`All letters` を選択している場合は、全文字同じものだけ候補に出てくる。# offの場合
文字種があっているが候補に出てくる。
【Android】GPSを利用する方法【kotlin】
GPSでは場所を移動するたびに緯度情報がコールバックされ、情報を受け取ることができます。
そのためにコールバックに必要なメソッドを用意してインスタンスを渡します**LocationListener**インターフェースを継承し、4つのメソッドをoverrideすることで利用可能になります
# onLocationChanged
“`
override fun onLocationChanged(location: Location?) {
}
“`
位置情報が変更された時に呼ばれる
# onStatusChanged
“`
override fun onStatusChanged(provider: String?, status: Int, extras: Bundle?) {
}
“`
GPSが利用不可、利用可能になった時に呼ばれる
# onProviderDisabled
“`
override fun onProviderDisabled(provider: String?) {
}
“`
プロバイダを使用不可にした時に呼ばれる
# on
【Android】GroovyからKTSへの移行やってみた【KTS】
# はじめに
最近[nowinandroid](https://github.com/android/nowinandroid)や[conference-app-2022](https://github.com/DroidKaigi/conference-app-2022)といったとってもありがたいサンプルプロジェクトが公開されたけれど、どちらもGroovyではなくktsでビルド周りを実装していたね。
[公式のドキュメント](https://developer.android.com/studio/build/migrate-to-kts?hl=ja)を読んでみると> Kotlin の方が可読性が高く、コンパイル時のチェックと IDE サポートが優れているため、今後、Gradle スクリプトの記述には Groovy よりも KTS が優先されます。
と書いてあるので、今後はktsでビルドするのが主流になるかもしれないね。
まだktsの方がビルドが遅くなってしまうらしいけど、これからどんどん改善されてKotlinで読みやすいビルドロジックが書けるようになったらとても素敵。ただ
【Android】RecyclerViewでアイテムが中心に来るように自動スクロール
# はじめに
RecyclerViewでのアイテム一覧画面で、スワイプ後に指を離した時、アイテムが中心に来るように自動スクロールする処理を作成。
ViewPager2でも作成可能だが、今回はRecyclerViewで作成。# 方法
アイテムが中心に来るように自動スクロールするには、`LinearSnapHelper`を使用。
両端のオフセットは、`ItemDecoration`を使用。
中心アイテムが変更されたことを検知するためには、`OnScrollListener`を使用。
プログラムのポイントとしては、`MainActivity.kt`内の処理。まず、カードビューのレイアウト。テキストビューを配置。
“`list_item.xml
iPhoneやAndroidでnode.jsを実機テストする方法
めっちゃ簡単。メモ書きです。
・スマホとPCを同じwifiにつないで、
・PC側でnpm run serveして、
・スマホ側で(http://IPアドレス:ポート番号)
をブラウザ表示するだけ
例)http://192.1.1.12:8080/
急にビルドエラーになった時に試してみて欲しいこと
# 初めに
今回は`GitHub`からプルして来た時や、デバッグ中に起きる急なビルドエラー時にやってみると効果的なものを紹介していきます。
### 本文
***一つ目***が***キャッシュの削除***です。
これは定番だとは思いますが、`Android Studio`のメニューから
File->Invalidate Cachesを選択し全てにチェックを入れて実行のボタンを押すと`AndroidStrudio`のキャッシュを削除した上で再起動をかけてくれるので一度リセットされた状態になるのでおすすめです。***二つ目***が***gradleのクリーン***です
該当プロジェクトを`AndroidStudio`で開いた状態で`AndroidStudio`下部にあるターミナルメニューから下記のコマンドを実行します。
“`terminal
./gradlew clean assembleビルドフレーバー
“`
こうすることで`gradle`をクリーンして該当のビルドフレーバーを実行してくれるので1つ目で紹介したやり方でビルドできない場合でも意外と直ったりします。
### 最後に
よ
Kotlinスコープ関数(let,run,also,apply)の使い方について考えてみる
## はじめに
Kotlinの標準ライブラリにはスコープ関数という関数が存在します。
自分自身、JavaからKotlinに入ったのでそれなりの文法などはすんなりと理解できたのですが、スコープ関数についてはJavaには無いので理解が薄いままなんとなくで使用していました。
今回理解を深めるために少し調べてみたので備忘録を含めまとめたいと思います。## 5つのスコープ関数
Kotlinには5つのスコープ関数が用意されています。
– let
– apply
– run
– also
– withこれらの関数は、基本的に全て同じことを行いますが、それぞれ特徴がありますのでまとめます。
(`with`に関してはほとんど使用機会がありません(自分は)ので今回は割愛させていただきます。)## let
まずは使用頻度の高い`let`
| スコープ関数名 | 対象オブジェクト | 戻り値 |
|:———–|:————|:————|
| let | it | 最後の実行コード |“`kotlin
val f
【Android Wear】Wearエミュレータとスマホ実機の接続方法
# はじめに
Wearエミュレータ(Android Wear)とスマホ実機(Android)の接続方法について記述。# 手順
### Wearエミュレータ側の設定
以下の方法でADB Debuggingを有効化する。Wear OS API 30の設定を記述。
`Settings -> System -> About -> Versions -> Build numberを7回タップ`
`Settings -> Developer options -> ADB debuggingがONになっていることを確認`### Wearとスマホの接続
スマホとPCをUSB接続。
`adb -d forward tcp:5601 tcp:5601`をTerminal上に入力。### スマホ実機側の設定
Wear OSアプリを起動し、エミュレータと接続。参考サイト:
Android HTTP通信を行う(HttpUrlConnection)
# はじめに
学習記録。
Android開発で外部サーバーのCSVファイルやJSONを参照するためにHTTP通信を行う必要があったのでメモとして残す。# 前提
アプリをインターネットに接続する許可を与えるためmanifestタグ内に以下2つのタグを追加。
“`java:AndroidManifest.xml
Jetpack ComposeとHiltによるDIのお勉強備忘録
インターンなどに参加し,DIの勉強の必要性に駆られたため,ここにメモを残します.あなかしこ.
## 前提: なぜDIが必要なのか[[1][2]](#参考文献)
– 複数箇所で同じクラスのインスタンスを使うとき
– 同じ生成コードを複数書く必要がある.
– 一つのオブジェクトの中で,他のオブジェクトをインスタンス化すると.
– 生成元は,生成先を知る必要があるから依存性が高くなる.
– 単体テストができなくなる場合がある.### MVVMの場合
– Viewは,ViewModelの生成方法(依存関係)を知る必要がある.
– ViewModelは,Modelの生成方法を知る必要がある.ということらしい
__理解を深めるために,実際にアプリを作ってみようというところ.__## はじめに
### アプリ開発上の参考資料
DIを利用している参考資料(サンプルアプリ)がないか探した結果…– __Jetpack ComposeによるAndroid MVVMアーキテクチャ入門__ [[1]](#参考文献).
こちらはMVVMアーキテクチャの理解を目
ActionBarでSearchViewを使うと意図せず他のアクションボタンが消えちゃう問題の解決策
Androidで`ActionBar`に`SearchView`のようなアクションビュークラスを使用してる時に発生するバグもどきに対する備忘録です。
# 問題の詳細
以下のコードで`SearchView`が開かれた(expand)状態でオーバーフローメニューをタップしたり`DialogFragment`を開いたりすると表示されていたアクションボタンがオーバーフローメニューに移り、更にその状態で`SearchView`を閉じると表示されていた`SearchView`を含めた全てのアクションボタンが消える。動画
![再現動画](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/807403/10e9a9ad-a45b-7798-c0dd-f0a3ae1594b4.gif)
“`xml:menu_main.xml
【Flutter / RESTAPI】簡単なAPIをFlutterで呼び出してみた!
## 初めに
iOSやAndroidの開発を今までやってきましたが、
ここ最近はFlutterを使用して開発をしている企業も
多いのではないかと感じます。フリーランスの案件にもちらほら見かけるので、
今更かもですが勉強しなくては。。Dartは簡単に触ったので、お馴染みのAPI操作を
やってみました!## 使用するAPI
郵便番号をパラメータとして使うことで、
住所の情報がJson形式で返却されるAPIを使用します。参考:郵便番号データ配信サービス
http://zipcloud.ibsnet.co.jp/
## 環境
・Android Studio
・url_launcher: 6.1.2
・flutter_html: 2.2.1
・http: 0.13.3## 実装
全体のソースというよりは、テンプレート見たいな感じで
順に説明します。
### 0. 事前準備
“`
// ①pubspec.yamlで使用するパッケージを入力
# The following adds the Cupertino Icons font to your application.
【WSA】WindowsでAndroidアプリ実行! GooglePlay も入れてみた
WSAがリリースされて日本語パックにも含まれたらしいので早速使ってみたいなと!!
# WSAとは
知らなかったらこの記事見ないだろってことで、、# 公式WSAは…うん。。
公式によると MicrosoftStore から Amazon appstore を入れれば一緒にWSAも入るとのこと
https://learn.microsoft.com/ja-jp/windows/android/wsa/
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/606574/7ac50581-85b5-d495-6c45-ff7a2d8176b5.png)WSAを入れるだけならこれでOK
ただこのAmazonAppstoreが酷えんだわ
全然アプリがない
(一応APKあればインスコはできるみたいだけど不便が過ぎる。。ので、やはりGooglePlayを入れたい
# GooglePlay入りのWSAのインストール
色々調べてみたけど下記が一番入れやすそう
https://github
WebViewの設定について
# はじめに
今回はwebViewを触る機会があり少し調べたりもしたので、そこで調べて見つけたものを記事にします。# 設定一覧
**JavaScriptを有効にする**
“`
webView.settings.javaScriptEnabled = true
“`**リンク先をブラウザにせず、WebView内でリンクさせる**
“`
webView.webViewClient = WebViewClient
“`**スクロールバー領域を消す**
“`
webView.scrollBarStyle = View.SCROLLBARS_INSIDE_OVERLAY
“`
または、
“`
webView.setVerticalScrollbarOverlay(true)
“`**ローカルのHTMLファイルを表示させる**
“`
val padh = “/data/index.html”
webView.loadUrl(“file://$padh”)
“`
ローカルのファイルをwebViewに表示させるには http:// の代わりに file:// に