Androidプログラミング質問スレ revision54at TECH
Androidプログラミング質問スレ revision54 - 暇つぶし2ch896:デフォルトの名無しさん
18/07/24 18:22:55.04 MDhIVjEx.net
>>860
ドロワーでスタイルを定めて、
ラジオ牡丹にドロワーを指定するのだと思う。
リストビューのスタイル指定が、こんな感じ。
ドロワーの定義でイメージなんかで指定すればよく、恐らくは、ステート毎に複数の宣言が必要
で、画像で指定するから、○や□みたいな記号は、そんな画像を準備する羽目になる。
いや、想定されていたら、簡単にできるのかもしれんけど。

897:デフォルトの名無しさん
18/07/24 19:12:30.79 xvO2H0Wx.net
>>862
ありがとうございます。
テキスト自体をボタン化する方法があればいいのですが

898:デフォルトの名無しさん
18/07/24 19:44:17.86 pEDBogCd.net
textViewにonClick設定すればいいやん

899:デフォルトの名無しさん
18/07/25 09:24:38.79 m2GBVdm3.net
ありがとうございます!

900:デフォルトの名無しさん
18/07/25 13:05:10.30 m2GBVdm3.net
ちなみに、文字 "◇”をラジオボタンに設定して
非フォーカス時、フォーカス時、プッシュ時に、それぞれ色を変化させたい、とした場合、
どのようにコードを書けばいいのでしょう?

901:デフォルトの名無しさん
18/07/25 13:48:16.11 lclMW1ND.net
background drawable selector

902:デフォルトの名無しさん
18/07/25 17:54:41.92 m2GBVdm3.net
ありがとうございます!
キー�


903:潤[ドで調べてみます。 もう一つ質問なのですが is2String()というメソッドってありますか?



904:868
18/07/25 18:18:49.82 m2GBVdm3.net
すみませんでした。is2Stringの件は解消しました。

905:デフォルトの名無しさん
18/07/25 18:56:21.81 ekeRKo17.net
どのように?

906:デフォルトの名無しさん
18/07/29 08:44:27.60 LcT2Y+8B.net
質問させてください
~あるクラス~{
・・・
GPSListener gpsListener=new GPSListener();
・・・}
private class GPSListener implements LocationListener{
@override
pubulic void onLocationChanged(Location location){
・・・

onLocationChangedは、GPSの位置情報が格納されたlocationを引数にしていますが、呼び出し元で実引数の記載が見当たりません。
この引数は、どこで位置情報を格納されて、どこから引数を受け取っているのでしょうか?
インターフェースのLocationListenerからでしょうか?

907:デフォルトの名無しさん
18/07/29 08:55:58.67 LcT2Y+8B.net
すみません、訂正です。
~あるクラス~{
・・・
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からでしょうか?

908:デフォルトの名無しさん
18/07/29 12:19:01.36 x0a0gOqs.net
>>872
呼び出し元とはonLocationChanged()を呼んでいる箇所ということになるけど、
そういうことであればlocationManagerが位置情報が変化したタイミングで呼んでいる。

909:デフォルトの名無しさん
18/07/29 18:50:21.08 LcT2Y+8B.net
>>873
ありがとうございます
位置情報が更新されたタイミングで、ということでしたら
位置情報を把握しているlocationManegerが、逐次タイミングを図っていて
位置情報が更新された段階で、locationManagerからGPSListerのインスタンスに引数を渡している、ということなのでしょうか?

910:デフォルトの名無しさん
18/07/29 18:53:16.40 KvY0l4dc.net
そういうこと
何が気になるの?

911:デフォルトの名無しさん
18/07/29 19:10:12.08 LcT2Y+8B.net
ありがとうございました!
初学者なのですが、引数を持つメソッドがあるのに
実引数を持つ呼び出し元がない記述を始めて見たので理解できずに検索しまくっていました

912:デフォルトの名無しさん
18/07/29 20:21:03.71 96P4hEQ+.net
それが初学者であることと何か関係あるのか?

913:デフォルトの名無しさん
18/07/30 09:07:14.50 udVkoj2E.net
ないだろ

914:デフォルトの名無しさん
18/07/30 09:09:57.60 mZRMsXmr.net
あるだろ

915:デフォルトの名無しさん
18/07/30 10:25:58.71 Qfso/A9s.net
佐川ω

916:デフォルトの名無しさん
18/07/30 12:02:50.47 s9CMcrrz.net
すみません、初学者で分からないことばかりです。
教えてくださって本当に助かっています。ありがとうございます。

917:デフォルトの名無しさん
18/07/30 13:43:49.49 uO4zg0MB.net
うむ。精進なされよ

918:デフォルトの名無しさん
18/07/30 13:53:35.09 pff4AqGy.net
ハゲめ

919:デフォルトの名無しさん
18/08/01 23:50:37.85 0XMCpEMW.net
バックグラウンドで定期的に動かす場合、どのタイマーを使ったら良いのでしょう?
1秒おきくらいにUIスレッドに戻ります。

920:デフォルトの名無しさん
18/08/02 00:25:40.75 XhNmwD6u.net
rxjavaでinterval

921:デフォルトの名無しさん
18/08/02 00:36:55.56 qwMHSEWO.net
やっぱりRxJavaになるんですかね?
標準のTimerやTimerTaskはすごく評判が悪いけども。

922:デフォルトの名無しさん
18/08/02 00:56:50.89 qwMHSEWO.net
RxJavaってサンプルコードを見ると行数が少なすぎて、なんか怖い・・・。
RxAndroidも必須なのかな?

923:デフォルトの名無しさん
18/08/02 13:07:04.23 574Xp/vK.net
別に怖くないよ
Android UIスレッドを触るならRxAndroidは必要
てかAndroidUIスレッドを触るためだけのライブラリ

924:デフォルトの名無しさん
18/08/02 13:54:22.35 fOZQLMej.net
rxAndroidはなくても頑張ればどうにかならんことはない
でもそこ頑張る意味ないから入れとけ便利だぞ

925:デフォルトの名無しさん
18/08/02 20:05:57.99 qwMHSEWO.net
rxAndroidはとりあえず入れとけって感じなのですね、ありがとうございます。
ざっくりだとこんな感じなのでしょうか?
URLリンク(qiita.com)
Observableでイベントを作って送って、
.Subscribe()で受け取るって理解で良いのかな?
>>88


926:5さんの言われてる、intervalのタイマーはこれで。 http://blog.norioegi.com/rxjava-timer/



927:デフォルトの名無しさん
18/08/02 20:16:30.67 lOc4vhPd.net
ラムダ式も使ったほうがいいね

928:デフォルトの名無しさん
18/08/02 22:54:32.88 qwMHSEWO.net
implementation "io.reactivex.rxjava2:rxjava:2.1.6"
implementation 'io.reactivex.rxjava2:rxandroid:2.0.1'
をgradleに書いて、
Observable.interval
って書いても、intervalが見つからないです・・・。
RxJavaの良い入門サイトは無いでしょうか?

929:デフォルトの名無しさん
18/08/03 00:47:03.89 Ivd73FF2.net
RxJava 2.xの情報がここ1年ほとんど無いけど、
オワコンなの?

930:デフォルトの名無しさん
18/08/03 01:31:19.01 Ivd73FF2.net
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のサンプルも無いし、どうすればいいの?

931:デフォルトの名無しさん
18/08/03 08:28:02.23 0BV0WoGg.net
>>893
成熟期に入っただけ
むしろ当たり前として使ってる

932:デフォルトの名無しさん
18/08/03 08:40:22.94 lMjnDUvZ.net
subscribeの中でitで秒が返ってくる

933:デフォルトの名無しさん
18/08/03 11:37:06.65 Ivd73FF2.net
>>896
Observable
.interval(1, TimeUnit.SECONDS)
.subscribe(txvText.setText(it););
こうでしょうか?
でもitが見つからないし、そもそもitってググっても出てきませんが、どこから来たのでしょう?

934:デフォルトの名無しさん
18/08/03 12:08:19.73 CI8optBx.net
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() {
}
});

935:デフォルトの名無しさん
18/08/03 12:09:54.90 CI8optBx.net
.subscribeOn(Schedulers.computation()) はなくてもよかった

936:デフォルトの名無しさん
18/08/03 13:21:25.74 Ivd73FF2.net
>>898
0~9まで1秒毎に動きました!
ありがとうございます!
runOnUiThreadを使わなくても表示出来るのは便利ですね。

937:デフォルトの名無しさん
18/08/03 15:54:17.66 guABJL2A.net
ObserverじゃなくてConsumerを渡す(ついでにラムダ式)。
Observable.interval(0, 1, TimeUnit.SECONDS)
.take(10)
.observeOn(AndroidSchedulers.mainThread())
.subscribe(cnt -> txvText.setText(cnt.toString()));

938:デフォルトの名無しさん
18/08/03 16:17:20.31 htH9kPBS.net
>>897
it って、this, self みたいな、
自分自身のインスタンスを指すキーワードか?

939:デフォルトの名無しさん
18/08/04 10:18:36.71 R/q4rS6M.net
アプリ初心者です
全画面に表示する共通のメニューを作りたいです
AppCompatActivityを継承したCommonActivityでメニューを作成して、
他の画面CommonActivityを継承しましたが、メニューは出ても
子クラスのその他のテキストビュー等が出せません
SetContentViewで2つのViewを同時に出す方法はあるのでしょうか?

940:デフォルトの名無しさん
18/08/04 14:17:56.44 5q35Ybex.net
Androidアプリ開発を学びたいのですが、今から始めるならKotlinが良いのでしょうか?
個人的に不安なのが、書籍やネット上にある情報の多くがjavaで解説されているため、詰まったときに解決できなくなってしまい


941:そうなことです。 先にjavaによる開発を経験してからの方が賢明でしょうか?



942:デフォルトの名無しさん
18/08/04 15:24:13.83 ajHYkZHs.net
>>903
そういう共通で使う画面パーツはflagmentで実装する
activityとのやりとりにはviewmodelを使うと便利
あとcommonActivityはアンチパターンだからやめとく

943:デフォルトの名無しさん
18/08/04 16:10:40.79 yDY96/4T.net
>>904
まず、もし2D/3Dゲームを念頭に置いてるのなら最初からUnityでよい
次に、入力フォームや表データや画像とかを表示する(または何も表示しない)ユーティリティ・ツールアプリを作りたいのなら今のところJavaで作るしかない
Kotlinは自力で記述するJavaを大幅に置き換えることができるが、他人が記述したJavaプロブラム文を意味や意図ごと置き換えることはしてくれない
もしKotlinでAndroidアプリを作りたいのなら、他人が書いたJavaプログラム文を解釈して理解するだけのJava知識は実質的には必要

944:デフォルトの名無しさん
18/08/04 18:39:12.11 R/q4rS6M.net
>>905
ありがとうございます
flagmentを勉強します

945:デフォルトの名無しさん
18/08/04 19:30:09.24 5q35Ybex.net
>>906
レスありがとうございます。
ツール系・ゲーム系両方やってみるつもりです。
ツール系の場合はjavaある程度触ってからやってみることにします。

946:デフォルトの名無しさん
18/08/04 20:27:48.98 5q35Ybex.net
ちなみにAndroid Studioで2D、3Dのゲームを制作するのは難しいのでしょうか?

947:デフォルトの名無しさん
18/08/05 04:51:43.32 yjOR4iTx.net
もうすぐandroid終了するのに今更やる意味ないでしょ

948:デフォルトの名無しさん
18/08/05 07:11:47.69 4UCWD52b.net
>>910
Googleの言う将来とやらを真に受けてGo言語を学んだ結果はいかがでしたか

949:デフォルトの名無しさん
18/08/05 07:14:43.11 5rt28jG5.net
えっ??
Android終了するの?

950:デフォルトの名無しさん
18/08/05 07:21:45.68 YdnNH4ow.net
いつものやるやる詐欺

951:デフォルトの名無しさん
18/08/05 07:53:13.88 4UCWD52b.net
>>912
超平たく言うと、GoogleはAndroidスマホ・Chromebook・スマートスピーカーあたりのOSを次期OSで統合「したい」の「ではないか」という観測がある
まあそりゃ統合はしたいだろうけど市場がついていくとは限らんし動くもの作るのにも時間がかかるし別に気にしなくてよい
あなたに一生に一つしかプログラミング言語を学べない呪いがかかっているとかならAndroidに関わるのは別なものにしたほうがいいけど、Cとか

952:デフォルトの名無しさん
18/08/05 09:33:31.01 TwEVeTWE.net
まあ今月 p が出るみたいだし、しばらくはまだ大丈夫じゃない?(大丈夫とは言っていない)

953:デフォルトの名無しさん
18/08/05 09:57:12.32 o53L2PsS.net
Google様は飽きたらすぐやめちゃうからな

954:デフォルトの名無しさん
18/08/05 10:11:44.76 ovhwKjdk.net
Javaの有償化。openJDKにすれば回避できるてのも疑問。

955:デフォルトの名無しさん
18/08/05 13:45:33.92 yjOR4iTx.net
>>904が1からプログラミングを学習してまともなゲーム作れるようになる頃にはandroid終了しているだろうなって話
チームで開発しててもまともなもなゲーム作るには一年はかかるのに、それを個人でやるんでしょ?
積み上げた知識は無駄にはならないけどね

956:デフォルトの名無しさん
18/08/05 14:51:23.21 h00bNn2V.net
fuchshia移っても互換性は保つでしょ

957:デフォルトの名無しさん
18/08/05 15:49:44.86 mkpRfns0.net
>>917
openで回避できるじゃん
何が疑問か分からない

958:デフォルトの名無しさん
18/08/05 16:01:06.30 HCiUpMia.net
Androidは開発環境も昔はOracleJDK使ってたけどしばらく前からOpenJDKに変更されてるしな

959:デフォルトの名無しさん
18/08/05 17:04:47.32 aJhRtn6H.net
>>904
最新の�


960:@能をゴリゴリ使いたいならば、毎年googleが 思いつきで出してくる最新の言語を覚える必要が あるかも でも基本的にアプリケーションを動作させるエンジンが Javaベースの間(今ならばART)はJavaで開発を行って いれば大体のものが動いて作れるしサンプルも豊富 それとは別にゲームとか特定の分野のアプリを 作るならば、それ用のプラットフォーム(例えば >>908さんが書かれたようなUnityとか)が開発されている ことも多いのでそちらを覚えた方がよいかも androidはなんちゃってオープンOS化がひどくなって いるので、一部googleにべったりで仕事をしている人 以外には最新の環境を追ってもあまり意味はないよ



961:デフォルトの名無しさん
18/08/06 08:46:42.67 kCQS2Lss.net
>>921
そこが疑問なんだよ。
OpenJDKでORACLE排除できるというなら、コーティンに移行させる必要性がなくね?
コーティンに移行してもORACLE裁判のフレームワーク設計に著作権が認められた点を排除できてもいない。
コーティン使おうとimport java.*するのだから。

962:デフォルトの名無しさん
18/08/06 08:51:23.33 tqT0RbyY.net
プラットホームビジネスというか
プラット法務ビジネス

963:デフォルトの名無しさん
18/08/06 09:19:40.00 Qe1JBvmV.net
【審議中】
    ∧,,∧  ∧,,∧
 ∧ (´・ω・) (・ω・`) ∧∧
( ´・ω) U) ( つと ノ(ω・` )
| U (  ´・) (・`  ) と ノ
 u-u (l    ) (   ノu-u
     `u-u'. `u-u'

964:デフォルトの名無しさん
18/08/06 11:25:47.32 50miL/ln.net
>>923
Kotlin採用は、AppleがSwift採用したのと同じで、現代的な言語に移行したかっただけだよ?
あえてKotlinなのは、Android含めたJavaとの互換性を考慮して設計されてるから
Googleが面倒なことしなくてもJavaからKotlinに移行できるようJetBrainsがお膳立てしてくれたから、それに乗っかっただけでしよ

965:デフォルトの名無しさん
18/08/06 18:40:25.57 hLKuU6RW.net
>>923
コトリンだっつってんだろ!

966:デフォルトの名無しさん
18/08/06 20:09:18.04 PKEcOyRe.net
新言語 Cortin

967:デフォルトの名無しさん
18/08/06 20:43:50.41 sg4jFQFF.net
名古屋コトリン

968:デフォルトの名無しさん
18/08/06 20:46:31.71 MB2hbv4T.net
コケ : バサバサ = コケコー

969:デフォルトの名無しさん
18/08/06 20:46:32.80 bC+ybpG7.net
焼肉コトリン

970:デフォルトの名無しさん
18/08/07 01:00:19.49 yV+pbe15.net
>>926
AndroidStudioのベースにIntelliJを採用したかったグーグルが付き合いでKotlin採用しただけだろ。

971:デフォルトの名無しさん
18/08/07 02:08:46.56 wYJE/4+k.net
すみません、Androidプログラミングで
~Layoutの類が詳しく説明してあるところってありますか?
思ったところにコントロール?が配置できなくて。

972:デフォルトの名無しさん
18/08/07 12:35:36.68 r/NXRNz/.net
海のコトリン

973:デフォルトの名無しさん
18/08/07 14:25:05.00 8Qwq12J1.net
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();
}
});
}

974:デフォルトの名無しさん
18/08/07 14:41:45.85 BOh5BmGT.net
flatMap

975:デフォルトの名無しさん
18/08/07 14:56:25.41 8Qwq12J1.net
map/flatmapで同じこと出来るのですね、ありがとうございます。

976:デフォルトの名無しさん
18/08/07 15:17:54.21 iJIK6alP.net
いつまで定期実行タイマーやってんだよ…

977:デフォルトの名無しさん
18/08/07 15:29:54.09 8Qwq12J1.net



978:すいません、本を読んで引っ込みます。 RxJavaは翔泳社の「RxJavaリアクティブプログラミング」って本を読んでおけばいいでしょうか?



979:デフォルトの名無しさん
18/08/07 20:19:08.65 oD8dyUOF.net
うん
あれ一冊読んどけばいい

980:デフォルトの名無しさん
18/08/08 17:42:54.54 AOT1YzaP.net
現在入門書を読んでる初心者です
「ダイアログを生成するためにはビルダーを利用する」と記載されていたのですがそもこもビルダーとは何でしょうか?
自分なりに調べた結果、引数が多いと記述する際にわかりにくくなるため、コンストラクタの代わりに作るものと理解したのですがこの認識で合ってますか?

981:デフォルトの名無しさん
18/08/08 18:13:44.38 03X0wt9M.net
分かりにくいとかより、ダイアログも実体は通常の画面表示
なのだけど、ダイアログのような表示形式にするには通常の
画面に色々設定をほどこしてそれっぽくする必要があるので、
自動的に面倒くさい部分を隠蔽して作ってくれるクラスが
提供されているよ感じかな
ただ、想定されている形式のものしか作成できないので、
クラスのオーバーライドを行っても出来ることが限られるので
自分でダイアログボックスのクラスを作る人も多いような
気はするけど

982:デフォルトの名無しさん
18/08/08 19:37:20.98 WrWe88rx.net
CustomView渡せば好き勝手できるけど?

983:デフォルトの名無しさん
18/08/08 19:52:00.02 AOT1YzaP.net
>>942
ビルダー=自動的に面倒くさい部分を隠蔽して作ってくれるクラス
ってことですか?

984:デフォルトの名無しさん
18/08/08 20:43:39.16 3s3ULQKy.net
ビルダーパターンで検索

985:デフォルトの名無しさん
18/08/08 21:19:33.03 AOT1YzaP.net
ビルダーで検索したらビルダーパターンしか出なくて困ってたんです

986:デフォルトの名無しさん
18/08/08 22:06:29.43 bEd/8Qmy.net
まともに説明できるやついなくて草

987:デフォルトの名無しさん
18/08/08 22:07:05.06 7VVPJa90.net
ビルダー:
色とかサイズとか指定して購入ボタンを押したら服をこしらえてくれる、オーダーメイドショップみたいな人。
購入ボタンを押すまでは自分でやらないといけない。

988:デフォルトの名無しさん
18/08/08 22:21:17.83 7VVPJa90.net
使用時の定形パターン。
赤服 = new 服ビルダー().set色(赤).setサイズ(L).作る();
赤服.着る();

989:デフォルトの名無しさん
18/08/09 10:02:58.90 gFPymi4k.net
服が着るのはなんか変だが、本筋じゃないからまあいいか

990:デフォルトの名無しさん
18/08/09 11:17:00.61 8qUg7w5I.net
赤服は、ひ、ひ、人の名前だからっ!

991:デフォルトの名無しさん
18/08/09 11:49:54.03 NXkdt6vr.net
ええじゃないか

992:デフォルトの名無しさん
18/08/09 15:38:19.23 cAAxssq6.net
>>951
で?

993:デフォルトの名無しさん
18/08/09 18:37:14.71 vFb6cDe/.net
ビルダーパタンとは?
複雑、多めのパラメータを構築するパターン。
ビルダーそれ自体が目的となるオブジェクトは作らず、ビルドしたパラメータをファクトリーに与える形で用いる。
また、ビルダーがパラメータ検査を行うことで比較的に勘弁なロジックとなるが、往々にしてパラメータ検査なんかしていない。

女、綺麗
猫、黒のみ
刀、ファンド
をパラメーターにとるファクトリーがあり
それぞれ
女 → パイクのポリゴンを持つオブジェクトを吐き出す、ただし綺麗で清らか
猫 → パンのポリゴンを。三毛猫のみ
刀 → バス。存在する楕円曲線名が必要
という条件、ロジックに適する。

なお、この場合のファクトリは、見かけは一つだが、中身は別のファクトリを分岐して呼び出すことが多く、複雑さを与えておきながら、中身を見せない抽象化を必要とする場合にも使われる

994:デフォルトの名無しさん
18/08/09 19:22:18.98 05IjYVYk.net
文脈がないのでビルダーの指す意味が多岐に渡り過ぎて大喜利しかできないというのが正直なとこだ
IDE付属のGUI画面組み立て機能のことだと思うのだが

995:デフォルトの名無しさん
18/08/09 20:01:57.34 1DmmESR/.net
>>955
いやいやw
この程度読めないなら黙っておいた方がいいよwww

996:デフォルトの名無しさん
18/08/09 20:09:43.74 /U84Tf+Q.net
要はXamarinは糞

997:デフォルトの名無しさん
18/08/09 21:46:45.26 nqTz3IyX.net
>>956
> この程度読めないなら黙っておいた方がいいよwww
てんでバラバラの回答だらけなのに何言ってるんだか w

998:デフォルトの名無しさん
18/08/09 22:12:15.91 56z3Z+ao.net
Menuにセパレータていれらんないの?groupしても入らないみたい

999:デフォルトの名無しさん
18/08/10 00:04:54.83 3Gbr2Rmh.net
ビルダーは、設定ファイルの値を設定する方法
GUI のビルダーが有名。
Selenium WebDriver とか

1000:デフォルトの名無しさん
18/08/10 08:27:43.16 kZsmJvYP.net
webviewを使ったアクティビティをインテントで他のアプリからjavascriptを実行できてしまうのは作りに問題あるのでしょうか?

1001:デフォルトの名無しさん
18/08/10 13:14:23.40 d4C66yAC.net
>>961
アクティビティをエクスポートしなければ、よいような?

1002:デフォルトの名無しさん
18/08/10 13:38:08.83 PZNW+nQf.net
Xamarinみたいな糞でやるからそうなる

1003:デフォルトの名無しさん
18/08/10 18:08:37.90 /zQV8qwX.net
データベースを使用する際に、最初のcreateの部分で画像の様にsql文を+演算子で結合してるのはなぜでしょうか?
1行にまとめて書くのは良くないのでしょうか?1行にまとめると単純に見にくくなるからでしょうか?
URLリンク(i.imgur.com)

1004:デフォルトの名無しさん
18/08/10 18:14:00.50 ffHaAIw4.net
+演算子を使っているのは文字列リテラルと文字列変数を結合する為です
改行は単に見易さの為に入れてるだけ

1005:デフォルトの名無しさん
18/08/10 19:48:05.32 /zQV8qwX.net
>>965
やはり見易さのためでしたか、ありがとうございます。
あと、サンプルによっては+演算子の場合とStringBuilderを使ってる場合があるのですがどう使い分けているのでしょうか?
それともどっちでもいいのでしょうか?

1006:デフォルトの名無しさん
18/08/10 20:09:25.33 JxgH6/Ov.net
どっちでもいいけど、StringBuilderの方が文字連結のスピードが早い。

1007:デフォルトの名無しさん
18/08/10 20:33:12.32 KEkESvlP.net
速くなるかどうかはどう最適化されるかによると思うが、やたらでかい文字列だとか何万回も同じ処理するだとかそういう特殊な事情がない限りはどのように書いても人間が感じられないぐらいの速度に収まると思う。
特にSQL文なんかはサーバに送って実行されてる時間の方が圧倒的に長いのが普通だろうし、SQL文の文字列の連結でどうすべきかはあまり深く考えても意味はないと思う。

1008:デフォルトの名無しさん
18/08/10 22:22:45.99 /zQV8qwX.net
>>967
>>968
回答ありがとうございます。
状況によってどちらを使うかで早さが変わってくるようですね。
勉強になりました。

1009:デフォルトの名無しさん
18/08/11 00:52:50.91 kAHX+3Lu.net
>>969
まぁ参考までに
URLリンク(www.techscore.com)

1010:デフォルトの名無しさん
18/08/11 02:13:38.33 7kLiHGgf.net
これもどうぞ
URLリンク(qiita.com)

1011:デフォルトの名無しさん
18/08/11 08:52:02.09 7jOi24z7.net
>>968
細かい話だと、SQL文は同じ集合を求めるクエリなら、すべてのプログラムが同じクエリ文字列を与えて、パラメータは文にいれない方がプチ速くなり、鯖のメモリを1KBオーダーで節約できる。



1012:Nエリ文字列が空白、エイリアス、検索条件まで含めて一致したら同じクエリだから、解析せずに過去の解析結果をつかって文を実行する。 テーブル名、列名をわざわざ連結編集するのは、SQL文の統一性、名称変更の手間を減らす意味があるが、 こんなクエリ解析速度という因習、風習が趣旨と考えている人もまだ多い。 マテリアルズビューなんかが常用される時代、テーブル名で検索条件をプログラムに書くと嫌われる。 ちらうら



1013:デフォルトの名無しさん
18/08/11 11:41:16.17 AWnFhpjF.net
3行でまとめろ

1014:デフォルトの名無しさん
18/08/11 14:22:55.62 5fh9XEej.net
細かい話だと、SQL文は同じ集合を求めるクエリなら、すべてのプログラムが同じクエリ文字列を与えて、パラメータは文にいれない方がプチ速くなり、鯖のメモリを1KBオーダーで節約できる。
クエリ文字列が空白、エイリアス、検索条件まで含めて一致したら同じクエリだから、解析せずに過去の解析結果をつかって文を実行する。テーブル名、列名をわざわざ連結編集するのは、SQL文の統一性、
名称変更の手間を減らす意味があるが、こんなクエリ解析速度という因習、風習が趣旨と考えている人もまだ多い。マテリアルズビューなんかが常用される時代、テーブル名で検索条件をプログラムに書くと嫌われる。ちらうら

1015:デフォルトの名無しさん
18/08/11 22:02:25.28 elUrchRQ.net
入門書を1冊やり終え、現在自分で考えたアプリを作っています。
しかし、「ここの実装はどうやったらいいのだろう?」っていう状況が多々発生します。
実装で詰まった時はどうやって解決策探してますか?
今はとりあえず、ググるorStackoverflowやQiita内を検索って感じで探してます。

1016:デフォルトの名無しさん
18/08/11 23:51:03.15 bn+vBcln.net
つリファレンス

1017:デフォルトの名無しさん
18/08/12 03:15:10.30 FPgw2DPb.net
>>975
やりたい処理を適度に細分化するココらへんはセンスだな最小単位の処理から作る
速度とか効率は二の次で"自分"で考えてとりあえず動くもの書いてみる
これの繰り返しだよ
困ったら 風呂入って考える 寝て起きたら考える と何故か解決する

1018:デフォルトの名無しさん
18/08/12 12:16:39.70 6GYhboYN.net
>>975
持論のコツを垂れると
976の通り、リファレンスを読む。
泥が唯一優れているのは、ドキュメントだろ。
デベロッパーAndroidコムなんか、かなり親切丁寧に書いてある。
窓みてみろ。あの腐ったドキュメント。
ヘッダーファイルの方がまだ分かりやすい、

1019:デフォルトの名無しさん
18/08/12 16:11:46.84 QTon8soE.net
>>977
すいません、あまり伝わっていなかったみたいなので補足します。
>>975で言っている「ここの実装はどうやったらいいのだろう?」っていう状況は、考えたら解決するような問題ではなく、単純に知識不足でコードが書けない状態のことを指しています。
>>976
>>978
リファレンスの中から目的に合ったものを探すのはどうしてますか?
例えばこの前、ボタンを動的に消そうと思ったときにボタンや親クラスのリファレンスを見ていたのですが該当する項目が見つかりませんでした。
結局ググった結果、ボタンを消すにはボタンが配置されているレイアウトからボタンを指定して消す必要があるらしいことがわかりました。
ボタンに関する操作を行いたいのにレイアウトのリファレンスを見ようとは思わないのでリファレンス内から自力で見つけるのは難しいなと感じている状態です。

1020:デフォルトの名無しさん
18/08/12 16:33:17.49 fdgGBvne.net
>単純に知識不足で
経験が足りないのはどうしようもない
あきらめろ

1021:デフォルトの名無しさん
18/08/12 16:46:41.27 pzAjVO5w.net
>>979
Button の表示を消すのは親クラス View の setVisibility(View.GONE) か setVisibility(View.INVISIBLE) かじゃないの?
まあ、Layout を操作するって方法もあるだろうけど、それにたどり着けないのは View が Layout に配置されているという基本的知識が足りないせいだよね
レイアウトについて全く触れてない入門書とか有り得ないと思うんだけどどうなの?

1022:デフォルトの名無しさん
18/08/12 16:48:59.90 huw8B1r9.net
>>979
暇な時にリファレンスを読んで、どこに何が書かれ�


1023:トいるかの概要を覚えておく。 どの資料に何が書かれているかを知っているのもスキルのひとつ。



1024:デフォルトの名無しさん
18/08/12 17:00:27.86 zHqP9F/l.net
目的の情報ばかりじゃなくて、調べる過程で知った他のことっていうのも頭の隅においとくといいよ。それがいつか引き出しとして役に立つことがある。

1025:デフォルトの名無しさん
18/08/12 18:26:12.70 QTon8soE.net
>>981
setVisibilityも見つけましたが、これは一時的に見えなくするだけでアプリを再起動したらまた復活するから違うなと思った次第です(完全に消したかった)。
ViewがLayoutに配置されているのは理解していますが、Viewを消すのだからViewのメソッドに自分自身を消すものがあるのではないかとの予測のもと探していた感じですね。
確かにレイアウトに配置(set)したのだからレイアウトから消去(remove)できると考えたほうが自然かもしれません。頭かたかったですね。

1026:デフォルトの名無しさん
18/08/12 18:29:43.55 QTon8soE.net
>>982
英語苦手ですがやはり避けて通れない道ですね(-_-;)
>>983
そうですね。今後に役立ちそうな情報はすぐに引っ張り出せるようにしておきます。

1027:デフォルトの名無しさん
18/08/12 18:39:16.91 9YH24fvJ.net
>>984
動的にプログラム実行中にレイアウトからボタン消しても、アプリ再起動で復活するだろ?
それともレイアウトのXMLを編集して消したってことなの?
後者ならViewのメソッド探すとか見当違い過ぎだろ

1028:デフォルトの名無しさん
18/08/12 19:01:43.10 zHqP9F/l.net
>>984
ひとりの人間を消すとなったときに、一般的には他殺で実現するのに、自殺するやり方を模索してた、みたいな感じかな。

1029:デフォルトの名無しさん
18/08/12 20:45:02.29 I1Ft7U8p.net
>>986
状態を保存するという概念がないのだと思われ
viewをアプリ動作時に消したら、その後もずっと消えてて欲しいのだと思う

1030:デフォルトの名無しさん
18/08/12 21:33:48.20 6vim/g5G.net
sharedPreferenceに何らかのデータを保存して条件に合うときだけ
動的にaddViewかなあ

1031:デフォルトの名無しさん
18/08/12 22:21:36.78 I1Ft7U8p.net
>>989
設定でOFFにしたら今後表示しない、みたいなのかも
あるいは「このヒントを二度と表示しない」のチェックボックスかもしれん

1032:デフォルトの名無しさん
18/08/13 03:13:17.98 iSM75bxX.net
auメールアプリではタップでメール内容表示フリックで指の動きに追従して
ゴミ箱に送れるボタンあるけどあれ作れと言われたら困るな

1033:デフォルトの名無しさん
18/08/13 13:44:13.20 ISVWH6gZ.net
>>985
マジレス; クロムなり機械翻訳を使う
かわいい日本語(libraryを「としょかん」と訳す)だが、要約はつかめる。

1034:デフォルトの名無しさん
18/08/13 15:41:59.12 dRf4TpQ4.net
Google翻訳って全然進化しないな

1035:デフォルトの名無しさん
18/08/13 18:21:23.26 O2/7frsG.net
Recyclerviewにて画像を表示しています。
スクロールすると非表示となったViewが再利用されて、スクロールで非表示となった画像が再度出てきてしまいます。
どのように制御すればよいでしょうか?

1036:デフォルトの名無しさん
18/08/13 19:57:09.20 dRf4TpQ4.net
recycleしなけりゃいいんじゃね
NestedScrollViewでrecyclerViewを囲んだらいいよ

1037:デフォルトの名無しさん
18/08/13 23:28:17.61 xzot+A3l.net
次スレどこぉ

1038:デフォルトの名無しさん
18/08/14 10:48:28.99 GQVl6hxG.net
>>995
解決しました。
有り難うございます。

1039:デフォルトの名無しさん
18/08/14 10:50:17.84 GZMA4mTy.net
次スレ
スレリンク(tech板)

1040:デフォルトの名無しさん
18/08/14 10:53:02.41 UwXfpacN.net
Matrix

1041:デフォルトの名無しさん
18/08/14 10:53:51.94 UwXfpacN.net
10x10x10

1042:1001
Over 1000 Thread.net
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 272日 5時間 29分 35秒

1043:過去ログ ★
[過去ログ]
■ このスレッドは過去ログ倉庫に格納されています


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch