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/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
コティンおじさんの自信はどこからくるんだ
コティンて呼ぶのが面白いのかな
2018/07/09(月) 18:50:43.77ID:YtQCa5Wz
小鳥ん?
2018/07/09(月) 18:51:59.03ID:7ORJ9C9D
新規開発はもう100%KotlinだからJavaだと既存アプリの糞みたいな保守の仕事しかできないね
2018/07/09(月) 19:44:49.36ID:foGOnlQg
>>817-818
コティンじゃなくてコトリンだって言ってんだろカス
826デフォルトの名無しさん
垢版 |
2018/07/09(月) 19:45:35.06ID:LQOZFPUl
原因は分かった。Wi-Fiの奴ね。
「スリープ時のWi-Fi接続」を「維持しない」にするとスキャンが遅延するみたい。
維持するにしたら直ぐにWi-Fiにローミングした。
以上、報告まで。当然維持しないに戻した
827デフォルトの名無しさん
垢版 |
2018/07/09(月) 20:48:30.14ID:NIgnyVo4
ローマ字入力のままで l を打たないとコティンになるのかな
今はスマホからフリック入力してるから確認できないが
2018/07/09(月) 21:43:41.72ID:3uocHlMX
>>816
海外の端末を日本で使うには、電波暗室が必要なんだが
2018/07/09(月) 21:51:56.07ID:iBHKgTaq
lを抜かしたところでコチン
2018/07/09(月) 21:52:33.71ID:AazuLIX6
暗室である必要は無い
外に出なければ良い

と思う
2018/07/09(月) 23:14:57.22ID:3uocHlMX
>>830
どれか持ってる?

【A】 実験試験局免許を取得することで、技適マークのない機器も研究開発目的で使用することが可能。

【B】 電波暗室等の設備内のみで使用する場合は、無線局免許(実験試験局免許など)を取得せずに使用することが可能。

【C】 特定実験試験局制度を活用することで、申請から免許までの処理期間を大幅に短縮することが可能。

【D】 電気通信事業者による接続の検査を受け、技術基準に適合していると認められれば、その端末機器を電気通信事業者のネットワークに接続して使用することが可能。(少数の試作品段階の端末を使用する場合などの手続き)
https://smhn.info/201802-keidanren-reform-giteki
2018/07/09(月) 23:30:55.44ID:cdJ5Ouyq
ASを最新に更新するとAndroid-SDKの中身まで影響出るでしょうか?
あくまでAS側だけなんでしょうか
SDKもなら今は更新控えとこうと思ってるのですが
833デフォルトの名無しさん
垢版 |
2018/07/10(火) 09:53:17.44ID:ba0NKu+i
一応分かれてはいる。一応ね。
2018/07/10(火) 10:02:53.87ID:Jg5K0qjj
諦めて更新したらいいと思うよ…
2018/07/10(火) 10:26:45.12ID:pr1PNeO1
複数のバージョンのAndroidStudioから同じSDKのディレクトリ見るようにしてても特に問題は無いよ
836デフォルトの名無しさん
垢版 |
2018/07/10(火) 10:44:48.16ID:M/0oA5/R
Android PってHDR再生対応ってなってるけど、Nから再生対応してるよね
何が新しいんだろうか
2018/07/10(火) 12:31:13.46ID:3e1V+/Z9
Android PのPってピーナッツバターなんだっけか?
ポップコーンでいいような気もするがスイーツではないから無理か
2018/07/10(火) 13:41:48.35ID:OFE2K4zK
Android Penis
2018/07/10(火) 18:16:25.25ID:dfUMZ81y
食べ物でしょ…あれ!?ペニ…あれ!?
2018/07/10(火) 18:35:16.62ID:TR0Rqy8c
>>776
これを見るとペロペロキャンディぽいけど英語圏だと呼び名違いそうだよなぁ
2018/07/10(火) 18:58:19.94ID:gQ/wMlvD
>>840
Lollipop「...」
2018/07/10(火) 19:01:46.15ID:dkiRHUj1
ペニスをペロペロ?
843デフォルトの名無しさん
垢版 |
2018/07/10(火) 19:08:27.02ID:csDUndKH
lol
2018/07/10(火) 19:13:21.51ID:4JJYrTdy
マンピー?
2018/07/10(火) 20:05:24.44ID:CVnO4LqI
Android 8のプッシュ通知対応したら今まで届いてた 6とか7にも来なくなった…(´・ω・`)
2018/07/11(水) 08:23:56.77ID:EaZ2XScf
Pudding だろ
なんかエロいけど
2018/07/12(木) 14:59:38.71ID:luQZv2qj
// 1
private void kansu1(){
new Thread(new Runnable() {
@Override
public void run() {

}
}).start();
}

// 2
class kansu2 implements Runnable{
@Override
public void run() {

}
}

Runnable kansu = new kansu2();
new Thread(kansu).start();


関数の書き方で質問があります。
上記の場合、kansu1とkansu2は全く同じ処理になるのでしょうか?
使い回す時のコストも同じになるのでしょうか?
2018/07/12(木) 21:44:49.96ID:uZD9+mVt
毎回threadをnewしてる時点でひどいコストだから比べる意味ない
executorなどのスレッドプールを使えというのに
そもそも途中で止められないthreadを作ったらあかん
849デフォルトの名無しさん
垢版 |
2018/07/14(土) 18:16:40.75ID:OKtutt+h
最近は、ランナブルよりハンドラをお勧めしていたような。

アプリケーションは、JavaとAndroidフレームワークの奴隷となって、命令されたことだけ実装したら、サクッとスレッドを手放せが原則。

1と2に実行コスト面での違いに有意さはないかと。
違うのは、変数やメソッドを参照できる範囲の閉じ込め。
スコープかな
2018/07/16(月) 15:38:03.89ID:xMiMP+Us
sqliteに大量の初期データを入れるにはどうすればいいんですか
railsのseedみたいなことできますか
2018/07/16(月) 17:47:48.82ID:sY4AUp4I
データを書き込むクエリーを羅列したプログラムを組むだけでは?
あとはsqliteのDBは1ファイルなんで、初期状態を作成したDB
ファイルをコピーしても動いたと思うけど
2018/07/16(月) 19:02:19.43ID:xMiMP+Us
コピーできるんですね
ありがとうございます
2018/07/17(火) 23:22:52.56ID:Z83QhDM9
developer consoleで総インストール数が見れなくなってるんだが
2018/07/18(水) 07:53:37.89ID:mf86tmTW
onclickListenerやonItemClickListenerの用法の違いを知りたいです。
また、ビューに対応したinterfaceやListenerの対応表みたいなのってありますか?
他のリスナーの用法が一覧できるとありがたいです
2018/07/20(金) 21:04:10.41ID:8Ywhahgu
アクティブなインストール端末数が急激に伸びてるんだがなにごと
856デフォルトの名無しさん
垢版 |
2018/07/20(金) 23:47:08.08ID:Nhmr+T7d
バックグラウンドでスリープさせずに定期的にウェイクアップさせる方法おしえて
857デフォルトの名無しさん
垢版 |
2018/07/21(土) 13:32:31.44ID:GYF4QZZl
タッチパネルに電流を流す。
端末に穴をあけるか水いれて漏電させる。
2018/07/22(日) 15:37:52.25ID:tOuRwyXB
ホームスクリーンアプリとかサービスのことじゃない。
2018/07/23(月) 15:14:39.18ID:gPLY9Wrz
ロリポ以降はDozeモードによって好き勝手に起動させないようになってるんだなこれが
2018/07/23(月) 20:17:47.13ID:SeSwW+Qt
ラジオボタンに、文字列の〇や□、◇を配置したいのですが、どうやったらできますか?
861デフォルトの名無しさん
垢版 |
2018/07/24(火) 18:11:14.45ID:ALCB+LcV
>>859
マジレスするとジョブずスケジューラを使うと思う。
面倒なパラメータが必要だけどね。
このあたりは、やはりJavaのフレームワークよりも洗練されてない。
862デフォルトの名無しさん
垢版 |
2018/07/24(火) 18:22:55.04ID:MDhIVjEx
>>860
ドロワーでスタイルを定めて、
ラジオ牡丹にドロワーを指定するのだと思う。
リストビューのスタイル指定が、こんな感じ。
ドロワーの定義でイメージなんかで指定すればよく、恐らくは、ステート毎に複数の宣言が必要
で、画像で指定するから、○や□みたいな記号は、そんな画像を準備する羽目になる。
いや、想定されていたら、簡単にできるのかもしれんけど。
2018/07/24(火) 19:12:30.79ID:xvO2H0Wx
>>862
ありがとうございます。
テキスト自体をボタン化する方法があればいいのですが
2018/07/24(火) 19:44:17.86ID:pEDBogCd
textViewにonClick設定すればいいやん
2018/07/25(水) 09:24:38.79ID:m2GBVdm3
ありがとうございます!
2018/07/25(水) 13:05:10.30ID:m2GBVdm3
ちなみに、文字 "◇”をラジオボタンに設定して
非フォーカス時、フォーカス時、プッシュ時に、それぞれ色を変化させたい、とした場合、
どのようにコードを書けばいいのでしょう?
2018/07/25(水) 13:48:16.11ID:lclMW1ND
background drawable selector
2018/07/25(水) 17:54:41.92ID:m2GBVdm3
ありがとうございます!
キーワードで調べてみます。

もう一つ質問なのですが
is2String()というメソッドってありますか?
869868
垢版 |
2018/07/25(水) 18:18:49.82ID:m2GBVdm3
すみませんでした。is2Stringの件は解消しました。
870デフォルトの名無しさん
垢版 |
2018/07/25(水) 18:56:21.81ID:ekeRKo17
どのように?
2018/07/29(日) 08:44:27.60ID:LcT2Y+8B
質問させてください

〜あるクラス〜{
・・・
GPSListener gpsListener=new GPSListener();
・・・}

private class GPSListener implements LocationListener{
@override
pubulic void onLocationChanged(Location location){
・・・


onLocationChangedは、GPSの位置情報が格納されたlocationを引数にしていますが、呼び出し元で実引数の記載が見当たりません。
この引数は、どこで位置情報を格納されて、どこから引数を受け取っているのでしょうか?
インターフェースのLocationListenerからでしょうか?
2018/07/29(日) 08:55:58.67ID:LcT2Y+8B
すみません、訂正です。

〜あるクラス〜{
・・・
GPSListener gpsListener=new GPSListener();
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,0,0,gpsListener);
・・・}

private class GPSListener implements LocationListener{
@override
pubulic void onLocationChanged(Location location){
・・・


onLocationChangedは、GPSの位置情報が格納されたlocationを引数にしていますが、呼び出し元で実引数の記載が見当たりません。
この引数は、どこで位置情報を格納されて、どこから引数を受け取っているのでしょうか?
インターフェースのLocationListenerからでしょうか?
2018/07/29(日) 12:19:01.36ID:x0a0gOqs
>>872
呼び出し元とはonLocationChanged()を呼んでいる箇所ということになるけど、
そういうことであればlocationManagerが位置情報が変化したタイミングで呼んでいる。
2018/07/29(日) 18:50:21.08ID:LcT2Y+8B
>>873
ありがとうございます
位置情報が更新されたタイミングで、ということでしたら
位置情報を把握しているlocationManegerが、逐次タイミングを図っていて
位置情報が更新された段階で、locationManagerからGPSListerのインスタンスに引数を渡している、ということなのでしょうか?
2018/07/29(日) 18:53:16.40ID:KvY0l4dc
そういうこと
何が気になるの?
2018/07/29(日) 19:10:12.08ID:LcT2Y+8B
ありがとうございました!

初学者なのですが、引数を持つメソッドがあるのに
実引数を持つ呼び出し元がない記述を始めて見たので理解できずに検索しまくっていました
877デフォルトの名無しさん
垢版 |
2018/07/29(日) 20:21:03.71ID:96P4hEQ+
それが初学者であることと何か関係あるのか?
2018/07/30(月) 09:07:14.50ID:udVkoj2E
ないだろ
2018/07/30(月) 09:09:57.60ID:mZRMsXmr
あるだろ
880デフォルトの名無しさん
垢版 |
2018/07/30(月) 10:25:58.71ID:Qfso/A9s
佐川ω
2018/07/30(月) 12:02:50.47ID:s9CMcrrz
すみません、初学者で分からないことばかりです。
教えてくださって本当に助かっています。ありがとうございます。
2018/07/30(月) 13:43:49.49ID:uO4zg0MB
うむ。精進なされよ
883デフォルトの名無しさん
垢版 |
2018/07/30(月) 13:53:35.09ID:pff4AqGy
ハゲめ
2018/08/01(水) 23:50:37.85ID:0XMCpEMW
バックグラウンドで定期的に動かす場合、どのタイマーを使ったら良いのでしょう?
1秒おきくらいにUIスレッドに戻ります。
2018/08/02(木) 00:25:40.75ID:XhNmwD6u
rxjavaでinterval
2018/08/02(木) 00:36:55.56ID:qwMHSEWO
やっぱりRxJavaになるんですかね?
標準のTimerやTimerTaskはすごく評判が悪いけども。
2018/08/02(木) 00:56:50.89ID:qwMHSEWO
RxJavaってサンプルコードを見ると行数が少なすぎて、なんか怖い・・・。
RxAndroidも必須なのかな?
2018/08/02(木) 13:07:04.23ID:574Xp/vK
別に怖くないよ
Android UIスレッドを触るならRxAndroidは必要
てかAndroidUIスレッドを触るためだけのライブラリ
2018/08/02(木) 13:54:22.35ID:fOZQLMej
rxAndroidはなくても頑張ればどうにかならんことはない
でもそこ頑張る意味ないから入れとけ便利だぞ
2018/08/02(木) 20:05:57.99ID:qwMHSEWO
rxAndroidはとりあえず入れとけって感じなのですね、ありがとうございます。
ざっくりだとこんな感じなのでしょうか?
https://qiita.com/acple@github/items/6cfee916f09632037a6e
Observableでイベントを作って送って、
.Subscribe()で受け取るって理解で良いのかな?

>>885さんの言われてる、intervalのタイマーはこれで。
http://blog.norioegi.com/rxjava-timer/
2018/08/02(木) 20:16:30.67ID:lOc4vhPd
ラムダ式も使ったほうがいいね
2018/08/02(木) 22:54:32.88ID:qwMHSEWO
implementation "io.reactivex.rxjava2:rxjava:2.1.6"
implementation 'io.reactivex.rxjava2:rxandroid:2.0.1'
をgradleに書いて、

Observable.interval
って書いても、intervalが見つからないです・・・。

RxJavaの良い入門サイトは無いでしょうか?
2018/08/03(金) 00:47:03.89ID:Ivd73FF2
RxJava 2.xの情報がここ1年ほとんど無いけど、
オワコンなの?
2018/08/03(金) 01:31:19.01ID:Ivd73FF2
TextView txvText;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

txvText = findViewById(R.id._txvText);

Observable
.interval(1, TimeUnit.SECONDS)
.subscribe(txvText.setText(););
}

1秒ずつ表示したいけど、どうやって秒を取得したら良いのかもわかりません・・・。
Intervalのサンプルも無いし、どうすればいいの?
2018/08/03(金) 08:28:02.23ID:0BV0WoGg
>>893
成熟期に入っただけ
むしろ当たり前として使ってる
2018/08/03(金) 08:40:22.94ID:lMjnDUvZ
subscribeの中でitで秒が返ってくる
2018/08/03(金) 11:37:06.65ID:Ivd73FF2
>>896
Observable
.interval(1, TimeUnit.SECONDS)
.subscribe(txvText.setText(it););

こうでしょうか?
でもitが見つからないし、そもそもitってググっても出てきませんが、どこから来たのでしょう?
898デフォルトの名無しさん
垢版 |
2018/08/03(金) 12:08:19.73ID:CI8optBx
Observable.interval(0, 1, TimeUnit.SECONDS)
.take(10)
.observeOn(AndroidSchedulers.mainThread())
.subscribeOn(Schedulers.computation())
.subscribe(new Observer<Long>() {
@Override
public void onSubscribe(Disposable d) {
}

@Override
public void onNext(Long aLong) {
txvText.setText(aLong.toString()); }

@Override
public void onError(Throwable e) {

}

@Override
public void onComplete() {

}
});
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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