2013-01-01から1年間の記事一覧
前置き 静的型付け言語の良さの一つは,実行する前にコンパイルエラーで型の矛盾点やおかしい点を見つけられることだと思います。 例えば,定義していないメソッドを呼び出そうとしたり,クラス名が間違っていた場合,実行前におかしいということに気づけま…
論理エラーをコンパイルエラーに置き換える コンパイルエラーはある程度簡単に修正することがほとんどです。 それに対して論理エラーは発見するのが難しく,致命的な不具合を起こすことも多いです。 そのような内容で始まる,「Java魂」の2章,finalストーリ…
オブジェクト指向って何だ? オブジェクト指向。 クラス,インスタンス,継承,アクセス修飾子,メソッド,フィールド,インタフェース,抽象クラス,ポリモーフィズム 一つ一つの用語の意味は理解しているつもりです。 ThoughtWorksアンソロジー アジャイル…
結論。SerializeFieldAttribute属性をフィールドに設定することで,フィールドをpublicにしなくても,privateなフィールドでもインスペクターで値を設定できるようです。 現状の問題点 Unityでは,Monobehaviorのサブクラスのpublicなフィールドの値・参照を…
Javaのコンストラクターなどの初期化について整理してみようと思います。 title(String型) message(String型) description(String型) という3つのString型のフィールドを持ち,コンストラクタでそれらを初期化するクラスを作ります。 下記は良くない実装です…
前回,型パラメータが一つのジェネリクスを使ったクラスを作ってみました。 今回は型パラメータが二つのクラスを試してみます。 package com.mrstar.practice_generics; public class SampleGeneric<T1, T2> { private T1 mValue1; private T2 mValue2; public Sampl</t1,>…
Javaプログラムにおいて,型パラメータを持つクラスを定義してみました package com.mrstar.practice_generics; public class GenericSample<T> { private T mValue; public GenericSample(T value) { mValue = value; } public T getValue() { return mValue; </t>…
型とか継承とかジェネリクスの話。 特にジェネリクスは理解していると思っていたのですが,理解が甘かったです。 package com.mrstar.practice_generics; public class Super { } このSuperというクラスと, package com.mrstar.practice_generics; public c…
前回の続きということで,SImpleAdapterの使い方です。今回はViewBinderを見て行きます。 前回,SimpleAdapterの内部でどのようにViewとデータがバインドされるかを確認しました。SimpleAdapterは,BaseAdapterを継承していろいろ実装するよりも少ないコード…
前々回はArrayAdapterを,前回はSimpleAdapterを使ってみました。今回は前回の続きとして,SimpleAdapterのソースコードとクラスリファレンスを詳しく見て行きたいと思います。 バインドできるビューとデータ型 BaseAdapterを継承してAdapterを作る場合,get…
前回ArrayAdapterを使ってみました。 ArrayAdapterは,一つのTextViewだけセルごとに値を設定する場合,getViewメソッドをオーバーライドしたりせず非常に少ないコード量で書けます。 しかし,TextViewではなくImageViewの要素をセルごとに設定したり,セル…
ArrayAdapterを継承して,getViewをオーバーライドしたり,Adapter内でViewHolderをインナークラスで定義したり,セルのビューのタグにホルダーをセットしたりなどは今回しません。ArrayAdapterを継承せずに,そして非常に少ないコード記述量で使ってみます。…
Unityのシーンファイルの中身を見てみた(1)の続きです。 Unity 4.2から,無料版でもテキストベースでシーン・マテリアルなどを保存出来るようになり,バージョン管理システムなどで差分を確認しやすくなりました。Unityのシーンを編集した際に,シーンはテキ…
結論から言うと原因は,AbsListView.OnScrollListenerのonScrollメソッドの仕様を勘違いしていて,このメソッドがスクロールしていなくても呼ばれていたためのようです。 Twitterクライアントのようなものを想定しています。 ListViewが一番下までスクロール…
Unity 4.2から今まで有料のPro版でしか使えなかった,マテリアル、プレハブ、シーンなどのテキストベースでのシリアルライズが無料版でも利用出来るようになりました。 (http://japan.unity3d.com/unity/whats-new/unity-4.2を参照) 無料版において,gitなど…
Unity上でPhotonを使って,ネットゲームでのオブジェクトの座標の同期に挑戦してみました。 Photon Cloud公式のチュートリアルを見たところ(http://doc.exitgames.com/photon-cloud-jp/TutorialMarcoPolo/#cat-tutorialsなど)ネットゲームの大切な要素がたく…