いろいろガンガンいこうぜ。体も大事に

普段はJavaでAndroidアプリ開発しているプログラマーのブログです。

2013-01-01から1年間の記事一覧

StopCoroutineみたいに引数にメソッド名を文字列で渡すのが嫌。

前置き 静的型付け言語の良さの一つは,実行する前にコンパイルエラーで型の矛盾点やおかしい点を見つけられることだと思います。 例えば,定義していないメソッドを呼び出そうとしたり,クラス名が間違っていた場合,実行前におかしいということに気づけま…

「Java魂」の2章,finalストーリーを4での感想

論理エラーをコンパイルエラーに置き換える コンパイルエラーはある程度簡単に修正することがほとんどです。 それに対して論理エラーは発見するのが難しく,致命的な不具合を起こすことも多いです。 そのような内容で始まる,「Java魂」の2章,finalストーリ…

オブジェクト指向って何だ?

オブジェクト指向って何だ? オブジェクト指向。 クラス,インスタンス,継承,アクセス修飾子,メソッド,フィールド,インタフェース,抽象クラス,ポリモーフィズム 一つ一つの用語の意味は理解しているつもりです。 ThoughtWorksアンソロジー アジャイル…

Unityでインスペクターから値や参照を設定したいけど,publicなフィールドは嫌。[SerializeFieldAttribute]

結論。SerializeFieldAttribute属性をフィールドに設定することで,フィールドをpublicにしなくても,privateなフィールドでもインスペクターで値を設定できるようです。 現状の問題点 Unityでは,Monobehaviorのサブクラスのpublicなフィールドの値・参照を…

Javaのコンストラクターなどの初期化について (1)

Javaのコンストラクターなどの初期化について整理してみようと思います。 title(String型) message(String型) description(String型) という3つのString型のフィールドを持ち,コンストラクタでそれらを初期化するクラスを作ります。 下記は良くない実装です…

ジェネリクス(総称型)について その3

前回,型パラメータが一つのジェネリクスを使ったクラスを作ってみました。 今回は型パラメータが二つのクラスを試してみます。 package com.mrstar.practice_generics; public class SampleGeneric<T1, T2> { private T1 mValue1; private T2 mValue2; public Sampl</t1,>…

ジェネリクス(総称型)について その2

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>…

ジェネリクス(総称型)について その1

型とか継承とかジェネリクスの話。 特にジェネリクスは理解していると思っていたのですが,理解が甘かったです。 package com.mrstar.practice_generics; public class Super { } このSuperというクラスと, package com.mrstar.practice_generics; public c…

ListAdapterについて調べてみた(4) SimpleAdapter編その3

前回の続きということで,SImpleAdapterの使い方です。今回はViewBinderを見て行きます。 前回,SimpleAdapterの内部でどのようにViewとデータがバインドされるかを確認しました。SimpleAdapterは,BaseAdapterを継承していろいろ実装するよりも少ないコード…

ListAdapterについて調べてみた(3) SimpleAdapter編その2

前々回はArrayAdapterを,前回はSimpleAdapterを使ってみました。今回は前回の続きとして,SimpleAdapterのソースコードとクラスリファレンスを詳しく見て行きたいと思います。 バインドできるビューとデータ型 BaseAdapterを継承してAdapterを作る場合,get…

ListAdapterについて調べてみた(2) SimpleAdapter編その1

前回ArrayAdapterを使ってみました。 ArrayAdapterは,一つのTextViewだけセルごとに値を設定する場合,getViewメソッドをオーバーライドしたりせず非常に少ないコード量で書けます。 しかし,TextViewではなくImageViewの要素をセルごとに設定したり,セル…

ListAdapterについて調べてみた(1) ArrayAdapter編

ArrayAdapterを継承して,getViewをオーバーライドしたり,Adapter内でViewHolderをインナークラスで定義したり,セルのビューのタグにホルダーをセットしたりなどは今回しません。ArrayAdapterを継承せずに,そして非常に少ないコード記述量で使ってみます。…

Unityのシーンファイルの中身を見てみた (2)

Unityのシーンファイルの中身を見てみた(1)の続きです。 Unity 4.2から,無料版でもテキストベースでシーン・マテリアルなどを保存出来るようになり,バージョン管理システムなどで差分を確認しやすくなりました。Unityのシーンを編集した際に,シーンはテキ…

ListViewが一番下までスクロールした時点で追加要素を読み込むようにしたら,スクロールしていないのに要素が1回追加されていた

結論から言うと原因は,AbsListView.OnScrollListenerのonScrollメソッドの仕様を勘違いしていて,このメソッドがスクロールしていなくても呼ばれていたためのようです。 Twitterクライアントのようなものを想定しています。 ListViewが一番下までスクロール…

Unityのシーンファイルの中身を見てみた (1)

Unity 4.2から今まで有料のPro版でしか使えなかった,マテリアル、プレハブ、シーンなどのテキストベースでのシリアルライズが無料版でも利用出来るようになりました。 (http://japan.unity3d.com/unity/whats-new/unity-4.2を参照) 無料版において,gitなど…

Photonを用いてオブジェクトの座標を同期してみる

Unity上でPhotonを使って,ネットゲームでのオブジェクトの座標の同期に挑戦してみました。 Photon Cloud公式のチュートリアルを見たところ(http://doc.exitgames.com/photon-cloud-jp/TutorialMarcoPolo/#cat-tutorialsなど)ネットゲームの大切な要素がたく…