Androidプログラミング質問スレ revision54at TECH
Androidプログラミング質問スレ revision54 - 暇つぶし2ch955:デフォルトの名無しさん
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