Flex、AIR、Java、Androidなど

Archive for 5月, 2009

私はコードを書いているときにツールに腹が立つのが一番嫌なので落ち着くまでやりました。

Xcode入れる。
フォントをOsaka等幅の14に。気に入らなかったらCourierにするでしょう。
エディタに行番号が表示されてないので表示(環境設定 > テキスト編集)
インデント設定(環境設定 > インデント設定)

スペースと改行も表示させたいのですができないようです。
さくっとHello WorldをやってみましたがVB等をやったことある方はこういうインターフェースビルダーみたいなのがなじみやすいのでしょうか。
私はFlexもmxmlは使わずにスクリプトでゴリゴリ書いていく方なのですが、それが原因でつまったところも何度かあったので多数派の方でやっていこうと思います。
Objective Cも最初は取っ付きにくそうな言語に見えましたが、私が触る範囲に限定すれば今までと書き方は変わってもやっていることはそんなに変わらないようなのでいずれ慣れるでしょう。
NDAがよく分かっていないのであまり書かないほうがいいのかもしれないので避けますが、資料も充実しているようなので触りながら覚えていきたいと思います。

コメントは受け付けていません。
Tags: ,

29 5月, 2009

MacBookを購入しました。

Posted by: tachibana In: iPhone| プログラミング

私が始めた触ったパソコンはWindows XPでした。それから何度か会社も変わり、Macも選べたのですがずっとXPを使い、そしてこれからも自分は当分XPを使っていくのだろうと思っていましたが、やはりiPhoneにやられてしまいました。
まあ前にも書きましたがJavaのガベコレにとまどってしまったり、頭の柔らかいうちにC++はやっておきたかったですし、ここ最近はプログラミング以外にお金を使うこともなくなったので思い切って買ってしまいました。
これまで自宅では2年ほど前、何の知識も無かったころに初めて買ったVAIOを使っていたのですが最近HDDがウォンウォン言うので買い替え時だったのでしょう。
最初はMac miniをオークションで見たりしていたのですが、どうせキーボードやディスプレイを必要なのでMacbookにしようかとなり、ホワイトはあまり好みでなかったのでアルミのモデルにしました。
ちょっと使ってみてやはり操作に慣れないのでしばらくはWindowsを使うことになると思いますが、徐々に慣れていきたいと思います。
Androidも近々コンテストもあるようですし、いくつか作りたいアプリもあるのでそっちメインで、iPhoneはもう既にObjective Cを読み始めているのでとりあえず定番のRSSリーダーでも作ってみたいと思っています。

コメントは受け付けていません。
Tags: ,

私はAndroidのアプリを作る際にはユーザー用の設定はSharedPreferenceに入れ、Preference用のアクティビティ等とSharedPreferenceのやり取りを専門に行うクラスをSingletonで用意しています。
SharedPreferenceはcontext.getSharedPreferencesで取らなければならないのでSingletonは
private static UserData instance;
private static Context context;

public static synchronized UserData getInstance(Context c)
{
if(instance == null)
{
UserData.context = [...]

コメントは受け付けていません。

For English Speaker:
First release of Motion Task Switcher and full source of it can be viewed here(May be too old because it is published on February, 2009).
Some other tips such as how to handling Component, ApplicationInfo, Name of Application, getting Application icon can be found here.
** Version 1.0.1 **
+ Sensor sensibility now adjustable.
+ Pauses sensor [...]

引き続きWorld’s Interests widgetをいじっているのですが、なぜかSharedPreferenceに保存しているはずのデータが書き換えられたり、正常に取得できないことがあり、困っていました。
現在それと並行して新しいアプリを作っていて、それに関してももう完成したので上げようかと思っているのですが、こっちをいじっているうちにListPreferenceのsetDefaultValue(Object obj)が効かないことに気がつきました。
そこでApi demoを見てみたところ、ListPreferenceのsetEntryValues(CharSequence[] entryValues)に文字列の配列を渡していました。私は数値のみの文字列の配列を渡していたのですがこれがいけなかったようです。
つまり、修正前は
ListPreference lp = new ListPreference(this);
String[] entries = {"First", "Second", "Third"};
String[] entryValues = {"0", "1", "2"}; //実際にはResourceから取得
lp.setEntries(entries);
lb.setEntryValues(entrieValues);
/*
lp.setDefaultValue("0"); // 効かない
lp.setDefaultValue(0); // 効かない
*/


こうやっていました。これだとコメントにある通り、setDefaultValueが効きません(何もチェックされません)。
これをApi demoを参考に
ListPreference lp = new ListPreference(this);
String[] entries = {"First", "Second", "Third"};
String[] entryValues = {"zero", "one", "two"};
lp.setEntries(entries);
lb.setEntryValues(entrieValues);
/*
lp.setDefaultValue("zero"); // 効く
*/



これだと問題なくチェックされます。
これでsetDefaultValueが効くようになったので良かったのですが、さらにこれにより最初に書いたListPreferenceを使用して決定する項目をSharedPreferenceから取得する際にうまく取れない現象も解決しました。
私はコード一番がすっきりするだろうと思い、取得した”0″や”1″などのStringをparseIntで数値にしてswitch文でキーワードやインターバルを決定していたのですが、”1″が入っているはずなのに”0″になることが多く、例外も投げられないので困っていました。
まあひとまずListPreferenceのentryValuesには数値のみの文字列の配列ではなく、識別子のような文字列をつけるべきということが分かってよかったです。


Categories

 

2009年5月
« 4月   6月 »
 123
45678910
11121314151617
18192021222324
25262728293031

About

Author: tachibana

  • ちょっとしたことはTwitterに書いています。こっちはアプリの公開等の時に更新されます。
  • 最近はもっぱらJavaとObjective Cです。AS3は飽きました。
  • スクリプト言語ではPerlが好きでしたが最近はGAE/Jで何でもやってます。
  • Linuxは自宅サーバー建てるのがやっとのレベルです。前の会社で何日も徹夜してやったのはいい思い出です。
  • アプリへのご要望などご意見等ありましたらお気軽にご連絡下さい。

Alternative content here