Archives

You are currently viewing archive for November 2010
カテゴリ: Android SDK
投稿者: terada
startActivityForResultを使ってBluetoothAdapter.ACTION_REQUEST_DISCOVERABLEを呼び出す際のonActivityResult内での判定の仕方が特殊だったのでメモ。

private static final int REQUEST_DISCOVERABLE = 1;
private static final int DURATION = 300; // 持続期間

Intent discoverableIntent =
new Intent(BluetoothAdapter.ACTION_REQUEST_DISCOVERABLE);
discoverableIntent.putExtra(BluetoothAdapter.EXTRA_DISCOVERABLE_DURATION, DURATION);
startActivityForResult(discoverableIntent,REQUEST_DISCOVERABLE);

public void onActivityResult(int requestCode, int resultCode, Intent data)
{
switch (requestCode)
{
case REQUEST_DISCOVERABLE:
//成功時のresultCodeは「Activity.RESULT_OK」ではなく、持続期間の秒数になる。
//拒否された場合は0になる。

if (resultCode==DURATION)
{
// result ok ...
}
else
{
// result cancel ....
}
break;
default :
break;
}
}

2010/11/17: Cursorの走査

カテゴリ: Android SDK
投稿者: terada
初歩的で申し訳ありませんが、Cursorオブジェクトの中身を全部走査する方法。
他にも考えられるけど、実行速度的にはこの二つが速い様子。(paternAの方が若干速いかも??)

// paternA 
Cursor curA = getCursor();
int a = 0;
for(int i=0; i<curA.getCount();i++)
{
curA.moveToPosition(i);
a++;
}
if(curA!=null) curA.close();

// paternB
Cursor curB = getCursor();
int b = 0;
// curB.moveToNext(); // ←あってもなくても一緒みたい
while(curB.moveToNext())
{
b++;
}
if(curB!=null) curB.close();


以上。
カテゴリ: Android SDK
投稿者: terada
例えば、スタイルを定義するときなどにハードコーディングするよりもXMLをいじった方が、デザインとコードが分離できて良いのですが、ネット上ではどちらかというとハードコーディングしちゃうリソースの方が多くて、XMLで定義する際の情報が少ない印象です。なので、お恥ずかしながらXML要素に何が使えるのかなど毎回手探りでした・・・。どこかにまとまってるはずと思っていたのですが、ようやくリファレンス内の該当部分が見つかったので、メモ。

Resource Types

例えば、どこかで見つけたサンプルのgradientを単純な塗りつぶしにしたいときは、下記の部分を見れば、gradient要素を削除して、solid要素を追加してあげればいいなんてことがすぐに分かります。

Resource Types > Drawable Resources > Shape Drawable

これでもう安心。