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/
671653
垢版 |
2018/06/09(土) 02:11:42.06ID:BKhLx4+x
>>670
ESで確認出来ました。 ありがとうございます。
2018/06/09(土) 12:39:19.71ID:zOy9TlSh
運営にひどい暑がりがいてしんどい
2018/06/11(月) 11:24:30.52ID:dz+JVGD3
サーフェイスビューで文字を表示するとき、フォントを明朝体にしたいのですが、どうすればいいですか?
いくら調べても出てきません。
2018/06/11(月) 11:38:14.40ID:JgNCChlr
端末にフォントがないとダメんじゃなかったか?
2018/06/11(月) 12:05:34.20ID:dz+JVGD3
仮にアセットにフォントをインストールしたとしても、サーフェイスビューでそのフォントに設定する方法が見つかりません。
テキストビューなら可能なようですが、サーフェイスビューで表示したいのです。
2018/06/11(月) 12:24:10.20ID:VZyc8FQB
やったこと無いけど
openGLとかで表示させるのかな
そういうサンプルとかありそうだけど
2018/06/11(月) 12:50:42.55ID:nuDcZ0Ua
アセットからTypefaceオブジェクトを作って
Paintのtypefaceにセットする
2018/06/11(月) 13:43:51.50ID:dz+JVGD3
なるほどここにありましたね↓
https://tech.recruit-mp.co.jp/mobile/remember_canvas1/

でも単に明朝体が使いたいだけなんですけどね。
テキストビューなら明朝体を指定するだけで使えるみたいだけど、最近の端末には明朝体がないみたいだし、エミュでは表示されるけど端末ではゴシックなのかな。
複雑すぎますね。
2018/06/11(月) 23:07:11.41ID:MG33ZzuR
line通話しているときに、丸いアイコンが右上に出るやつ、他のアプリ起動してても常に全面に出る
あの作り方を調べたいんだけど、名前がわからない
知っている方教えてください
2018/06/11(月) 23:27:53.75ID:oX9XT8xk
>>679
line使ってないから分からんけど、オーバーレイかな?

http://adash-android.jp.net/service%E3%82%92%E5%88%A9%E7%94%A8%E3%81%97%E3%81%A6%E3%82%A2%E3%83%97%E3%83%AA%E3%82%92%E3%82%AA%E3%83%BC%E3%83%90%E3%83%BC%E3%83%AC%E3%82%A4%E8%A1%A8%E7%A4%BA%E3%81%99%E3%82%8B/
2018/06/11(月) 23:32:03.89ID:uhCfZ60W
知らんけどこれでできるんじゃね
画面上にアプリの情報を常時表示する
ttps://techbooster.org/android/ui/13182/
2018/06/11(月) 23:41:46.22ID:uhCfZ60W
昔こういう本も出てたな。何かヒントが得られるかも

Android対応 マスコットアプリ プログラミング
ttps://www.amazon.co.jp/dp/4797368837

1円だったから買ってみたわ
2018/06/12(火) 01:05:56.96ID:XUAiCxGW
多分、オーバーレイで出来そうです
ありがとう
2018/06/12(火) 12:29:24.69ID:B+SrzKTm
サイト内でのGoogleマップ、6月12日から表示されない可能性
https://k-tai.watch.impress.co.jp/docs/news/1126926.html

Google Maps Platformの料金
https://www.zenrin-datacom.net/business/gmapsapi/price/

API                  月額無償枠(200$まで) 0〜100,000/月 100,001+/月
Mobile Native Dynamic Maps  無制限のロード      \0         \0

MapViewを使ったネイティブのマップはいくら表示しても無料になる
という認識でいいんだよね?
2018/06/12(火) 21:24:35.82ID:OGcmo0qi
プロジェクトを新規作成すると、cannot resolve symbol AppCompatActivityとエラーが出ました
importが上手くいっていないという事はわかるのですが、なぜそうなったのかはわかりません
色々と調べた結果、どうも build.gradle の dependencies の各アイテムが、正常に動いているプロジェクトの
各アイテムより微妙にバージョンが低いもので作成されているようでした。
dependencies を正常なプロジェクトからコピペして上書きすれば動くようになるのですが
他に同じような症状に遭遇している方いますか?
2018/06/12(火) 21:35:51.87ID:RfI/RA3w
compilesdkとサポートライブラリのバージョンを揃えるのが大事
2018/06/15(金) 21:02:58.08ID:cv13PWaZ
GDPRってアプリインストール時に同意フォーム表示すればいいだけじゃないの?
何でアプリが個別に対応しなきゃならんの?
2018/06/15(金) 21:12:50.93ID:q5knCegX
アプリのインストール時に表示される許諾のダイアログはアプリが要求する権限(とインストール)のものでGDPRのじゃないから
それもAndroid 6.0からは単なるインストールの許可ダイアログになってる(権限の許諾はアプリ実行時に都度行う)
2018/06/16(土) 11:15:29.90ID:2NlVya6v
>>688
だからグーグルが対応しろよって話じゃないの?
2018/06/16(土) 12:08:07.22ID:TJIUHWP+
GDPR対応っていうのはユーザーに同意ボタン押させれば終わりっていうわけではなく、
これまで以上に個人情報の取り扱いを厳密にする実務面の負担が追加されるわけで
それは当然アプリ提供者側の仕事なので実際のところストア内アプリに関してGoogleができることなどほとんどない
2018/06/16(土) 13:24:44.37ID:7Nkh6D+N
そーゆーこと
2018/06/16(土) 15:54:31.45ID:jQYtndrZ
>>690
なるほど
2018/06/16(土) 21:53:45.53ID:XgkI9oYL
アプリで個人情報を扱ってなければ何の対応も必要ないから
ググルが対応しろというのはちょっと違うよな
2018/06/16(土) 22:26:23.63ID:Lncy7K/y
GDPR程の糞はない
2018/06/16(土) 22:40:37.07ID:9NNZo3US
GDPRは広告を表示していると対応しなきゃいけないんだけど
UnityAdsはUnity側が対応しているのにAdmobはgoogle側が対応していない
そこを文句言ってるんじゃなくて?
2018/06/16(土) 22:40:38.30ID:7Nkh6D+N
ツイッターで見かけた記事には、プライバシー情報を企業から個人に返すことによって、ビジネスのチャンスが生まれてくるなんて書いてあったけど、リテラシーがまったく不足してる日本じゃ、それを活かすことはできないよなぁ。
2018/06/17(日) 17:44:00.12ID:kHvgk32W
Android対応 マスコットアプリ プログラミング
が届いたから一通り目を通してみたが全く今回の件と関係なかったわ
2018/06/17(日) 23:07:53.12ID:8S1deCpp
accessbilityserviceのkeyeventからハードキーの操作を検知しているのですが、画面オフだと検知されません。
画面オフでも検知する方法はあるでしょうか?
参考になるサイトなどあれば教えてもらえると助かります。よろしくお願いします。
2018/06/18(月) 15:51:06.25ID:GOHTB3SK
画面オフでonStopに入るから検知は無理だと思う
BroadcastReceiverでハードキーは検知できる
2018/06/19(火) 09:44:44.03ID:DKE+HUB7
runnable intentserviceって何が違うのでしょうか?
どちらも非同期で、送った順番に処理していくだけに見えるのですが、実際はどうなのでしょう?
https://qiita.com/KeithYokoma/items/4e6e9bd4e44aab63424d
2018/06/19(火) 09:56:05.96ID:79Fiix4+
IntentServiceはAndroid特有でServiceのライフサイクルで動くよ
2018/06/19(火) 11:06:06.70ID:DKE+HUB7
>>701
ありがとうございます。
ざっくりで言うと、こんな感じでしょうか?

Runable:Java本来の非同期処理
IntentService:Android用に最適化して作られた非同期処理
2018/06/19(火) 12:02:52.58ID:dbWqq3sV
非同期処理とサービスは違うような…
2018/06/19(火) 12:39:35.93ID:r06HGeNr
うん、違うな
Runnableについても、それがRunnableだからといって勝手に非同期処理になる訳じゃない
2018/06/19(火) 12:46:36.37ID:kKUdVF/B
非同期処理ならexecuterService使ったら?
名前がややこしいけどこれAndroidじゃなくてjavaね
2018/06/19(火) 12:48:02.02ID:kKUdVF/B
やりたいことが何か知らんが>>700の記事にだいたい書いてあるじゃん
ちょっと古いが
2018/06/19(火) 15:30:16.61ID:DKE+HUB7
やりたいことはデータを受け取ったら順次加工してファイル保存です。
カメラで例えると、撮影して、画像を処理して、動画ファイル保存みたいな感じです。
この場合の画像処理以降を非同期でやりたいなと。
2018/06/19(火) 16:06:50.06ID:DKE+HUB7
現状は撮影していると稀に画像が飛んで保存されるので、非同期にすれば改善されるのかなと。
2018/06/19(火) 16:13:55.55ID:jB3FcKjo
FusedLocationProviderApiがdeprecatedになってFusedLocationProviderClientを使うように推奨されてるけど
開発者サービスが古いとFusedLocationProviderClientを使うとクラッシュするらしいいが
古いままの端末のためにこの分岐をtry/catchでやるのはあんまりよろしい書き方じゃない?
2018/06/19(火) 20:57:39.44ID:atnFQNgZ
非同期処理は全部RxJavaでやったらいい
2018/06/20(水) 10:31:38.16ID:MfDjZ68z
RxJavaって使ってる人いるの?ってくらい情報が少ないな
2018/06/20(水) 12:03:08.34ID:Ts+Rw46r
確かにメリットはあるけど言うほど必須ではない
2018/06/20(水) 12:16:53.84ID:VGUBMEBl
Androidの非同期処理はAsyncTaskかServiceでやる
スレッドを分けるだけだとライフサイクル上破棄されて事後処理が行えないことがある
2018/06/20(水) 13:06:07.96ID:7RFFPjeU
これからはWorkManager
2018/06/20(水) 16:55:29.77ID:MfDjZ68z
WorkManagerってAPI14以上で使えるってことは、
色んな機能をラップしてまとめた物なの?
2018/06/23(土) 01:16:14.70ID:KW404gFi
FirebaseのJobDispatcherとは何か違うのかと思って調べたら、大体同じ感じなのね
にしても、バージョンが断片化してるのに機能がどんどん変わっていって、ほとんどの機能がラッパーありきになってるのどうにかならんかね
2018/06/23(土) 07:31:00.44ID:j6x5zCmd
レビューで広告があるのが残念とか言う奴何なの?
なんでボランティアで作らないといけないんだよアホか
2018/06/23(土) 07:51:13.46ID:egL20+vf
気持ちは分かるが、気にしすぎ
2018/06/23(土) 07:52:29.12ID:WO6Wf4SP
そこが今の日本人のヤバイところだよ
なんでか無料が当たり前みたいに考えてる価値あると認めても金を払わない
2018/06/24(日) 00:12:56.21ID:NkRPOsE2
広告無し有料版きぼんってことだろ作ればいいじゃない
2018/06/26(火) 00:46:08.74ID:9zxcVTrI
全く金にならないけどスマホアプリ作るっているのが一番楽しい
2018/06/27(水) 15:00:38.30ID:kZGjx8UI
Androidで関数のsynchronizedって使えますか?
使ってみると順次処理になることは少なく、
デッドロックばかりでスレッドが飛ぶのですが、
自分の書き方が悪いのでしょうか?
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あったほうがいいな
エミュがメモリ食いすぎる
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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