Androidプログラミング質問スレ revision54
レス数が900を超えています。1000を超えると表示できなくなるよ。
エミュでHuaweiの機種のエミュとか対応してくれないかなあ Kirinが特殊ってか、情報を公開して無いんだろうな ある時期の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)で手動スキャンは廃止されるから、今後、小さな大問題になるような気がした。
以上。 ぼっちの報告。 >>805
ZenFone3と4だけど8.0にしても全然問題無く自動でWiFi掴むよ >>805
xz1 compactだけど即切り替わるわ。5分なんて絶対かからない >>797
>>799
wikiだとコトリンだって そうなん?俺の端末だけかな
WIFIのスイッチ画面を出さないと、掴もうとしない。
もうちょい調べてみる。 kotlinの記述が簡潔なのはわかるが
やっぱjavaですかね?>android 技適違反がどうした。何の問題あるのか
かかってこいよ 技適ってよくわからないけどどういうの?
電波出すやつ関係にあったりするよね
日本は日本だけの基準があるの? 基準は特別なことはない
規定の範囲内の周波数を使ってることの認定
電波なんて好きかって使われたら大パニックになるから認証制度がある >>812
技適違反の機種で確認したアプリを出すと
「この人(会社)は平気で法律違反するんだな」って思われる。
現状は経団連が政府に提言している段階だから、他人に勧められる状態じゃない。 何でPixelでしか確認しない前提なんだよ
いろんな機種で確認するに決まってんだろ
海外にも公開するアプリ作ってるのに世界シェアのある端末で確認しないのはアホ >>810
コティンでプログラムは書けても
Javaを知らずにアプリは書けない、
アプリのフレームワークは、必ずJavaに依存しているからね。
取り敢えずJavaで書いて、コティンに変換したソースをギフハブに載せて、
さも主流はコティンですよ!とドヤ顔するのが勝利の条件。
Javaだけ知ってりゃ困らないし、
今後もそこは変わらない。
何故なら、javavmとフレームワークに依存する既に書かれたアプリが全部動かなくなるからね。
Java切り捨てて、ネイティブアプリに移行する。
とかの方が現実味がある。
コティン専用の新フレームワークが出るまでは放置でよい。、と思う コティンで書いても速度は変わらんだろうし、結局はJava中間コードを吐くしね。 勉強する時間がないんだよねえ
Java使いこなしてる人がkotlinでアプリ作れるようになるまでどれくらい時間かかるかな 自分のアプリを一つkotlinに書き直してみれば大体できる コティンおじさんの自信はどこからくるんだ
コティンて呼ぶのが面白いのかな 新規開発はもう100%KotlinだからJavaだと既存アプリの糞みたいな保守の仕事しかできないね >>817-818
コティンじゃなくてコトリンだって言ってんだろカス 原因は分かった。Wi-Fiの奴ね。
「スリープ時のWi-Fi接続」を「維持しない」にするとスキャンが遅延するみたい。
維持するにしたら直ぐにWi-Fiにローミングした。
以上、報告まで。当然維持しないに戻した ローマ字入力のままで l を打たないとコティンになるのかな
今はスマホからフリック入力してるから確認できないが >>816
海外の端末を日本で使うには、電波暗室が必要なんだが >>830
どれか持ってる?
【A】 実験試験局免許を取得することで、技適マークのない機器も研究開発目的で使用することが可能。
【B】 電波暗室等の設備内のみで使用する場合は、無線局免許(実験試験局免許など)を取得せずに使用することが可能。
【C】 特定実験試験局制度を活用することで、申請から免許までの処理期間を大幅に短縮することが可能。
【D】 電気通信事業者による接続の検査を受け、技術基準に適合していると認められれば、その端末機器を電気通信事業者のネットワークに接続して使用することが可能。(少数の試作品段階の端末を使用する場合などの手続き)
https://smhn.info/201802-keidanren-reform-giteki ASを最新に更新するとAndroid-SDKの中身まで影響出るでしょうか?
あくまでAS側だけなんでしょうか
SDKもなら今は更新控えとこうと思ってるのですが 複数のバージョンのAndroidStudioから同じSDKのディレクトリ見るようにしてても特に問題は無いよ Android PってHDR再生対応ってなってるけど、Nから再生対応してるよね
何が新しいんだろうか Android PのPってピーナッツバターなんだっけか?
ポップコーンでいいような気もするがスイーツではないから無理か >>776
これを見るとペロペロキャンディぽいけど英語圏だと呼び名違いそうだよなぁ Android 8のプッシュ通知対応したら今まで届いてた 6とか7にも来なくなった…(´・ω・`) // 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は全く同じ処理になるのでしょうか?
使い回す時のコストも同じになるのでしょうか? 毎回threadをnewしてる時点でひどいコストだから比べる意味ない
executorなどのスレッドプールを使えというのに
そもそも途中で止められないthreadを作ったらあかん 最近は、ランナブルよりハンドラをお勧めしていたような。
アプリケーションは、JavaとAndroidフレームワークの奴隷となって、命令されたことだけ実装したら、サクッとスレッドを手放せが原則。
1と2に実行コスト面での違いに有意さはないかと。
違うのは、変数やメソッドを参照できる範囲の閉じ込め。
スコープかな sqliteに大量の初期データを入れるにはどうすればいいんですか
railsのseedみたいなことできますか データを書き込むクエリーを羅列したプログラムを組むだけでは?
あとはsqliteのDBは1ファイルなんで、初期状態を作成したDB
ファイルをコピーしても動いたと思うけど developer consoleで総インストール数が見れなくなってるんだが onclickListenerやonItemClickListenerの用法の違いを知りたいです。
また、ビューに対応したinterfaceやListenerの対応表みたいなのってありますか?
他のリスナーの用法が一覧できるとありがたいです アクティブなインストール端末数が急激に伸びてるんだがなにごと バックグラウンドでスリープさせずに定期的にウェイクアップさせる方法おしえて タッチパネルに電流を流す。
端末に穴をあけるか水いれて漏電させる。 ホームスクリーンアプリとかサービスのことじゃない。 ロリポ以降はDozeモードによって好き勝手に起動させないようになってるんだなこれが ラジオボタンに、文字列の〇や□、◇を配置したいのですが、どうやったらできますか? >>859
マジレスするとジョブずスケジューラを使うと思う。
面倒なパラメータが必要だけどね。
このあたりは、やはりJavaのフレームワークよりも洗練されてない。 >>860
ドロワーでスタイルを定めて、
ラジオ牡丹にドロワーを指定するのだと思う。
リストビューのスタイル指定が、こんな感じ。
ドロワーの定義でイメージなんかで指定すればよく、恐らくは、ステート毎に複数の宣言が必要
で、画像で指定するから、○や□みたいな記号は、そんな画像を準備する羽目になる。
いや、想定されていたら、簡単にできるのかもしれんけど。 >>862
ありがとうございます。
テキスト自体をボタン化する方法があればいいのですが textViewにonClick設定すればいいやん ちなみに、文字 "◇”をラジオボタンに設定して
非フォーカス時、フォーカス時、プッシュ時に、それぞれ色を変化させたい、とした場合、
どのようにコードを書けばいいのでしょう? background drawable selector ありがとうございます!
キーワードで調べてみます。
もう一つ質問なのですが
is2String()というメソッドってありますか? すみませんでした。is2Stringの件は解消しました。 質問させてください
〜あるクラス〜{
・・・
GPSListener gpsListener=new GPSListener();
・・・}
private class GPSListener implements LocationListener{
@override
pubulic void onLocationChanged(Location location){
・・・
}
onLocationChangedは、GPSの位置情報が格納されたlocationを引数にしていますが、呼び出し元で実引数の記載が見当たりません。
この引数は、どこで位置情報を格納されて、どこから引数を受け取っているのでしょうか?
インターフェースのLocationListenerからでしょうか? すみません、訂正です。
〜あるクラス〜{
・・・
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からでしょうか? >>872
呼び出し元とはonLocationChanged()を呼んでいる箇所ということになるけど、
そういうことであればlocationManagerが位置情報が変化したタイミングで呼んでいる。 >>873
ありがとうございます
位置情報が更新されたタイミングで、ということでしたら
位置情報を把握しているlocationManegerが、逐次タイミングを図っていて
位置情報が更新された段階で、locationManagerからGPSListerのインスタンスに引数を渡している、ということなのでしょうか? ありがとうございました!
初学者なのですが、引数を持つメソッドがあるのに
実引数を持つ呼び出し元がない記述を始めて見たので理解できずに検索しまくっていました すみません、初学者で分からないことばかりです。
教えてくださって本当に助かっています。ありがとうございます。 バックグラウンドで定期的に動かす場合、どのタイマーを使ったら良いのでしょう?
1秒おきくらいにUIスレッドに戻ります。 やっぱりRxJavaになるんですかね?
標準のTimerやTimerTaskはすごく評判が悪いけども。 RxJavaってサンプルコードを見ると行数が少なすぎて、なんか怖い・・・。
RxAndroidも必須なのかな? 別に怖くないよ
Android UIスレッドを触るならRxAndroidは必要
てかAndroidUIスレッドを触るためだけのライブラリ rxAndroidはなくても頑張ればどうにかならんことはない
でもそこ頑張る意味ないから入れとけ便利だぞ rxAndroidはとりあえず入れとけって感じなのですね、ありがとうございます。
ざっくりだとこんな感じなのでしょうか?
https://qiita.com/acple@github/items/6cfee916f09632037a6e
Observableでイベントを作って送って、
.Subscribe()で受け取るって理解で良いのかな?
>>885さんの言われてる、intervalのタイマーはこれで。
http://blog.norioegi.com/rxjava-timer/ implementation "io.reactivex.rxjava2:rxjava:2.1.6"
implementation 'io.reactivex.rxjava2:rxandroid:2.0.1'
をgradleに書いて、
Observable.interval
って書いても、intervalが見つからないです・・・。
RxJavaの良い入門サイトは無いでしょうか? RxJava 2.xの情報がここ1年ほとんど無いけど、
オワコンなの? 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のサンプルも無いし、どうすればいいの? >>893
成熟期に入っただけ
むしろ当たり前として使ってる >>896
Observable
.interval(1, TimeUnit.SECONDS)
.subscribe(txvText.setText(it););
こうでしょうか?
でもitが見つからないし、そもそもitってググっても出てきませんが、どこから来たのでしょう? 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() {
}
}); .subscribeOn(Schedulers.computation()) はなくてもよかった >>898
0〜9まで1秒毎に動きました!
ありがとうございます!
runOnUiThreadを使わなくても表示出来るのは便利ですね。 ObserverじゃなくてConsumerを渡す(ついでにラムダ式)。
Observable.interval(0, 1, TimeUnit.SECONDS)
.take(10)
.observeOn(AndroidSchedulers.mainThread())
.subscribe(cnt -> txvText.setText(cnt.toString())); レス数が900を超えています。1000を超えると表示できなくなるよ。