Androidプログラミング質問スレ revision54

■ このスレッドは過去ログ倉庫に格納されています
2017/11/15(水) 05:24:17.80ID:F5cxE2Dc
※プログラミング自体が初めて!なあなたには↓↓↓こちらへ
スレ立てるまでもない質問はここで 146匹目
http://mevius.2ch.net/test/read.cgi/tech/1487825717/
Eclipse統合M36【Java/C++/Ruby/Python/Scala】
http://mevius.2ch.net/test/read.cgi/tech/1503723668/
★★Java質問・相談スレッド180★★
http://mevius.2ch.net/test/read.cgi/tech/1492780397/
****オススメ関連リンク****
■ TechBoosterhttp://techbooster.org/category/android/tableofcontents/
■ Androidメモhttp://www.saturn.dti.ne.jp/npaka/android/index.html
■ 逆引きAndroid入門http://www.adakoda.com/android/
■ Androidプログラマへの道http://wiki.livedoor.jp/moonlight_aska/
■ Android Wiki*http://wikiwiki.jp/android/

****公式リファレンス****
■ Android developershttp://developer.android.com/index.html
■ ソフトウェア技術ドキュメントを勝手に翻訳http://www.techdoctranslator.com/
■ 日本Androidの会http://www.android-group.jp/
■ StackOverFlowhttp://stackoverflow.com/questions/tagged/android

****前スレ****
Androidプログラミング質問スレ revision52
http://echo.2ch.net/test/read.cgi/tech/1479305887/
Androidプログラミング質問スレ revision53
http://mevius.2ch.net/test/read.cgi/tech/1488052551/
2018/06/27(水) 15:31:08.45ID:b0s9+6fe
デッドロックするならたぶん>>722か悪い
javaのsynchronizedとして使ってないのでは?
2018/06/27(水) 16:30:48.91ID:kZGjx8UI
>>723
ありがとうございます。
new Thread(new Runnable() を多用しているので、
private synchronized void kansu()で強引に使ってみただけなんです。
書き方と言うか、使い方やネストを見直してみます。
2018/06/27(水) 16:54:28.14ID:VcfhxjvV
privateメソッドでメソッドスコープの同期って粒度でかくね
2018/06/27(水) 19:04:39.51ID:b0s9+6fe
>>724
それならexecutorServiceにRunnableの実行を任せたほうがスレッド数とかcallableで返り値取得とかできていいぞ
2018/06/27(水) 20:32:56.17ID:6YqD/Q1A
executorServiceって最近は本でも見ないけども、
意外と有効なのね。
2018/06/28(木) 10:57:58.38ID:tMTnxUV1
こんな感じで共通の関数を使い、
値を加工しながら渡して行く場合、
どんな非同期処理が有効なんでしょうか?

https://ideone.com/CaSrJ3
2018/06/28(木) 12:04:37.63ID:tMTnxUV1
>>726
// new Thread(new Runnable() {
final ExecutorService executorService = Executors.newSingleThreadExecutor();
executorService.submit(new Runnable() {

Thread()をExecuteService()にしてみましたが、
デッドロックの発生頻度が上がってしまいました・・・。
2018/06/28(木) 12:09:03.47ID:M7t0D3p6
>>729
ExecutorServiceをRunnableとThreadで包んであるのは何か理由ある?
newSingleThreadというメソッド名が示す通り、勝手にワーカーThreadは用意してくれるので包む必要がない
2018/06/28(木) 12:11:45.20ID:M7t0D3p6
ああすまん、コメントアウトしてたのか
ロックの扱い方が悪いんだろうけど
これについてはソースコードがないとなかなかわからない
2018/06/28(木) 12:24:57.21ID:tMTnxUV1
>>730
ありがとうございます、ざっくりしたソースは>>728です。
必要なスレッド数を確保する為(ソースで言うと偶数と奇数なので2つ)に、
ScheduledExecutorServiceを使用してみましたが、
あまり変わりませんでした。

final ScheduledExecutorService executorService = Executors.newScheduledThreadPool(2);
executorService.submit(new Runnable() {
2018/06/28(木) 13:24:50.72ID:fREB9Kzm
rxjavaでzipで待てばいいだけじゃねえの
2018/06/28(木) 14:46:53.25ID:fB7+LtVt
脳にダメージが来るコードだなおい
2018/06/28(木) 15:45:10.73ID:M7t0D3p6
デッドロックが起きたことを示す資料はあるか?
糞パフォーマンス実装は無視するとして
問題はハンドラーの無限ループであるように見える
2018/06/28(木) 15:45:20.40ID:tMTnxUV1
>>733
https://qiita.com/disc99/items/1b2e44a1105008ec3ac9#zip
https://qiita.com/toastkidjp/items/581e89559f05952fbdb6

こんな感じなのでしょうか?
最初から作るのならRxJavaで作るべきだったのかもしれませんが、
後からRxJavaに変更すると、ほとんど作り直しになりそうなので、悩んでます。
発生頻度は24時間連続で動かして1〜2回程度なので、ちょっとした改善で直らないかなと。

>>734
なんとなくおかしいのはわかるのですが、
どのように書いたらダメージが来なくなるのでしょうか?
2018/06/28(木) 15:48:45.03ID:tMTnxUV1
>>735
ファイルに保存する時にSystem.nanoTime()で保存時間を見ているのですが、
20,40,60,80となるところが、
20,40,80といった具合に、稀に時間が飛んでいます。
2018/06/28(木) 22:33:26.09ID:N51lzWWT
https://ideone.com/p5nxqj

無理矢理書くならこうか?
駄目だ読みづれえ
2018/06/28(木) 23:58:46.46ID:M7t0D3p6
GuavaのconcurrentパッケージかRxJava使ったほうが楽だぞ
2018/06/29(金) 10:03:52.70ID:OTypfvcs
>>738
kansuにimplementsが出来たり、
共通でExecuteServiceが使えるのですね!
おもいっきり目から鱗が出ます!ありがとうございます。
2018/06/29(金) 14:38:34.69ID:6d89hshU
rxjavaでやらないと失格
2018/06/29(金) 16:58:16.00ID:Y/KYJ7Ik
初心者スレから移ってきました

AndroidStudioをSandybridgeマシンに初めて入れてみたのですが、仮想マシン起動しようとすると、Intel HAXM is required to run this AVDとエラーが出て仮想マシンが立ち上がりません
ぐぐると仮想化VT技術がBIOSで切られてる可能性があるとあったのでVirtualCheckerというソフトで確認したのですが、SandrbridgeでサポートされていないVT-D以外すべてEnableになっていました

これはSandyおじさんはAndroidStudioは使えない仕様なのでしょうか?
2018/06/29(金) 17:35:03.38ID:kuaUShSe
俺もSandyBridgeおじさんだけど普通に使えるよ
2018/06/29(金) 17:45:01.79ID:3dasnpv5
そのエラーメッセージでググると
VirtualCheckerでも問題無しだった場合に〜っていうのがあるでしょ?
試して見た?
2018/06/29(金) 17:48:15.96ID:Y/KYJ7Ik
>>743
即レスありがとうございます
VTCheckerかけるとSandyで使えるVT技術は全部Enableにしてますし、vmwareとかも問題なく使えてます
http://imgur.com/NcRb1Bz.jpg

このエラーはどうすれば回避できるのでしょうか?
http://imgur.com/MV5DllP.jpg
他のamd系の仮想マシンも見たのですが全てでこの警告が出てます

CPUは2600k使ってます
2018/06/29(金) 17:51:40.32ID:Y/KYJ7Ik
>>744
はい、削除して入れ直しってあったので試しましたが削除もできないです
2018/06/29(金) 18:26:54.88ID:pEnsgRYM
>>746
これと同じかな?
https://stackoverflow.com/questions/36702300/your-cpu-does-not-support-nx/36885582#36885582
2018/06/29(金) 19:22:29.94ID:TUwYY0CR
Sandyは無理
2018/06/29(金) 21:15:57.95ID:u3XlcYjt
まあ最悪実機でデバッグするしかないだろうね
750743
垢版 |
2018/06/30(土) 00:13:31.25ID:0y3jiOf+
>>745
今帰宅したからVTChecker使ってみたけど右下のやつもEnabledになってるわ
因みにCPUは2500
2018/06/30(土) 01:44:55.74ID:3bxaslq1
>>747
>>750
ビンゴですありがとうございました
2018/07/02(月) 16:27:31.00ID:bnZISJWm
AndroidStudioでdownloadしたファイルや展開中のファイルだけ指定したフォルダーで実行させるセッティングなんてありませんか?

いつもはTempフォルダーを6G割り当ててるRAMDISKにしてるのですが、AndroidStudioで仮想マシン作る時やコンパニオンかけて足りないlibrary落としてくる時にRAMDISKでは足らず、
tempフォルダーをCドライブに戻して再起動かけないといけないので困ってます。
2018/07/02(月) 17:54:06.99ID:vretJazC
文字列を管理するstrings.xmlってあるけども、
これを使用するメリットって多言語対応する時に便利ってくらいでしょうか?
速度とかはjavaで直接書いた方が早いとかあります?
2018/07/02(月) 18:34:37.97ID:GTvDCPZS
Androidstudio(mac)で新規でプロジェクト作ったら、それだけでエラーになるのはなんだ?と思ったら、どうもかスペルスキーが悪さしてるみたいで、かスペルスキー止めたらエラーにならなくなった…コノヤロ…
2018/07/02(月) 20:22:24.80ID:dwyacGBa
>>753
まんま文字列リソースやけん、他言語対応するために使うものったい。
2018/07/02(月) 20:24:53.73ID:/r4lYb9j
たまに速度気にするやついるけど今どきのAndroidなら
余程のことがない限り人間が認識できるパフォーマンス差は出ない
2018/07/02(月) 21:20:30.39ID:5P2Dd25j
ユーザーが見聞きするテキストはリソースで管理
2018/07/03(火) 15:05:53.20ID:k8WNCQ/C
アンドロイドアプリの開発ツールでは何がおすすめですか?
2018/07/03(火) 15:23:14.88ID:OcHv0iTk
Xamarin程の糞はない
2018/07/03(火) 15:37:24.32ID:surRZ8ao
ここで聞くレベルなら、AndroidStudio一択じゃね
基本知らずに他の統合環境使っても情報少ないし
2018/07/03(火) 15:57:13.65ID:k8WNCQ/C
javaとかはeclipse使ってたのですがAndroidStudioは重くて
2018/07/03(火) 16:17:34.08ID:SRscb2Qv
SSDにしてみ
めちゃくちゃ早くなるよ
2018/07/03(火) 16:54:22.06ID:B52/J6xq
たまにeclipse使いたいおじさん湧くけどAndroidStudio一択だぞ
2018/07/03(火) 19:06:00.56ID:QveK0Kmy
AndroidStudioが重いって、どれだけ低スペPCを使ってるんだろう?
765デフォルトの名無しさん
垢版 |
2018/07/03(火) 20:05:31.94ID:fZyKyLxj
いや起動が重いよ
起動しちゃえばそんなでもないが
2018/07/03(火) 20:17:21.46ID:ymjF7T0g
それぞれ環境は違う
無意味だ
2018/07/03(火) 20:25:42.97ID:YPsEEKGO
>>765
Javaアプリはしゃーない
2018/07/03(火) 20:46:28.31ID:tkqiimFj
環境も違うけど感覚の違いも大きい
769デフォルトの名無しさん
垢版 |
2018/07/04(水) 06:39:32.65ID:deFmQ17L
起動を速くしたいなら、SSD。
ビルドを速くしたいなら、CPU(クロックよりコア数)とメモリ。
2018/07/04(水) 09:03:53.15ID:1kYT8wTj
メモリは16GBあったほうがいいな
エミュがメモリ食いすぎる
2018/07/04(水) 16:20:33.21ID:PJj9ZCzu
16GBなんだけどフリーズが止まらない
2018/07/04(水) 20:01:09.49ID:TK2BEKkk
> フリーズが止まらない
止まらないならフリーズしてないじゃん
よかったな
2018/07/04(水) 20:07:15.94ID:oHQu7jEJ
16GBでフリーズって必要ないスワップでもしてんじゃないの
2018/07/04(水) 20:29:35.65ID:gFsiIKeB
止まらないフリーズ
走らないランナウェイ
775デフォルトの名無しさん
垢版 |
2018/07/04(水) 20:33:59.15ID:7MpiYGhD
Write once, Bug anywhere.
2018/07/04(水) 21:18:03.83ID:vgNKiHB/
まさかペロペロキャ…?!
https://upload.wikimedia.org/wikipedia/commons/thumb/b/b1/Android_P_Easter_Egg.jpg/800px-Android_P_Easter_Egg.jpg
777デフォルトの名無しさん
垢版 |
2018/07/04(水) 21:48:44.12ID:gFgZc5FG
DPA
2018/07/05(木) 11:53:11.10ID:9a0iPtZD
警告アラート
779デフォルトの名無しさん
垢版 |
2018/07/05(木) 20:45:29.77ID:DCgG1o0B
Android 8.0のユーザーから2回目以降の動作で通知が来ると言われてるんだが
何で最初のBroadcastReceiverの通知が受け取れないのか分かる人いる?
もしかしてDozeとか絡んでる?Android 6.0、7.0の時はこんな頻繁に発生しなかった
2018/07/05(木) 21:05:59.85ID:XbVuomuP
権限関係がどんどん厳しくなってるからなー
2018/07/05(木) 22:16:31.62ID:ouU8kf/U
エミュでこういうエラー出たんですけど意味わかりますか? あまり情報出てこない
glTexImage2D: got err pre
右下にポップで出て特に停止もせず動くのは動くんですけど
2018/07/05(木) 22:30:44.61ID:xpEmfw4x
ずっとJavaで作りたいんだが…
なんとかならんのか!!
2018/07/05(木) 22:50:03.29ID:zhHpKoz0
ASでkotlin変換するとどんなアプリも100%動作できるレベルに変換できるの?
2018/07/06(金) 12:18:53.26ID:1adhkv8O
Android Studio3.1は動作が不安定だから使わないがいいって言われてたけど
もうそろそろ更新して最新使っても大丈夫でしょうか?
2018/07/06(金) 12:39:38.67ID:gYTWeILw
Linearlayoutの背景にvector drawableの画像をタイル状に敷き詰めたいのですがどうすればいいですか?
drawableフォルダにdrawableリソースファイルを作成し
layerをルートタグとしてitemタグ→bitmapタグを作成
bitmapタグにsrcとしてvector drawableの画像を指定し、tile属性にrepeatを指定
最後にそのリソースをLinearlayoutの背景に指定すれば良いかと思ったのですが、実行すると背景が何も表示されません
bitmapタグの代わりにshapeタグ→solidタグで背景色を指定したリソースに差し替えると背景色がちゃんと変わる事は確認しています

bitmapタグの使い方がおかしいのでしょうか?
どなたかわかる方教えてください
よろしくお願いします
2018/07/06(金) 13:22:46.37ID:o6WrzJIT
https://qiita.com/konifar/items/bf581b8f23dea7b30f85
これじゃ?
787デフォルトの名無しさん
垢版 |
2018/07/06(金) 16:04:21.31ID:vovvZbzd
GPSコマンドのスピードから移動距離って出せますか?。
その時の精度はヒュベニイの方法より上ですか?。
2018/07/06(金) 16:32:57.90ID:zvJYjc+f
今年に入ってツール系アプリを
個人で作った方いませんか?
DL数とかどんな感じですか?
稼げてますか?
789デフォルトの名無しさん
垢版 |
2018/07/06(金) 17:09:37.40ID:qtqoxO2d
神ゲー
https://goo.gl/U5BA1Y
2018/07/06(金) 17:39:42.30ID:gYTWeILw
>>786
ありがとうございます
帰宅後に実装して確認します
2018/07/06(金) 19:42:09.55ID:sLBKa11H
>>784
不安定?そかな?自分はなんともないけどな
2018/07/06(金) 19:44:41.88ID:gLP4VBNq
android開発では、javaとkotolinとどっちがお勧め?
2018/07/07(土) 10:44:47.56ID:pSI+wWiJ
アセンブラ
2018/07/07(土) 10:58:01.52ID:a1KBV+YR
新規開発はもうKotlin一択
2018/07/07(土) 13:20:09.81ID:VDdqepD2
全然プログラムの話じゃないんだが、
simなし泥端末が欲しいんだけど、何がいいと思う?
俺のなかでは
・ただの泥ダブ
・格安端末
・エジソンに泥を容れる
の三卓かな?と思うのだけど
796デフォルトの名無しさん
垢版 |
2018/07/07(土) 13:23:29.90ID:VDdqepD2
新規開発ならコティンだろ。
つかJavaで書いても自動でコティンにしてくれるから、
Java勉強して変換後と比較するのが近道だろ。

コティンで書こうとJavaを知らなきゃAPI一つ満足にかけないだろうし
797デフォルトの名無しさん
垢版 |
2018/07/07(土) 13:26:18.10ID:VDdqepD2
それにコティンは普及しないと思う。
APIセット全部を書き換えないとオラクルから逃げられない。
2018/07/07(土) 13:32:20.46ID:xu0tQv98
>>795
Nexus6p
Pixel2
Xperia XZ
2018/07/07(土) 13:50:29.34ID:PLMP0Xzn
Kotlinをコティンと読むには無理がある
2018/07/07(土) 13:50:59.28ID:+MXE5rTZ
ティンコ
2018/07/07(土) 13:56:39.35ID:K+631JYx
Nexus, Pixel 必須
Xperia, Galaxy あったほうがいい
Huawei, Xiaomi 余裕があれば
2018/07/07(土) 14:02:09.30ID:GDMXn/8t
エミュでHuaweiの機種のエミュとか対応してくれないかなあ
2018/07/07(土) 14:51:05.82ID:cKmJS2is
タプレッドなのにスマホuiになる糞仕様のことか
2018/07/08(日) 20:40:45.20ID:VOj2mz6l
Kirinが特殊ってか、情報を公開して無いんだろうな
2018/07/08(日) 20:56:12.39ID:Wsc+kI0l
ある時期のOSレベルから、Wi-Fi スキャンを全然しなくなってないか?
自宅に帰ってもWi-Fiに自動で切り替わらないんだけど。。?

Xperia XZs Android 8.0
当たり前だが「自動接続はON」にしている。
でも、プログラムを書いて確認した限りは、5分は自動で切り替わろうとしない。

Wi-Fiを切り捨てるのは、早いんだけどな。 APの電源を切ったら6秒もしないでセルラーに切り替える。
反応が遅いと判断したのは、APの電源を切り、ビーコン発信を再開。
Windowsだとキッチリと30秒程度でWi-FI APを再検出する。
しかし、Androidは、5分過ぎないと変化しない。

手動でWi-Fi設定画面でスキャンを実行させると切り替えるけどね。
尚、API Level 28(P)で手動スキャンは廃止されるから、今後、小さな大問題になるような気がした。

以上。 ぼっちの報告。
2018/07/08(日) 21:18:45.24ID:P3+nNQnw
>>805
ZenFone3と4だけど8.0にしても全然問題無く自動でWiFi掴むよ
2018/07/08(日) 22:07:38.31ID:Jzinsuog
>>805
xz1 compactだけど即切り替わるわ。5分なんて絶対かからない
2018/07/08(日) 22:17:24.09ID:64/Y/CHn
>>797
>>799
wikiだとコトリンだって
809デフォルトの名無しさん
垢版 |
2018/07/09(月) 07:24:58.81ID:LQOZFPUl
そうなん?俺の端末だけかな
WIFIのスイッチ画面を出さないと、掴もうとしない。
もうちょい調べてみる。
2018/07/09(月) 09:40:14.53ID:ns/L4QL4
kotlinの記述が簡潔なのはわかるが
やっぱjavaですかね?>android
2018/07/09(月) 10:02:15.36ID:XAa0VhG1
>>798>801
Pixelは技適違反だろ
2018/07/09(月) 12:10:29.20ID:7ORJ9C9D
技適違反がどうした。何の問題あるのか
かかってこいよ
2018/07/09(月) 12:42:06.13ID:fxjMYMXU
技適ってよくわからないけどどういうの?
電波出すやつ関係にあったりするよね
日本は日本だけの基準があるの?
2018/07/09(月) 12:50:12.59ID:pqBCfLfH
基準は特別なことはない
規定の範囲内の周波数を使ってることの認定
電波なんて好きかって使われたら大パニックになるから認証制度がある
2018/07/09(月) 15:19:07.50ID:XAa0VhG1
>>812
技適違反の機種で確認したアプリを出すと
「この人(会社)は平気で法律違反するんだな」って思われる。
現状は経団連が政府に提言している段階だから、他人に勧められる状態じゃない。
2018/07/09(月) 15:58:35.16ID:7ORJ9C9D
何でPixelでしか確認しない前提なんだよ
いろんな機種で確認するに決まってんだろ
海外にも公開するアプリ作ってるのに世界シェアのある端末で確認しないのはアホ
817デフォルトの名無しさん
垢版 |
2018/07/09(月) 17:58:51.66ID:LQOZFPUl
>>810
コティンでプログラムは書けても
Javaを知らずにアプリは書けない、
アプリのフレームワークは、必ずJavaに依存しているからね。

取り敢えずJavaで書いて、コティンに変換したソースをギフハブに載せて、
さも主流はコティンですよ!とドヤ顔するのが勝利の条件。
Javaだけ知ってりゃ困らないし、
今後もそこは変わらない。

何故なら、javavmとフレームワークに依存する既に書かれたアプリが全部動かなくなるからね。

Java切り捨てて、ネイティブアプリに移行する。
とかの方が現実味がある。
コティン専用の新フレームワークが出るまでは放置でよい。、と思う
818デフォルトの名無しさん
垢版 |
2018/07/09(月) 18:00:47.06ID:LQOZFPUl
コティンで書いても速度は変わらんだろうし、結局はJava中間コードを吐くしね。
2018/07/09(月) 18:02:40.56ID:d3ah5m4s
勉強する時間がないんだよねえ
Java使いこなしてる人がkotlinでアプリ作れるようになるまでどれくらい時間かかるかな
820デフォルトの名無しさん
垢版 |
2018/07/09(月) 18:23:35.11ID:NIgnyVo4
コティンって・・・
2018/07/09(月) 18:35:54.97ID:49BAkqpD
自分のアプリを一つkotlinに書き直してみれば大体できる
2018/07/09(月) 18:48:25.88ID:m1f1P4UM
コティンおじさんの自信はどこからくるんだ
コティンて呼ぶのが面白いのかな
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況