メモ

wikiの記事にしてない部分。
単なるメモ。


+ ...
getContext()使うと場合によってはコンテキスト保存用の変数を作らなくてもいいかも


+ ...
画面サイズ取得に関しては4.0でgetWidthなどは廃止された。

getMetricsやgetSizeで対処とのこと。


+ ...
ViewとSurfaceViewの違い


Viewにてゲーム処理などを描画しようとすると他の描画以外の処理と同じアプリケーションスレッドにて
描画されるため、描画能力の不足に陥りかねない。

それに対してSurfaceViewは通常のViewとは異なるアプリケーションスレッドの別スレッドで描画される為、
他処理に影響を受けない。

ViewやSurfaceViewの描画性能は端末に左右されるが、SurfaceViewの方が数倍近い性能を発揮すると思われる。

FPSもそれ故に端末に左右される。

lockCanvasでダブルバッファリングのロック、unlockCanvasAndPostでアンロックします。
この間に描画処理を書くことで対応します。


+ ...
プリファレンスを利用するとデータが保存できます。
簡単なデータなら簡単に保存および読み込みができるのでGood。

保存データは当該アプリのみアクセス可・他アプリでも書き込み可・他アプリでも読み込み可
というふうにアクセスに関しても制限可能。

保存可能データはString・Int・Long・Float・Booleanです。
ファイル名(アプリごとに変えたりとか)・キー名(項目みたいなの)を追加および削除可能なので、
複数種類のデータの保存も可能。

気になる方はグーグル先生にお聞きください。

そのままサンプル打っても、クラスやソースが分割されていると書き方が変わるので気を付けて。

(そこで手間取ったんですが・・・(^_^;) 
 まあ、ジェスチャーディテクターの前例があったおかげで解決出来たんですがね。)


+ ...
addViewやaddContentViewでビューの追加が可能。
removeViewで削除も可能。

例)
setContentView( R.layout.main );

LinearLayout parent = (LinearLayout)findViewById( R.layout.main );

TextView text1 = new TextView( this );
text1.setText( "text1" );

parent.addView( text1 );

TextView text2 = new TextView( this );
text1.setText( "text2" );

parent.addView( text2 );

parent.removeView( text1 );

最終更新:2013年05月13日 12:01