22: Android開発質問スレ Part2 (328)

レス数: 54

概要: 荒らし対策のために強制コテハン表示&コピペミス防止 http://info.2ch.net/index.php/BBS_SLIP Androidの開発全般に関する質問を扱います。 前のスレ Android開発質問スレ https://mevius.5ch...
No.276
>>268

サービスも強制破棄になる可能性があるなら
自作の目覚ましアプリも作れなくない?
朝7:30にアラームが鳴るようサービスで動くようなアプリを作っても
サービスが破棄されて鳴らないことがあるなら会社に遅刻することもありえる?
No.277
>>276

ActivityやService内に実装したonCreate()やonStartCommand()みたいな関数はシステムからUIスレッド上で呼び出されるが、呼び出されたら数秒以内に関数の処理を終了させてリターンしなければいけないルールになっている
そのまま動き続けて何かしたい場合には別のスレッドを作ってそっちでやる必要がある
しかし別スレッドで動き続けるのにも年々制限が追加されてアラームを実現するような長時間の時間待ちには使えない
馬鹿なアプリが動き続けてバッテリーを減らすことになる可能性がある仕組みはほとんど潰された

アラームのようなものを実装するにはアラームマネージャを使う

https://developer.android.com/develop/background-work/services/alarms
No.278
>>277

素晴らしい情報ありがとうございます。
まずテクニカルなことの解釈や読解の前に
なぜわたしの知らないことをたくさん知っているの?
どの本やサイトで勉強したのかをまず非常に知りたいのですが、なぜでしょうか?
No.279
少なくともそんな情報は
いままで買ったり積ん読してるAndroid開発の入門書10冊くらいには載っていない気がする。
No.280
本よりChatGptに聞いた方が良いぞ
No.281
>>278

別のスレッドを作って~のあたりまではAndroidの入門書を読み進めればほとんど載っていただろう
昔はAsyncTaskを使うとかだったが今はKotlinコルーチンを使ってになるのかな

それ以降の情報は、アプリをメンテしているのならば毎年更新されるこれを見て理解をしなければいけない

https://developer.android.com/about/versions?hl=ja

いやでも理解することになる

でもいまならば、ほかの人が言っているようにChatGPTとかに聞いた方が早いだろう
とりあえずChatGPTが面倒だと思うならば、Google検索のAIモードでもけっこう情報は得られるぞ
No.282
>>281

さようでございましたか
じゃもっと本を読んで勉強しますわ
調べたら「Androidを支える技術」のIとIIみたいなのが中上級の本みいだけど、こういう高度な本ってほとんど出版されてないのかな?
No.283
Kotlinは嫌いだから一切知らないけどJavaで突き進むのはダメじゃないよね?
学習コストが高すぎる。
Kotlinは難しいと言われるJavaを簡単にした言語というのが本当だとすると
わざわざ文法が違うだけでKotlinを学ぶ意味は少ないし大(Java)は小(Kotlin)を兼ねるみたいな関係になってるんだったらますますKotlinは意味ないし。

もともとゲーム開発のUnityでC#やってるしフロントエンドのJavaScriptやバックエンドのPHP,SQLもやってるから
新言語を学ぶ余裕はない(他に勉強すること多すぎて)
No.284
>>282

他の人も言ってるけど
本読むよりChatGPTに聞いたほうがいいよ
No.285
>>282

その本は基礎を固めるのにはよいと思うけどAndroid7対応だからけっこう古いね
Androidは8~16で随分変わってしまったからその辺の情報は公式の上のリンクかChatGPTなりに聞くかする必要があるだろう
No.286
>>283

Javaでも実力があれば組めるけど、Kotlinコルーチンを使ったサンプルを動かすのはきついし、将来Viewが非推奨になってComposeを使う必要が出てくるとKotlinが必須になるかもしれない
No.287
もはやAndroidはKotlinがデファクトスタンダードみたいな状況だから
ネットで調べ物してもKotlinの情報が多く見つかるだろうしそれをJavaに変換するコストを考えるとKotlinで書いた方が良いと思うけどなあ
No.288
変なこだわりでコトリンを毛嫌いするよりとりあえず使ってみなよ
シンタクスシュガーだらけの言語なので記述の選択の幅が広すぎるから
「あれもこれも達人みたいに使えるようになりたい!!」みたいな欲張りな考えさえ捨てれば
誰でも普通にすっと使えるようになるから
No.289
>>283

> Kotlinは難しいと言われるJavaを簡単にした言語というのが本当だとすると

「簡単」というのが何を意味するのかによるな。
Java で書くと長くなって分かり辛くなるようなことを短く分かりやすく書ける(難しいことを簡単に書ける)という意味での簡単ならその通りだと思うが。
Kotlin で書いた方が色々と楽だよ。
No.290
>>284-286

ありがとうございます。
その本は熟読してみます。2冊読破するのに何ヵ月かかるかわかりませんが。
ChatGPTはよく嘘つくと言われますがプログラミングの分野ではどれほど信頼できるのでしょうかね?
No.291
わたしはKotlinを毛嫌いしています。
Javaで突き進めるところまでいくかあるいは永遠にJavaを使い続けます。
上位互換(この語の使い方があってるかわからないけど)になってるならなおさらKotlinはいらん気がするし。わたしの認識ではJavaすら難しいと考える人のために浅い知識のままでも開発できるようにしたのがKotlin。
No.292
ところで
onSaveInstanceStateで保存してデータはどこに保存されてるんですか?
PrefernceやSQLデータベースのようにAndroidの中のアプリ専用フォルダの中?
No.293
>>291

Kotlinの方が多機能なので上位互換ではないよ
KotlinでJavaの機能は問題なく使えるが、JavaでKotlin固有の機能を使えるというわけではない。
現在のモダンなAndroid開発のフレームワークがKotlinで楽に実装できる設計になっているから、
今からJavaでゼロから開発するとKotlinで始めるより結果的により苦労すると思う
No.294
kotlinでやらないなら教えない
No.295
しかし世の中で言語の普及率は
Java >>>>>>>>>> Kotlin
じゃないか

Javaは小昔からあって信頼がある。
KotlinはiPhone開発のObjective-Cのように消えてしまわないか?(わたしの本音:消えてしまえ)

バックエンド開発でもPHPやPythonがあるのにわざわざRubyを作った日本人がいたが、わざわざ開発者に多大なる言語習得コストを強いて無駄じゃなかったか?実際Rubyは下火になってるし日本だけでしか通用しない。
No.296
>>294

そりゃないよかあちゃん
No.297
>>295

Java習得してるならKotlinでJavaのように書くことができるぞ
Kotlinでは型定義が後置になっているのでそういう違いだけ抑えておけばいい
Javaの土台があれば自分でコーディングするぶんには学習コスト一日かからん微々たるもの

サンプルコード読むときには省略(Kotlinの特徴)されまくってて最初は読めないケースがよくあると思うけど
今の時代AIに聞けば解決するだろうよ
No.298
kotlinはとっても
No.299
>>292

そのデータはプロセスのメモリ上に保存されて、ファイルやDBに永続的な保存はされない

検索してみると、多分お前の読もうと言ってる本に書いてあるぞ
情報収集力低すぎね?そんな奴がKotlin批判とか笑えない
No.300
>>295

Objective-CがSwiftに世代交代したようにJavaもKotlinに世代交代される側だと思うぞ
No.301
AndroidはもはやKotlinがデファクトスタンダード
サーバー側も新規ならKotlinじゃね
No.302
マルチプラで使おうと思ったけどまだ未成熟だったので使うのをやめた
No.303
>>295

そもそもたかが言語習得コストを多大なるとか言ってる時点でプログラミング向いてないよ
特にKotlinなんて普通のJava経験者なら30分くらいで習得終わるし
No.304
今時JavaはできるけどKotlinはできませんなんてやつはAndroidエンジニアとして転職する先はないだろう
No.305
AIを信頼できるかなんて考える必要あるのか
5chやブログコードのコピペが信頼できるのか
No.306
Kotlin消えてしまえなんていうやつはAndroid Studioも使うな
eclipseでやってろよ
No.307
みなさん、「毛嫌い」って言葉の意味を考えよう
No.308
広辞苑より

「毛嫌い」
(鳥獣が相手の毛なみによってすききらいすることから) 何という理由もなく、ただ感情的にきらうこと。「インテリを―する」
No.309
Androidに深刻な脆弱性、か・・
No.310
重大な、か・・・
No.312
サンディおじさんがandroidアプリ開発を5年ぶりくらいに再開したら目からうろこ
大量エラーもgeminiでプロジェクト内の問題解決までしてくれるのね
昔なら3,4日かかっただろう修正が3時間くらいで済んだわ
素晴らしい時代になった
No.313
お助け下さい
Android Studio 4.1.2でSDK ManagerでIntel HAXMが出てきません。非推奨になったらしいですが、4.1.2では手持ちの本では出てるので、
旧バージョンでも出なくなったのでしょうか?
でもADV ManagerだとHAXM not installedと出て、そこに表示されているinstall HAXMというリンクからは、
自分でHAXMのインストールexe落としてきてbatファイルも一緒にしかるべき場所に置いておくとインストールに成功したと出ます。
でもまたADV ManagerにはHAXM not installedと表示され、結局ADVが起動できません。
BIOSは仮想化設定はEnabledになっているし、Windows自体はHAXMはrunningになっていますが、
AndroidStudioだけがインストール成功と出すくせにその後また入ってないと言うわけ分からない状態です。
Windows7でもWindows10でも同じです。
No.314
SDK ManagerにはHAXMのかわりにhypervisorが表示されますがインストールしてもAMD用だみたいなメッセージが出て失敗します。
CPUはIntel core i5で仮想化には対応しているようです。
No.315
>>313

android studioでエミュレータを使うのと違うの?
pixel8aのプロファイルで使ってるけど特に実機と差異も無く使えるけど?
メモリは滅茶食う。
16GB無いとスワップしまくりでSSDの寿命がヤバイと思える。
No.316
>>315

Android StudioでAVD(エミュレータ)使う話です。HAXMを入れないとエミュレータが起動できない仕様みたいです。
入れてもAndroid Studioが認識してくれません。
No.317
>>316

一旦アンインストールして、最新版をインストールするのはダメ?
No.318
SDK Manegerに表示もされてないのにAndroidStudioがHAXMをインストール作業するパスに勝手にフォルダ作ってインストールしてるだけなので、AndroidStudio的にはちゃんと認知できてない感じです。環境変数的なものがいるんでしょうね。
No.319
AndroidStudioの設定を初期化すると、「
SDK Component Setup」ダイアログで、「Check the component you want to update/install」とあって、そこでは「Performance(Intel HAXM)(installed)」
と表示されているのに何度押してもチェックが出来ません(笑)
AndroidStudioが頑なに拒否しますw
No.320
>>317

最新版は手持ちの本と合わないので都合上4系でやりたいのです。
No.321
>>319

まあinstalledだとチェックしない仕組みみたいですが。入ってるのわかってるならAVDManagerでnot installedにしないで欲しい
No.322
android studioは同じマシンに複数バージョンインストールできるから、まずは最新をインストールして、supervisorでエミュを動かして、シンプルなアプリを作って動かしてみるとよい
その後4.1.2を追加でインストールしてエミュでデバグできるか確認する
エミュは最悪コマンドラインから起動すれば4.1.2から認識できるとおもうんだけどね
あとエミュを無理して使う必要もない
おれは基本実機でデバグして最終チェックで実機がないバージョンの端末のテストにエミュ使う程度だ
No.323
>>322

ありがとうございます。Win7ではコマンドプロンプトでもエラーが出て起動しませんでした。Win10ならWindowsの機能から仮想技術にチェック入れたらエミュレータは起動しました。
HAXMでやろうとするとSDKManagerにHAXMが表示されてチェック入れない限り駄目っぽいような
Googleさんがもう表示しないようにしちゃったんですかね。
No.324
SDKマネージャーのリソースのリポジトリはAndroidStudioのバージョン毎に用意されてるわけじゃないだろうし、サポート終了してリポジトリから削除したらSDKマネージャーから見えなくなるだろうね