インターネットで集めて少し修正を加えたサンプル集です。
AndroidStudioでNewProjectを作成後、package com.example.*******.myapplication;以下にコピぺすれば動きます。
20161114
やっとFlagmentが分かりかけてきた。callbackとか。作成したいアプリとは関係ないことを追求しすぎた感あり。
20161106
Flagmentに描画することができた。
http://stackoverflow.com/questions/23280685/drawing-in-a-fragment-in-android のサイトに行ってやっと見つけた。独学では解決法を見つけるのに多くの時間がかかってしまう。年のせいか頭が混乱している。SurfaceVIewは現時点でできなかったのじゃなかったかなー。
20161105
Fragmentに SurfaceVIewを入れることができなくて苦労している。
surfaceView = (SurfaceView)findViewById(R.id.SurfaceViewMain);
mainSurfaceView = new MainSurfaceView(this, surfaceView);
1行目はSurfaceViewのリソースIDを用いてfindViewById()メソッドを呼び出し、SurfaceViewオブジェクトを取得します。
リソースレイアウトにて定義したSurfaceViewをfindViewByIdメソッドによって参照します。
2行目はカスタム化したMainSurfaceViewのインスタンスを作成します。MainSurfaceViewのコンストラクタの第二引数にSurfaceViewのオブジェクトを与えます。
20161019
Factorymethod はあるactivityから別のactivityにデータを送るときにnewInstanceを使う。newInstanceメソッドは2個のパラメータを持つ。
public static BlankFragment newInstance(String param1, String param2) {
BlankFragment fragment = new BlankFragment();
Bundle args = new Bundle();
args.putString(ARG_PARAM1, param1);
args.putString(ARG_PARAM2, param2);
fragment.setArguments(args);
return fragment;
}
20161019
Factory Methodとは
インスタンスの作り方をスーパークラスで定め、具体的な処理をサブクラスで行うパターンをFactory Methodパターンと呼びます。
FactoryMethod パターンでは、インスタンス生成のためのメソッドを用意します。そして、そのインスタンスを生成するためのメソッドを通してインスタンスの生成を行います。
GoFとは
GoF (Gang of Four; 四人組) と呼ばれる4人の共著者は、デザインパターンという用語を初めてソフトウェア開発に導入した。GoFは、エーリヒ・ガンマ、リチャード・ヘルム、ラルフ・ジョンソン、ジョン・ブリシディースの4人である。彼らは、その書籍の中で23種類のパターンを取り上げた。
彼らはこう述べている。
コンピュータのプログラミングで、素人と達人の間では驚くほどの生産性の差があり、その差はかなりの部分が経験の違いからきている。達人は、さまざまな難局を、何度も何度も耐え忍んで乗り切ってきている。そのような達人たちが同じ問題に取り組んだ場合、典型的にはみな同じパターンの解決策に辿り着く。これがデザインパターンである (GoF)。
それぞれのパターンは、プログラマの間で何度も繰り返し考え出されてきた。したがって、それは最善の解決策ではないかもしれないが、その種の問題に対するトレードオフを考慮した、典型的な解決策ではある。さらに、コストがかかるかもしれない問題解決を実際に行う前の先行調査として、大変役に立つ。パターンに名前が付いていることが重要である。なぜなら、名前が付いていることで問題や解決策を記述したり、会話の中で取り上げたりすることができるようになるからである。