Androidプログラミング質問スレ revision54
レス数が1000を超えています。これ以上書き込みはできません。
ビルダーパタンとは?
複雑、多めのパラメータを構築するパターン。
ビルダーそれ自体が目的となるオブジェクトは作らず、ビルドしたパラメータをファクトリーに与える形で用いる。
また、ビルダーがパラメータ検査を行うことで比較的に勘弁なロジックとなるが、往々にしてパラメータ検査なんかしていない。
例
女、綺麗
猫、黒のみ
刀、ファンド
をパラメーターにとるファクトリーがあり
それぞれ
女 → パイクのポリゴンを持つオブジェクトを吐き出す、ただし綺麗で清らか
猫 → パンのポリゴンを。三毛猫のみ
刀 → バス。存在する楕円曲線名が必要
という条件、ロジックに適する。
なお、この場合のファクトリは、見かけは一つだが、中身は別のファクトリを分岐して呼び出すことが多く、複雑さを与えておきながら、中身を見せない抽象化を必要とする場合にも使われる 文脈がないのでビルダーの指す意味が多岐に渡り過ぎて大喜利しかできないというのが正直なとこだ
IDE付属のGUI画面組み立て機能のことだと思うのだが >>955
いやいやw
この程度読めないなら黙っておいた方がいいよwww >>956
> この程度読めないなら黙っておいた方がいいよwww
てんでバラバラの回答だらけなのに何言ってるんだか w Menuにセパレータていれらんないの?groupしても入らないみたい ビルダーは、設定ファイルの値を設定する方法
GUI のビルダーが有名。
Selenium WebDriver とか webviewを使ったアクティビティをインテントで他のアプリからjavascriptを実行できてしまうのは作りに問題あるのでしょうか? >>961
アクティビティをエクスポートしなければ、よいような? データベースを使用する際に、最初のcreateの部分で画像の様にsql文を+演算子で結合してるのはなぜでしょうか?
1行にまとめて書くのは良くないのでしょうか?1行にまとめると単純に見にくくなるからでしょうか?
https://i.imgur.com/LoV48qa.png +演算子を使っているのは文字列リテラルと文字列変数を結合する為です
改行は単に見易さの為に入れてるだけ >>965
やはり見易さのためでしたか、ありがとうございます。
あと、サンプルによっては+演算子の場合とStringBuilderを使ってる場合があるのですがどう使い分けているのでしょうか?
それともどっちでもいいのでしょうか? どっちでもいいけど、StringBuilderの方が文字連結のスピードが早い。 速くなるかどうかはどう最適化されるかによると思うが、やたらでかい文字列だとか何万回も同じ処理するだとかそういう特殊な事情がない限りはどのように書いても人間が感じられないぐらいの速度に収まると思う。
特にSQL文なんかはサーバに送って実行されてる時間の方が圧倒的に長いのが普通だろうし、SQL文の文字列の連結でどうすべきかはあまり深く考えても意味はないと思う。 >>967
>>968
回答ありがとうございます。
状況によってどちらを使うかで早さが変わってくるようですね。
勉強になりました。 >>968
細かい話だと、SQL文は同じ集合を求めるクエリなら、すべてのプログラムが同じクエリ文字列を与えて、パラメータは文にいれない方がプチ速くなり、鯖のメモリを1KBオーダーで節約できる。
クエリ文字列が空白、エイリアス、検索条件まで含めて一致したら同じクエリだから、解析せずに過去の解析結果をつかって文を実行する。
テーブル名、列名をわざわざ連結編集するのは、SQL文の統一性、名称変更の手間を減らす意味があるが、
こんなクエリ解析速度という因習、風習が趣旨と考えている人もまだ多い。
マテリアルズビューなんかが常用される時代、テーブル名で検索条件をプログラムに書くと嫌われる。
ちらうら 細かい話だと、SQL文は同じ集合を求めるクエリなら、すべてのプログラムが同じクエリ文字列を与えて、パラメータは文にいれない方がプチ速くなり、鯖のメモリを1KBオーダーで節約できる。
クエリ文字列が空白、エイリアス、検索条件まで含めて一致したら同じクエリだから、解析せずに過去の解析結果をつかって文を実行する。テーブル名、列名をわざわざ連結編集するのは、SQL文の統一性、
名称変更の手間を減らす意味があるが、こんなクエリ解析速度という因習、風習が趣旨と考えている人もまだ多い。マテリアルズビューなんかが常用される時代、テーブル名で検索条件をプログラムに書くと嫌われる。ちらうら 入門書を1冊やり終え、現在自分で考えたアプリを作っています。
しかし、「ここの実装はどうやったらいいのだろう?」っていう状況が多々発生します。
実装で詰まった時はどうやって解決策探してますか?
今はとりあえず、ググるorStackoverflowやQiita内を検索って感じで探してます。 >>975
やりたい処理を適度に細分化するココらへんはセンスだな最小単位の処理から作る
速度とか効率は二の次で"自分"で考えてとりあえず動くもの書いてみる
これの繰り返しだよ
困ったら 風呂入って考える 寝て起きたら考える と何故か解決する >>975
持論のコツを垂れると
976の通り、リファレンスを読む。
泥が唯一優れているのは、ドキュメントだろ。
デベロッパーAndroidコムなんか、かなり親切丁寧に書いてある。
窓みてみろ。あの腐ったドキュメント。
ヘッダーファイルの方がまだ分かりやすい、 >>977
すいません、あまり伝わっていなかったみたいなので補足します。
>>975で言っている「ここの実装はどうやったらいいのだろう?」っていう状況は、考えたら解決するような問題ではなく、単純に知識不足でコードが書けない状態のことを指しています。
>>976
>>978
リファレンスの中から目的に合ったものを探すのはどうしてますか?
例えばこの前、ボタンを動的に消そうと思ったときにボタンや親クラスのリファレンスを見ていたのですが該当する項目が見つかりませんでした。
結局ググった結果、ボタンを消すにはボタンが配置されているレイアウトからボタンを指定して消す必要があるらしいことがわかりました。
ボタンに関する操作を行いたいのにレイアウトのリファレンスを見ようとは思わないのでリファレンス内から自力で見つけるのは難しいなと感じている状態です。 >単純に知識不足で
経験が足りないのはどうしようもない
あきらめろ >>979
Button の表示を消すのは親クラス View の setVisibility(View.GONE) か setVisibility(View.INVISIBLE) かじゃないの?
まあ、Layout を操作するって方法もあるだろうけど、それにたどり着けないのは View が Layout に配置されているという基本的知識が足りないせいだよね
レイアウトについて全く触れてない入門書とか有り得ないと思うんだけどどうなの? >>979
暇な時にリファレンスを読んで、どこに何が書かれているかの概要を覚えておく。
どの資料に何が書かれているかを知っているのもスキルのひとつ。 目的の情報ばかりじゃなくて、調べる過程で知った他のことっていうのも頭の隅においとくといいよ。それがいつか引き出しとして役に立つことがある。 >>981
setVisibilityも見つけましたが、これは一時的に見えなくするだけでアプリを再起動したらまた復活するから違うなと思った次第です(完全に消したかった)。
ViewがLayoutに配置されているのは理解していますが、Viewを消すのだからViewのメソッドに自分自身を消すものがあるのではないかとの予測のもと探していた感じですね。
確かにレイアウトに配置(set)したのだからレイアウトから消去(remove)できると考えたほうが自然かもしれません。頭かたかったですね。 >>982
英語苦手ですがやはり避けて通れない道ですね(-_-;)
>>983
そうですね。今後に役立ちそうな情報はすぐに引っ張り出せるようにしておきます。 >>984
動的にプログラム実行中にレイアウトからボタン消しても、アプリ再起動で復活するだろ?
それともレイアウトのXMLを編集して消したってことなの?
後者ならViewのメソッド探すとか見当違い過ぎだろ >>984
ひとりの人間を消すとなったときに、一般的には他殺で実現するのに、自殺するやり方を模索してた、みたいな感じかな。 >>986
状態を保存するという概念がないのだと思われ
viewをアプリ動作時に消したら、その後もずっと消えてて欲しいのだと思う sharedPreferenceに何らかのデータを保存して条件に合うときだけ
動的にaddViewかなあ >>989
設定でOFFにしたら今後表示しない、みたいなのかも
あるいは「このヒントを二度と表示しない」のチェックボックスかもしれん auメールアプリではタップでメール内容表示フリックで指の動きに追従して
ゴミ箱に送れるボタンあるけどあれ作れと言われたら困るな >>985
マジレス; クロムなり機械翻訳を使う
かわいい日本語(libraryを「としょかん」と訳す)だが、要約はつかめる。 Recyclerviewにて画像を表示しています。
スクロールすると非表示となったViewが再利用されて、スクロールで非表示となった画像が再度出てきてしまいます。
どのように制御すればよいでしょうか? recycleしなけりゃいいんじゃね
NestedScrollViewでrecyclerViewを囲んだらいいよ このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 272日 5時間 29分 35秒 5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php レス数が1000を超えています。これ以上書き込みはできません。