2ちゃんねる スマホ用 ■掲示板に戻る■ 全部 1- 最新50    

Android開発質問スレ

1 :デフォルトの名無しさん(ワッチョイ de3c-eecL):2016/08/25(木) 23:34:25.22 ID:81UB5JLm0.net
!extend:checked:vvvvv:1000:512
↑スレ立て時は1行目と2行目に「!extend:checked:vvvvv:1000:512」をコピペして立てて下さい
荒らし対策のために強制コテハン表示&コピペミス防止
http://info.2ch.net/index.php/BBS_SLIP

Androidの開発全般に関する質問を扱います。

以下のスレが荒しによって機能していないのでワッチョイつけたスレ立ててみます。
上手くいきますように

Androidプログラミング質問スレ revision51 [無断転載禁止]©2ch.net
http://echo.2ch.net/test/read.cgi/tech/1457303564/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured

273 :デフォルトの名無しさん :2018/08/29(水) 17:46:49.98 ID:HxBiINAJ0.net
final Handler handler = new Handler();
final Runnable r = new Runnable() {
@Override
public void run() {
何かの処理();
handler.postDelayed(this, 1000);
}
};
handler.post(r);

この場合の時間は、何かの処理() + postDelayed(1000) ってことなのかな?

274 :デフォルトの名無しさん :2018/08/29(水) 18:11:54.72 ID:KAtXbyjX0.net
再帰の形になってるから、
なんかの処理+1000ms
が、延々と続くね。

275 :デフォルトの名無しさん :2018/08/29(水) 22:49:58.34 ID:NroqzxEA0.net
Oreoでフォアグラウンドサービスを起動して放置しておくと
Doze→Deep Dozeに遷移してスリープしちゃうから
AlarmManager#setExactAndAllowWhileIdleで10分おきに
意味のないBroadcast投げて疑似ウェイクアップさせてるんだけど
ファーウェイの端末だと全然効果ないみたい
ファーウェイの設定でバックグラウンド起動許可しても何しても
数回かに1回はスリープ入ってしまって肝心な時に動かない
これどうすれば回避出来るんだろう?
常に起きてるフォアグラウンドサービスという作りが悪いのかな?

276 :デフォルトの名無しさん :2018/08/30(木) 08:52:52.40 ID:k+AaA+te0.net
>>274
何かの処理()の時間を計測して、
postDelayed(1000 - 処理時間)
ってした方が良いのですね。
ありがとうございました。

277 :デフォルトの名無しさん :2018/08/30(木) 09:21:28.98 ID:ehDF7Sn/0.net
>>276
一定周期で実行したいならscheduleAtFixedRate
どうしてもHandlerを使いたいなら、「何かの処理();」の前に「postDelayed();」

278 :デフォルトの名無しさん :2018/08/30(木) 09:25:39.35 ID:Dm9ofpgW0.net
>>275
バッテリーの最適化しないの方にもアプリを登録した?
Oreoになってからこれに登録しないとxperiaでも動かなくなったよ

279 :デフォルトの名無しさん :2018/08/30(木) 10:39:39.46 ID:k+AaA+te0.net
>>277
TimerTaskのscheduleAtFixedRateが良いのですか!
ググるとTimerは評判悪かったので回避してました。
現在時刻を基準に長時間動かすなら、誤差が累積するHandlerよりも、
TimerTaskが良さそうですね、ありがとうございます。

280 :デフォルトの名無しさん :2018/08/30(木) 10:41:19.21 ID:KSTXTqe70.net
>>277
お前も理解足りてない。
ひっくり返したところで「タイマー」としては、おかしな動作になるだろ。
handler.postDelayed自体は名前の通り、delayしてpostするだけですぐに終わる。

281 :デフォルトの名無しさん :2018/08/30(木) 11:17:55.14 ID:k+AaA+te0.net
>>275
>例えば、Huaweiの一部の端末ではServiceのForeground化が行えない(正確には、API的には使えますが、すぐにKILLされます。
>また、CPU WakeUpも無効です)ため、一部の重要なServiceを常駐することができません。
>これは業務用アプリでは致命的になる恐れがあります。
https://qiita.com/eaglesakura/items/3f552dc5971d39fa9466

これかな?

282 :デフォルトの名無しさん :2018/08/30(木) 19:42:11.10 ID:6Jddx8rd0.net
>>278
最適化から除外したり省電力設定から除外したりしたけど
数回に1回はまともに動かないみたい(ユーザに試してもらった)
手持ちのXperiaでも5回に1回くらいの割合でスリープしてるようで
BroadcastReceiverに通知が飛んでこない事がある

>>281
多分それだと思う
スタックオーバーフローとかQiitaも色々見たけど解決策がなかった
個人アプリだから深刻ではないけど業務アプリはどうするんだろう…?

283 :デフォルトの名無しさん :2018/08/30(木) 19:48:06.71 ID:6Jddx8rd0.net
LINEとかどうやってバックグラウンド維持してるんだろう?
KeepAliveで通信を延々とやってるとか?

284 :デフォルトの名無しさん :2018/08/31(金) 00:37:52.41 ID:hMrh4GUk0.net
電話のパーミッション使ってるから優先度高く設定されてて殺されにくいとか

285 :デフォルトの名無しさん :2018/08/31(金) 07:58:24.16 ID:AhqWd12H0.net
>>280
>ひっくり返したところで「タイマー」としては、おかしな動作になるだろ。
どのようにおかしな動作になるのでしょうか?

286 :デフォルトの名無しさん :2018/08/31(金) 08:31:27.81 ID:8/k+msdEr.net
Handlerは基本スレッド間通信だからな
精度っつうもんは期待できない

287 :デフォルトの名無しさん :2018/08/31(金) 09:04:00.74 ID:KTkTPSgkM.net
rxjava

288 :デフォルトの名無しさん :2018/09/01(土) 14:11:22.32 ID:hH2uX1yHM.net
androiderに代わるサービスって今何が一番メジャーなの

289 :デフォルトの名無しさん :2018/12/10(月) 00:58:36.72 ID:0Vf+q8kL0.net
ここで聞く内容ではないかもしれないけど、詳しい人がいることを期待して来ました。
google play service が動かない端末って、どんな理由で動かないの?
ガラケータイプの端末(具体的には Yモバの 702KC など)であるアプリを動かそうとすると同サービスが必要だと言われ、
同サービスをインストールして再び試すと今度はこの端末では同サービスがサポートされてないと言われ、結局起動できない。
なんとか動かしたいと思ってるんだけど、そもそも端末の問題でどうやっても無理ってことがあるのか知りたい。
前述の 702KC の旧代である 502KC では動いてるようで、何か意図的に動作させないような細工が加えられたのならそれを無効にしてしまえばいいんじゃないかと思ってもいる。
702KC は android 5.1.1、502KC も同じはずで、同サービスが動く動かないを分けるような違いがどこにありそうか、心当たりをぜひ教えてほしい。

290 :デフォルトの名無しさん :2018/12/10(月) 08:44:31.76 ID:7zMFSy8G0.net
kindleは動かない

291 :デフォルトの名無しさん :2018/12/10(月) 11:25:48.84 ID:MCcY8gyl0.net
>>289
そういうガラスマみたいな端末はメーカーがかなりいじってるから
play serviceが対応してないのでは
デベコンの端末カタログにその型番で調べたけどなかったから
公式にサポートされてない端末ってことになる

292 :289 :2018/12/11(火) 08:20:33.34 ID:epqd8p1b0.net
>>290,291
ありがとう
デベコンの端末カタログってのを自分で設定したことが無いから外してるかもしれないけど、google play services については google が設定してるんだよね?
ケータイメーカーの方がわざわざ動作確認する義理が無いのはいいんだけど、わざわざ除外登録を google に申し入れてるかもしれないってことかな?
アプリ起動時のエラーメッセージ的には「この端末では同サービスがサポートされてない」と出てくるけど、これは同サービス自身が端末カタログを確認してあえてエラーにしてるってこと?
あるいは同サービスはわざわざエラーにするようなことはしてないけど、この端末で機能を動かそうとしたら本当にエラーが出ちゃってる感じなのかな。
具体的にアプリがどの機能を使ってるか分からないけど、ひとつは「みまもりマップ」ってアプリで少なくともマップを使ってるだろうし、
もうひとつ試したところだと「Gyao!」で、これは何使ってるのか分からないけど支払い関係なのかな(お目当てはみまもりマップの方でGyao!は試しただけでよく知らない)。

どっちにしてもそれほどシビアなものじゃなさそうな気がするし、アプリ起動初っぱなで出てくる。

293 :デフォルトの名無しさん :2018/12/11(火) 13:49:28.89 ID:O5AyGw5K0.net
逆にplay servicesに対応できてる端末をカタログに入れてそうな
エラーがでるならやっぱりコード的に動かないと思う(オフラインで試してみたら)

どうしてもその端末で動かしたいならplay servicesを使わないアプリにするしかないかも

294 :デフォルトの名無しさん :2018/12/11(火) 14:06:10.81 ID:c4tNtxZyM.net
play serviceのバージョン見るapiが確かあったから
対応してるか否かを判別するapiもあるかもね
それで確かめてみたら

295 :デフォルトの名無しさん :2018/12/11(火) 16:13:27.85 ID:R1whbxDO0.net
>>289
非対応機種は必要要件を満たしていないので、何をやっても無理

296 :デフォルトの名無しさん :2019/01/02(水) 15:49:31.18 ID:aUYiQAHa0.net
R.id.text
↑これを

"R.id.text"

↑のようにString型文字列に変換する方法はありますか?

297 :デフォルトの名無しさん :2019/01/02(水) 17:21:57.51 ID:QtajfbFKr.net
>>296
少なくとも俺は聞いたことないな
contextかresourcesのクラスになければ無いのでは

298 :デフォルトの名無しさん :2019/01/02(水) 20:21:48.45 ID:aUYiQAHa0.net
>>297
ないですか...
ありがとうございます

299 :デフォルトの名無しさん :2019/01/03(木) 17:24:02.36 ID:mPxSEijK0.net
Activity継承してないクラスで
Contextが必要なメソッドを使うとき
どうやればいいですか?

継承してるクラスではthisやgetAplicationContextを与えてやればいいと思いますけど

300 :デフォルトの名無しさん :2019/01/03(木) 17:44:53.19 ID:/EMlLfI1M.net
渡す

301 :デフォルトの名無しさん :2019/01/03(木) 18:01:10.31 ID:mPxSEijK0.net
そのままcontextのオブジェクト作って渡せばできますか?

302 :デフォルトの名無しさん :2019/01/03(木) 18:04:14.06 ID:kL8lZEiy0.net
>>301
自分でやってみろ

303 :デフォルトの名無しさん :2019/01/03(木) 19:35:54.48 ID:mPxSEijK0.net
できない

304 :デフォルトの名無しさん :2019/01/03(木) 20:49:46.41 ID:NllqTaQv0.net
できるできないじゃない
やれ

305 :デフォルトの名無しさん :2019/01/03(木) 21:46:00.07 ID:kik/Kwrk0.net
contextは勝手に作らない。
Activityのthisを渡しとけ。

306 :デフォルトの名無しさん :2019/01/03(木) 23:37:03.15 ID:Kz4HEXfb0.net
viewが絡むならactivityのthis
そうでないならgetApplicationContext

307 :デフォルトの名無しさん :2019/01/04(金) 09:49:46.39 ID:mDaXDGZYd.net
Activityを継承するかActivityのインスタンスを作って
継承ならthisかgetApplicationContext、インスタンスならgetApplicationContext渡せばいいということですか?
viewが絡むならthisで

308 :デフォルトの名無しさん :2019/01/04(金) 19:51:02.36 ID:MMowKaFO0.net
>>296
何がしたいのか良くわからんが・・・

Reflectionを使えば、(リソース等から生成されるClassである)Gの("id"などの)フィールド
や、さらに("text"などの)id下のフィールドを列挙し、名前・型・値など取得できるから
その値がR.id.textと一致するもの("id"/"text")を探せばいいのでは?

参考: ttps://did2memo.net/2013/09/10/java-reflection-how-to-display-all-java-field/

309 :デフォルトの名無しさん :2019/01/14(月) 22:53:26.92 ID:GZjDNbX90.net
Android Studio Part3
https://mevius.5ch.net/test/read.cgi/tech/1547473943/

310 :デフォルトの名無しさん :2019/02/10(日) 14:08:27.51 ID:pWiSlNcq0.net
俺の自作アプリ数カ月に一回数千規模で
インストール端末数が増えたり減ったりするんだけど
なんなん

311 :デフォルトの名無しさん :2019/02/10(日) 20:52:31.22 ID:xdwoypoy0.net
どこかの国のplayストアでオススメかなにかに載っているのかもね

312 :デフォルトの名無しさん :2019/02/10(日) 21:00:57.17 ID:DEAY/ZboM.net
それで増えるのは分かるけど減るのが分からん

313 :デフォルトの名無しさん :2019/02/10(日) 21:58:50.45 ID:xdwoypoy0.net
すぐアンインスコされてたりしてね

314 :デフォルトの名無しさん :2019/02/11(月) 17:44:53.21 ID:K5ODxqVa0.net
それならプラマイ0でマイナスにはならないかと

315 :デフォルトの名無しさん :2019/02/11(月) 19:23:13.86 ID:ims1xdMg0.net
過去にインストールされてたものもジワジワ削除されてたら右肩下がりになりそうだ

316 :デフォルトの名無しさん :2019/02/18(月) 22:14:30.07 ID:0exbN2G30.net
もしかしてandroid9でokhttp3を使うとクラッシュします?
play consoleで9だけclassnotfoundexceptionのクラッシュ報告が出てるけど原因が分からない。
androidstudioの9エミュではクラッシュしないので困ってます。

317 :デフォルトの名無しさん :2019/06/07(金) 23:56:20.42 ID:Rrj1Onjo0.net
ちょっと教えてください
android開発始めて1か月ちょっとなので
質問自体が意味不明かもしれませんが

常駐部分がネットに定期的にアクセスして
ある条件に合致したらメインを起動(?)して
得られた情報を表示するって感じです

serviceを使うんだと思いますがタイプが2種類あるとか

ちなみにプログラミング言語はJavaじゃなくマイナーな言語で
表示部分やネットアクセス部分はもうできてます
(Windows版を修正してandroid対応させただけですが)

よろしくお願いします

318 :デフォルトの名無しさん :2019/06/08(土) 00:32:14.92 ID:UY8ouPFW0.net
そもそも質問自体がないじゃないかw

319 :デフォルトの名無しさん :2019/06/08(土) 00:42:56.99 ID:1B092JI30.net
質問が意味不明

320 :デフォルトの名無しさん :2019/06/08(土) 00:43:31.96 ID:1B092JI30.net
とりあえずJavaかコトリンで作って下さい
それだけです

321 :317 :2019/06/08(土) 10:21:30.62 ID:1PAWXyZw0.net
質問が意味不明で申し訳ありませんでした

あれから検索して簡単なサンプルプログラムで
serviceを実装するところまではできました
serviceからメインの方へのデータの引き渡し方など
試行錯誤してみます

322 :デフォルトの名無しさん :2019/06/08(土) 10:59:24.01 ID:SeEp05JrM.net
JobSchedulerを使うべき

87 KB
新着レスの表示

掲示板に戻る 全部 前100 次100 最新50
名前: E-mail (省略可) :

read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★