X



Androidプログラミング質問スレ revision54
レス数が950を超えています。1000を超えると書き込みができなくなります。
0001デフォルトの名無しさん
垢版 |
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/
0851デフォルトの名無しさん
垢版 |
2018/07/16(月) 17:47:48.82ID:sY4AUp4I
データを書き込むクエリーを羅列したプログラムを組むだけでは?
あとはsqliteのDBは1ファイルなんで、初期状態を作成したDB
ファイルをコピーしても動いたと思うけど
0854デフォルトの名無しさん
垢版 |
2018/07/18(水) 07:53:37.89ID:mf86tmTW
onclickListenerやonItemClickListenerの用法の違いを知りたいです。
また、ビューに対応したinterfaceやListenerの対応表みたいなのってありますか?
他のリスナーの用法が一覧できるとありがたいです
0856デフォルトの名無しさん
垢版 |
2018/07/20(金) 23:47:08.08ID:Nhmr+T7d
バックグラウンドでスリープさせずに定期的にウェイクアップさせる方法おしえて
0857デフォルトの名無しさん
垢版 |
2018/07/21(土) 13:32:31.44ID:GYF4QZZl
タッチパネルに電流を流す。
端末に穴をあけるか水いれて漏電させる。
0859デフォルトの名無しさん
垢版 |
2018/07/23(月) 15:14:39.18ID:gPLY9Wrz
ロリポ以降はDozeモードによって好き勝手に起動させないようになってるんだなこれが
0860デフォルトの名無しさん
垢版 |
2018/07/23(月) 20:17:47.13ID:SeSwW+Qt
ラジオボタンに、文字列の〇や□、◇を配置したいのですが、どうやったらできますか?
0861デフォルトの名無しさん
垢版 |
2018/07/24(火) 18:11:14.45ID:ALCB+LcV
>>859
マジレスするとジョブずスケジューラを使うと思う。
面倒なパラメータが必要だけどね。
このあたりは、やはりJavaのフレームワークよりも洗練されてない。
0862デフォルトの名無しさん
垢版 |
2018/07/24(火) 18:22:55.04ID:MDhIVjEx
>>860
ドロワーでスタイルを定めて、
ラジオ牡丹にドロワーを指定するのだと思う。
リストビューのスタイル指定が、こんな感じ。
ドロワーの定義でイメージなんかで指定すればよく、恐らくは、ステート毎に複数の宣言が必要
で、画像で指定するから、○や□みたいな記号は、そんな画像を準備する羽目になる。
いや、想定されていたら、簡単にできるのかもしれんけど。
0866デフォルトの名無しさん
垢版 |
2018/07/25(水) 13:05:10.30ID:m2GBVdm3
ちなみに、文字 "◇”をラジオボタンに設定して
非フォーカス時、フォーカス時、プッシュ時に、それぞれ色を変化させたい、とした場合、
どのようにコードを書けばいいのでしょう?
0868デフォルトの名無しさん
垢版 |
2018/07/25(水) 17:54:41.92ID:m2GBVdm3
ありがとうございます!
キーワードで調べてみます。

もう一つ質問なのですが
is2String()というメソッドってありますか?
0869868
垢版 |
2018/07/25(水) 18:18:49.82ID:m2GBVdm3
すみませんでした。is2Stringの件は解消しました。
0870デフォルトの名無しさん
垢版 |
2018/07/25(水) 18:56:21.81ID:ekeRKo17
どのように?
0871デフォルトの名無しさん
垢版 |
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からでしょうか?
0872デフォルトの名無しさん
垢版 |
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からでしょうか?
0873デフォルトの名無しさん
垢版 |
2018/07/29(日) 12:19:01.36ID:x0a0gOqs
>>872
呼び出し元とはonLocationChanged()を呼んでいる箇所ということになるけど、
そういうことであればlocationManagerが位置情報が変化したタイミングで呼んでいる。
0874デフォルトの名無しさん
垢版 |
2018/07/29(日) 18:50:21.08ID:LcT2Y+8B
>>873
ありがとうございます
位置情報が更新されたタイミングで、ということでしたら
位置情報を把握しているlocationManegerが、逐次タイミングを図っていて
位置情報が更新された段階で、locationManagerからGPSListerのインスタンスに引数を渡している、ということなのでしょうか?
0876デフォルトの名無しさん
垢版 |
2018/07/29(日) 19:10:12.08ID:LcT2Y+8B
ありがとうございました!

初学者なのですが、引数を持つメソッドがあるのに
実引数を持つ呼び出し元がない記述を始めて見たので理解できずに検索しまくっていました
0877デフォルトの名無しさん
垢版 |
2018/07/29(日) 20:21:03.71ID:96P4hEQ+
それが初学者であることと何か関係あるのか?
0880デフォルトの名無しさん
垢版 |
2018/07/30(月) 10:25:58.71ID:Qfso/A9s
佐川ω
0881デフォルトの名無しさん
垢版 |
2018/07/30(月) 12:02:50.47ID:s9CMcrrz
すみません、初学者で分からないことばかりです。
教えてくださって本当に助かっています。ありがとうございます。
0883デフォルトの名無しさん
垢版 |
2018/07/30(月) 13:53:35.09ID:pff4AqGy
ハゲめ
0884デフォルトの名無しさん
垢版 |
2018/08/01(水) 23:50:37.85ID:0XMCpEMW
バックグラウンドで定期的に動かす場合、どのタイマーを使ったら良いのでしょう?
1秒おきくらいにUIスレッドに戻ります。
0886デフォルトの名無しさん
垢版 |
2018/08/02(木) 00:36:55.56ID:qwMHSEWO
やっぱりRxJavaになるんですかね?
標準のTimerやTimerTaskはすごく評判が悪いけども。
0887デフォルトの名無しさん
垢版 |
2018/08/02(木) 00:56:50.89ID:qwMHSEWO
RxJavaってサンプルコードを見ると行数が少なすぎて、なんか怖い・・・。
RxAndroidも必須なのかな?
0888デフォルトの名無しさん
垢版 |
2018/08/02(木) 13:07:04.23ID:574Xp/vK
別に怖くないよ
Android UIスレッドを触るならRxAndroidは必要
てかAndroidUIスレッドを触るためだけのライブラリ
0889デフォルトの名無しさん
垢版 |
2018/08/02(木) 13:54:22.35ID:fOZQLMej
rxAndroidはなくても頑張ればどうにかならんことはない
でもそこ頑張る意味ないから入れとけ便利だぞ
0890デフォルトの名無しさん
垢版 |
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/
0892デフォルトの名無しさん
垢版 |
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の良い入門サイトは無いでしょうか?
0894デフォルトの名無しさん
垢版 |
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のサンプルも無いし、どうすればいいの?
0897デフォルトの名無しさん
垢版 |
2018/08/03(金) 11:37:06.65ID:Ivd73FF2
>>896
Observable
.interval(1, TimeUnit.SECONDS)
.subscribe(txvText.setText(it););

こうでしょうか?
でもitが見つからないし、そもそもitってググっても出てきませんが、どこから来たのでしょう?
0898デフォルトの名無しさん
垢版 |
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() {

}
});
0899デフォルトの名無しさん
垢版 |
2018/08/03(金) 12:09:54.90ID:CI8optBx
.subscribeOn(Schedulers.computation()) はなくてもよかった
0900デフォルトの名無しさん
垢版 |
2018/08/03(金) 13:21:25.74ID:Ivd73FF2
>>898
0〜9まで1秒毎に動きました!
ありがとうございます!
runOnUiThreadを使わなくても表示出来るのは便利ですね。
0901デフォルトの名無しさん
垢版 |
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()));
0903デフォルトの名無しさん
垢版 |
2018/08/04(土) 10:18:36.71ID:R/q4rS6M
アプリ初心者です
全画面に表示する共通のメニューを作りたいです
AppCompatActivityを継承したCommonActivityでメニューを作成して、
他の画面CommonActivityを継承しましたが、メニューは出ても
子クラスのその他のテキストビュー等が出せません

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

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

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

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

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

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

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

思ったところにコントロール?が配置できなくて。
0934デフォルトの名無しさん
垢版 |
2018/08/07(火) 12:35:36.68ID:r/NXRNz/
海のコトリン
0935デフォルトの名無しさん
垢版 |
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();
}
});
}
0939デフォルトの名無しさん
垢版 |
2018/08/07(火) 15:29:54.09ID:8Qwq12J1
すいません、本を読んで引っ込みます。
RxJavaは翔泳社の「RxJavaリアクティブプログラミング」って本を読んでおけばいいでしょうか?
0941デフォルトの名無しさん
垢版 |
2018/08/08(水) 17:42:54.54ID:AOT1YzaP
現在入門書を読んでる初心者です

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

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

ただ、想定されている形式のものしか作成できないので、
クラスのオーバーライドを行っても出来ることが限られるので
自分でダイアログボックスのクラスを作る人も多いような
気はするけど
0948デフォルトの名無しさん
垢版 |
2018/08/08(水) 22:07:05.06ID:7VVPJa90
ビルダー:
色とかサイズとか指定して購入ボタンを押したら服をこしらえてくれる、オーダーメイドショップみたいな人。

購入ボタンを押すまでは自分でやらないといけない。
0949デフォルトの名無しさん
垢版 |
2018/08/08(水) 22:21:17.83ID:7VVPJa90
使用時の定形パターン。

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

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

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