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

レス数が950を超えています。1000を超えると書き込みができなくなります。
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/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() {

}
});
899デフォルトの名無しさん
垢版 |
2018/08/03(金) 12:09:54.90ID:CI8optBx
.subscribeOn(Schedulers.computation()) はなくてもよかった
2018/08/03(金) 13:21:25.74ID:Ivd73FF2
>>898
0〜9まで1秒毎に動きました!
ありがとうございます!
runOnUiThreadを使わなくても表示出来るのは便利ですね。
901デフォルトの名無しさん
垢版 |
2018/08/03(金) 15:54:17.66ID:guABJL2A
ObserverじゃなくてConsumerを渡す(ついでにラムダ式)。

Observable.interval(0, 1, TimeUnit.SECONDS)
.take(10)
.observeOn(AndroidSchedulers.mainThread())
.subscribe(cnt -> txvText.setText(cnt.toString()));
2018/08/03(金) 16:17:20.31ID:htH9kPBS
>>897
it って、this, self みたいな、

自分自身のインスタンスを指すキーワードか?
2018/08/04(土) 10:18:36.71ID:R/q4rS6M
アプリ初心者です
全画面に表示する共通のメニューを作りたいです
AppCompatActivityを継承したCommonActivityでメニューを作成して、
他の画面CommonActivityを継承しましたが、メニューは出ても
子クラスのその他のテキストビュー等が出せません

SetContentViewで2つのViewを同時に出す方法はあるのでしょうか?
2018/08/04(土) 14:17:56.44ID:5q35Ybex
Androidアプリ開発を学びたいのですが、今から始めるならKotlinが良いのでしょうか?

個人的に不安なのが、書籍やネット上にある情報の多くがjavaで解説されているため、詰まったときに解決できなくなってしまいそうなことです。

先にjavaによる開発を経験してからの方が賢明でしょうか?
2018/08/04(土) 15:24:13.83ID:ajHYkZHs
>>903
そういう共通で使う画面パーツはflagmentで実装する
activityとのやりとりにはviewmodelを使うと便利
あとcommonActivityはアンチパターンだからやめとく
2018/08/04(土) 16:10:40.79ID:yDY96/4T
>>904
まず、もし2D/3Dゲームを念頭に置いてるのなら最初からUnityでよい
次に、入力フォームや表データや画像とかを表示する(または何も表示しない)ユーティリティ・ツールアプリを作りたいのなら今のところJavaで作るしかない
Kotlinは自力で記述するJavaを大幅に置き換えることができるが、他人が記述したJavaプロブラム文を意味や意図ごと置き換えることはしてくれない
もしKotlinでAndroidアプリを作りたいのなら、他人が書いたJavaプログラム文を解釈して理解するだけのJava知識は実質的には必要
907デフォルトの名無しさん
垢版 |
2018/08/04(土) 18:39:12.11ID:R/q4rS6M
>>905
ありがとうございます
flagmentを勉強します
2018/08/04(土) 19:30:09.24ID:5q35Ybex
>>906
レスありがとうございます。
ツール系・ゲーム系両方やってみるつもりです。
ツール系の場合はjavaある程度触ってからやってみることにします。
2018/08/04(土) 20:27:48.98ID:5q35Ybex
ちなみにAndroid Studioで2D、3Dのゲームを制作するのは難しいのでしょうか?
2018/08/05(日) 04:51:43.32ID:yjOR4iTx
もうすぐandroid終了するのに今更やる意味ないでしょ
2018/08/05(日) 07:11:47.69ID:4UCWD52b
>>910
Googleの言う将来とやらを真に受けてGo言語を学んだ結果はいかがでしたか
2018/08/05(日) 07:14:43.11ID:5rt28jG5
えっ??
Android終了するの?
2018/08/05(日) 07:21:45.68ID:YdnNH4ow
いつものやるやる詐欺
2018/08/05(日) 07:53:13.88ID:4UCWD52b
>>912
超平たく言うと、GoogleはAndroidスマホ・Chromebook・スマートスピーカーあたりのOSを次期OSで統合「したい」の「ではないか」という観測がある
まあそりゃ統合はしたいだろうけど市場がついていくとは限らんし動くもの作るのにも時間がかかるし別に気にしなくてよい
あなたに一生に一つしかプログラミング言語を学べない呪いがかかっているとかならAndroidに関わるのは別なものにしたほうがいいけど、Cとか
2018/08/05(日) 09:33:31.01ID:TwEVeTWE
まあ今月 p が出るみたいだし、しばらくはまだ大丈夫じゃない?(大丈夫とは言っていない)
2018/08/05(日) 09:57:12.32ID:o53L2PsS
Google様は飽きたらすぐやめちゃうからな
2018/08/05(日) 10:11:44.76ID:ovhwKjdk
Javaの有償化。openJDKにすれば回避できるてのも疑問。
2018/08/05(日) 13:45:33.92ID:yjOR4iTx
>>904が1からプログラミングを学習してまともなゲーム作れるようになる頃にはandroid終了しているだろうなって話
チームで開発しててもまともなもなゲーム作るには一年はかかるのに、それを個人でやるんでしょ?
積み上げた知識は無駄にはならないけどね
2018/08/05(日) 14:51:23.21ID:h00bNn2V
fuchshia移っても互換性は保つでしょ
2018/08/05(日) 15:49:44.86ID:mkpRfns0
>>917
openで回避できるじゃん
何が疑問か分からない
2018/08/05(日) 16:01:06.30ID:HCiUpMia
Androidは開発環境も昔はOracleJDK使ってたけどしばらく前からOpenJDKに変更されてるしな
2018/08/05(日) 17:04:47.32ID:aJhRtn6H
>>904
最新の機能をゴリゴリ使いたいならば、毎年googleが
思いつきで出してくる最新の言語を覚える必要が
あるかも

でも基本的にアプリケーションを動作させるエンジンが
Javaベースの間(今ならばART)はJavaで開発を行って
いれば大体のものが動いて作れるしサンプルも豊富

それとは別にゲームとか特定の分野のアプリを
作るならば、それ用のプラットフォーム(例えば
>>908さんが書かれたようなUnityとか)が開発されている
ことも多いのでそちらを覚えた方がよいかも

androidはなんちゃってオープンOS化がひどくなって
いるので、一部googleにべったりで仕事をしている人
以外には最新の環境を追ってもあまり意味はないよ
923デフォルトの名無しさん
垢版 |
2018/08/06(月) 08:46:42.67ID:kCQS2Lss
>>921
そこが疑問なんだよ。
OpenJDKでORACLE排除できるというなら、コーティンに移行させる必要性がなくね?
コーティンに移行してもORACLE裁判のフレームワーク設計に著作権が認められた点を排除できてもいない。
コーティン使おうとimport java.*するのだから。
924デフォルトの名無しさん
垢版 |
2018/08/06(月) 08:51:23.33ID:tqT0RbyY
プラットホームビジネスというか
プラット法務ビジネス
925デフォルトの名無しさん
垢版 |
2018/08/06(月) 09:19:40.00ID:Qe1JBvmV
【審議中】
    ∧,,∧  ∧,,∧
 ∧ (´・ω・) (・ω・`) ∧∧
( ´・ω) U) ( つと ノ(ω・` )
| U (  ´・) (・`  ) と ノ
 u-u (l    ) (   ノu-u
     `u-u'. `u-u'
2018/08/06(月) 11:25:47.32ID:50miL/ln
>>923
Kotlin採用は、AppleがSwift採用したのと同じで、現代的な言語に移行したかっただけだよ?
あえてKotlinなのは、Android含めたJavaとの互換性を考慮して設計されてるから
Googleが面倒なことしなくてもJavaからKotlinに移行できるようJetBrainsがお膳立てしてくれたから、それに乗っかっただけでしよ
2018/08/06(月) 18:40:25.57ID:hLKuU6RW
>>923
コトリンだっつってんだろ!
928デフォルトの名無しさん
垢版 |
2018/08/06(月) 20:09:18.04ID:PKEcOyRe
新言語 Cortin
2018/08/06(月) 20:43:50.41ID:sg4jFQFF
名古屋コトリン
2018/08/06(月) 20:46:31.71ID:MB2hbv4T
コケ : バサバサ = コケコー
2018/08/06(月) 20:46:32.80ID:bC+ybpG7
焼肉コトリン
2018/08/07(火) 01:00:19.49ID:yV+pbe15
>>926
AndroidStudioのベースにIntelliJを採用したかったグーグルが付き合いでKotlin採用しただけだろ。
933デフォルトの名無しさん
垢版 |
2018/08/07(火) 02:08:46.56ID:wYJE/4+k
すみません、Androidプログラミングで

~Layoutの類が詳しく説明してあるところってありますか?

思ったところにコントロール?が配置できなくて。
934デフォルトの名無しさん
垢版 |
2018/08/07(火) 12:35:36.68ID:r/NXRNz/
海のコトリン
2018/08/07(火) 14:25:05.00ID:8Qwq12J1
RxJavaを理解していないってのもあるけども、
onNextにExecuteServiceを入れるのは無意味ってか無駄でしょうか?

ExecutorService PexecutorServiceEx = Executors.newSingleThreadExecutor();
private void subRxJavaTimer() {
Observable.interval(0, 1, TimeUnit.SECONDS)
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<Long>() {
@Override
public void onSubscribe(Disposable d) {
}
@Override
public void onNext(Long aLong) {
PexecutorServiceEx.submit(new Runnable(){
@Override
public void run(){
// 1秒では終わらない処理
}
});
}
@Override
public void onError(Throwable e) {
}
@Override
public void onComplete() {
PexecutorServiceEx.shutdown();
}
});
}
2018/08/07(火) 14:41:45.85ID:BOh5BmGT
flatMap
2018/08/07(火) 14:56:25.41ID:8Qwq12J1
map/flatmapで同じこと出来るのですね、ありがとうございます。
2018/08/07(火) 15:17:54.21ID:iJIK6alP
いつまで定期実行タイマーやってんだよ…
2018/08/07(火) 15:29:54.09ID:8Qwq12J1
すいません、本を読んで引っ込みます。
RxJavaは翔泳社の「RxJavaリアクティブプログラミング」って本を読んでおけばいいでしょうか?
2018/08/07(火) 20:19:08.65ID:oD8dyUOF
うん
あれ一冊読んどけばいい
2018/08/08(水) 17:42:54.54ID:AOT1YzaP
現在入門書を読んでる初心者です

「ダイアログを生成するためにはビルダーを利用する」と記載されていたのですがそもこもビルダーとは何でしょうか?

自分なりに調べた結果、引数が多いと記述する際にわかりにくくなるため、コンストラクタの代わりに作るものと理解したのですがこの認識で合ってますか?
2018/08/08(水) 18:13:44.38ID:03X0wt9M
分かりにくいとかより、ダイアログも実体は通常の画面表示
なのだけど、ダイアログのような表示形式にするには通常の
画面に色々設定をほどこしてそれっぽくする必要があるので、
自動的に面倒くさい部分を隠蔽して作ってくれるクラスが
提供されているよ感じかな

ただ、想定されている形式のものしか作成できないので、
クラスのオーバーライドを行っても出来ることが限られるので
自分でダイアログボックスのクラスを作る人も多いような
気はするけど
2018/08/08(水) 19:37:20.98ID:WrWe88rx
CustomView渡せば好き勝手できるけど?
2018/08/08(水) 19:52:00.02ID:AOT1YzaP
>>942
ビルダー=自動的に面倒くさい部分を隠蔽して作ってくれるクラス

ってことですか?
2018/08/08(水) 20:43:39.16ID:3s3ULQKy
ビルダーパターンで検索
2018/08/08(水) 21:19:33.03ID:AOT1YzaP
ビルダーで検索したらビルダーパターンしか出なくて困ってたんです
2018/08/08(水) 22:06:29.43ID:bEd/8Qmy
まともに説明できるやついなくて草
2018/08/08(水) 22:07:05.06ID:7VVPJa90
ビルダー:
色とかサイズとか指定して購入ボタンを押したら服をこしらえてくれる、オーダーメイドショップみたいな人。

購入ボタンを押すまでは自分でやらないといけない。
2018/08/08(水) 22:21:17.83ID:7VVPJa90
使用時の定形パターン。

赤服 = new 服ビルダー().set色(赤).setサイズ(L).作る();

赤服.着る();
950デフォルトの名無しさん
垢版 |
2018/08/09(木) 10:02:58.90ID:gFPymi4k
服が着るのはなんか変だが、本筋じゃないからまあいいか
レス数が950を超えています。1000を超えると書き込みができなくなります。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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