>>268
サービスも強制破棄になる可能性があるなら
自作の目覚ましアプリも作れなくない?
朝7:30にアラームが鳴るようサービスで動くようなアプリを作っても
サービスが破棄されて鳴らないことがあるなら会社に遅刻することもありえる? >>276
ActivityやService内に実装したonCreate()やonStartCommand()みたいな関数はシステムからUIスレッド上で呼び出されるが、呼び出されたら数秒以内に関数の処理を終了させてリターンしなければいけないルールになっている
そのまま動き続けて何かしたい場合には別のスレッドを作ってそっちでやる必要がある
しかし別スレッドで動き続けるのにも年々制限が追加されてアラームを実現するような長時間の時間待ちには使えない
馬鹿なアプリが動き続けてバッテリーを減らすことになる可能性がある仕組みはほとんど潰された
アラームのようなものを実装するにはアラームマネージャを使う
https://developer.android.com/develop/background-work/services/alarms>>277
素晴らしい情報ありがとうございます。
まずテクニカルなことの解釈や読解の前に
なぜわたしの知らないことをたくさん知っているの?
どの本やサイトで勉強したのかをまず非常に知りたいのですが、なぜでしょうか? 少なくともそんな情報は
いままで買ったり積ん読してるAndroid開発の入門書10冊くらいには載っていない気がする。 >>278
別のスレッドを作って~のあたりまではAndroidの入門書を読み進めればほとんど載っていただろう
昔はAsyncTaskを使うとかだったが今はKotlinコルーチンを使ってになるのかな
それ以降の情報は、アプリをメンテしているのならば毎年更新されるこれを見て理解をしなければいけない
https://developer.android.com/about/versions?hl=ja
いやでも理解することになる
でもいまならば、ほかの人が言っているようにChatGPTとかに聞いた方が早いだろう
とりあえずChatGPTが面倒だと思うならば、Google検索のAIモードでもけっこう情報は得られるぞ >>281
さようでございましたか
じゃもっと本を読んで勉強しますわ
調べたら「Androidを支える技術」のIとIIみたいなのが中上級の本みいだけど、こういう高度な本ってほとんど出版されてないのかな? Kotlinは嫌いだから一切知らないけどJavaで突き進むのはダメじゃないよね?
学習コストが高すぎる。
Kotlinは難しいと言われるJavaを簡単にした言語というのが本当だとすると
わざわざ文法が違うだけでKotlinを学ぶ意味は少ないし大(Java)は小(Kotlin)を兼ねるみたいな関係になってるんだったらますますKotlinは意味ないし。
もともとゲーム開発のUnityでC#やってるしフロントエンドのJavaScriptやバックエンドのPHP,SQLもやってるから
新言語を学ぶ余裕はない(他に勉強すること多すぎて) >>282
他の人も言ってるけど
本読むよりChatGPTに聞いたほうがいいよ >>282
その本は基礎を固めるのにはよいと思うけどAndroid7対応だからけっこう古いね
Androidは8~16で随分変わってしまったからその辺の情報は公式の上のリンクかChatGPTなりに聞くかする必要があるだろう >>283
Javaでも実力があれば組めるけど、Kotlinコルーチンを使ったサンプルを動かすのはきついし、将来Viewが非推奨になってComposeを使う必要が出てくるとKotlinが必須になるかもしれない もはやAndroidはKotlinがデファクトスタンダードみたいな状況だから
ネットで調べ物してもKotlinの情報が多く見つかるだろうしそれをJavaに変換するコストを考えるとKotlinで書いた方が良いと思うけどなあ 変なこだわりでコトリンを毛嫌いするよりとりあえず使ってみなよ
シンタクスシュガーだらけの言語なので記述の選択の幅が広すぎるから
「あれもこれも達人みたいに使えるようになりたい!!」みたいな欲張りな考えさえ捨てれば
誰でも普通にすっと使えるようになるから >>283
> Kotlinは難しいと言われるJavaを簡単にした言語というのが本当だとすると
「簡単」というのが何を意味するのかによるな。
Java で書くと長くなって分かり辛くなるようなことを短く分かりやすく書ける(難しいことを簡単に書ける)という意味での簡単ならその通りだと思うが。
Kotlin で書いた方が色々と楽だよ。 >>284-286
ありがとうございます。
その本は熟読してみます。2冊読破するのに何ヵ月かかるかわかりませんが。
ChatGPTはよく嘘つくと言われますがプログラミングの分野ではどれほど信頼できるのでしょうかね? わたしはKotlinを毛嫌いしています。
Javaで突き進めるところまでいくかあるいは永遠にJavaを使い続けます。
上位互換(この語の使い方があってるかわからないけど)になってるならなおさらKotlinはいらん気がするし。わたしの認識ではJavaすら難しいと考える人のために浅い知識のままでも開発できるようにしたのがKotlin。 ところで
onSaveInstanceStateで保存してデータはどこに保存されてるんですか?
PrefernceやSQLデータベースのようにAndroidの中のアプリ専用フォルダの中? >>291
Kotlinの方が多機能なので上位互換ではないよ
KotlinでJavaの機能は問題なく使えるが、JavaでKotlin固有の機能を使えるというわけではない。
現在のモダンなAndroid開発のフレームワークがKotlinで楽に実装できる設計になっているから、
今からJavaでゼロから開発するとKotlinで始めるより結果的により苦労すると思う しかし世の中で言語の普及率は
Java >>>>>>>>>> Kotlin
じゃないか
Javaは小昔からあって信頼がある。
KotlinはiPhone開発のObjective-Cのように消えてしまわないか?(わたしの本音:消えてしまえ)
バックエンド開発でもPHPやPythonがあるのにわざわざRubyを作った日本人がいたが、わざわざ開発者に多大なる言語習得コストを強いて無駄じゃなかったか?実際Rubyは下火になってるし日本だけでしか通用しない。 >>295
Java習得してるならKotlinでJavaのように書くことができるぞ
Kotlinでは型定義が後置になっているのでそういう違いだけ抑えておけばいい
Javaの土台があれば自分でコーディングするぶんには学習コスト一日かからん微々たるもの
サンプルコード読むときには省略(Kotlinの特徴)されまくってて最初は読めないケースがよくあると思うけど
今の時代AIに聞けば解決するだろうよ >>292
そのデータはプロセスのメモリ上に保存されて、ファイルやDBに永続的な保存はされない
検索してみると、多分お前の読もうと言ってる本に書いてあるぞ
情報収集力低すぎね?そんな奴がKotlin批判とか笑えない >>295
Objective-CがSwiftに世代交代したようにJavaもKotlinに世代交代される側だと思うぞ AndroidはもはやKotlinがデファクトスタンダード
サーバー側も新規ならKotlinじゃね マルチプラで使おうと思ったけどまだ未成熟だったので使うのをやめた >>295
そもそもたかが言語習得コストを多大なるとか言ってる時点でプログラミング向いてないよ
特にKotlinなんて普通のJava経験者なら30分くらいで習得終わるし 今時JavaはできるけどKotlinはできませんなんてやつはAndroidエンジニアとして転職する先はないだろう AIを信頼できるかなんて考える必要あるのか
5chやブログコードのコピペが信頼できるのか Kotlin消えてしまえなんていうやつはAndroid Studioも使うな
eclipseでやってろよ 広辞苑より
「毛嫌い」
(鳥獣が相手の毛なみによってすききらいすることから) 何という理由もなく、ただ感情的にきらうこと。「インテリを―する」 サンディおじさんがandroidアプリ開発を5年ぶりくらいに再開したら目からうろこ
大量エラーもgeminiでプロジェクト内の問題解決までしてくれるのね
昔なら3,4日かかっただろう修正が3時間くらいで済んだわ
素晴らしい時代になった お助け下さい
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でも同じです。 SDK ManagerにはHAXMのかわりにhypervisorが表示されますがインストールしてもAMD用だみたいなメッセージが出て失敗します。
CPUはIntel core i5で仮想化には対応しているようです。 >>313
android studioでエミュレータを使うのと違うの?
pixel8aのプロファイルで使ってるけど特に実機と差異も無く使えるけど?
メモリは滅茶食う。
16GB無いとスワップしまくりでSSDの寿命がヤバイと思える。 >>315
Android StudioでAVD(エミュレータ)使う話です。HAXMを入れないとエミュレータが起動できない仕様みたいです。
入れてもAndroid Studioが認識してくれません。 >>316
一旦アンインストールして、最新版をインストールするのはダメ? SDK Manegerに表示もされてないのにAndroidStudioがHAXMをインストール作業するパスに勝手にフォルダ作ってインストールしてるだけなので、AndroidStudio的にはちゃんと認知できてない感じです。環境変数的なものがいるんでしょうね。 AndroidStudioの設定を初期化すると、「
SDK Component Setup」ダイアログで、「Check the component you want to update/install」とあって、そこでは「Performance(Intel HAXM)(installed)」
と表示されているのに何度押してもチェックが出来ません(笑)
AndroidStudioが頑なに拒否しますw >>317
最新版は手持ちの本と合わないので都合上4系でやりたいのです。 >>319
まあinstalledだとチェックしない仕組みみたいですが。入ってるのわかってるならAVDManagerでnot installedにしないで欲しい android studioは同じマシンに複数バージョンインストールできるから、まずは最新をインストールして、supervisorでエミュを動かして、シンプルなアプリを作って動かしてみるとよい
その後4.1.2を追加でインストールしてエミュでデバグできるか確認する
エミュは最悪コマンドラインから起動すれば4.1.2から認識できるとおもうんだけどね
あとエミュを無理して使う必要もない
おれは基本実機でデバグして最終チェックで実機がないバージョンの端末のテストにエミュ使う程度だ >>322
ありがとうございます。Win7ではコマンドプロンプトでもエラーが出て起動しませんでした。Win10ならWindowsの機能から仮想技術にチェック入れたらエミュレータは起動しました。
HAXMでやろうとするとSDKManagerにHAXMが表示されてチェック入れない限り駄目っぽいような
Googleさんがもう表示しないようにしちゃったんですかね。 SDKマネージャーのリソースのリポジトリはAndroidStudioのバージョン毎に用意されてるわけじゃないだろうし、サポート終了してリポジトリから削除したらSDKマネージャーから見えなくなるだろうね