2009年11月16日月曜日

Android 設定画面を作成する

アプリの設定画面用の Activity が用意されています。
それが 「PreferenceActivity」
ListActivity を拡張したクラスなので、各設定項目が
リスト状に配置されます。

画面の設定方法は
 ・ソースコードで定義する方法
 ・XMLで定義する方法
の2つがあります。

XMLで定義する方法

1. res の下に xml という名前のフォルダを作成
2. res/xml に pref.xml を作成
3. pref.xml に画面の配置を定義

pref.xml の例

<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<PreferenceCategory android:title="Libraroid Setting">
<CheckBoxPreference
android:key="checkbox_value"
android:title="Setting1"
android:summary="sample of checkbox setting" />
<EditTextPreference
android:key="edittext_value"
android:title="Setting2"
android:summary="sample of edittext setting"
android:dialogTitle="Setting edittext"
android:dialogMessage="please set values" />
<ListPreference
android:key="list_value"
android:title="Setting3"
android:summary="sample of list setting"
android:entries="@array/search_condition"
android:entryValues="@array/search_condition_value" />
<RingtonePreference
android:key="ringtone_value"
android:title="Setting4"
android:summary="sample of ringtone setting"
android:showDefault="true"
android:showSilent="true"
android:ringtoneType="ringtone" />
</PreferenceCategory>
</PreferenceScreen>


こんな階層にする

<PreferenceScreen>
<PreferenceCategory>
各設定タイプのタグ
</PreferenceCategory>
</PreferenceScreen>


各設定タイプのタグには

  * CheckBoxPreference
  * DialogPreference
  * EditTextPreference
  * ListPreference
  * RingtonePreference

があります。


これらに共通のパラメータにはこんなのがあります。
 android:defaultValue  
   初期値

 android:dependency
   この Preference が依存する他の Preference の key

 android:enabled
   この Preference が有効かどうか

 android:key
   システムに保存するときの key

 android:layout
   PeferenceActivity 画面内でのこの Preference の layout

 android:order
   Prefernce の順番、小さい方が最初

 android:persistent
   shared preferences に保存するかどうか

 android:selectable
   選択できるかどうか

 android:shouldDisableView
   この Preference が無効のとき、表示を無効にするかどうか

 android:summary
   タイトルの下の文字列、説明を書いたり、選択値を表示する

 android:title
   タイトル

アクティビティの例

import android.os.Bundle;
import android.preference.PreferenceActivity;

public class PreferenceActivityExample extends PreferenceActivity {
@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.pref);
}
}


PreferenceActivity クラスを継承して、setContentView の代わりに
addPreferencesFromResource で pref.xml を読み込む

ここで設定されたデータは自動的にシステム内部に保存され、
PreferenceManager::getDefaultSharedPereference を使って
ソースコードからアクセスすることができますー。


 

2009年11月14日土曜日

ASE を入れてみた。

Android Scripting Environment(ASE)とは
Android上でPythonなどのスクリプト言語を実行
するためのAndroidアプリ

http://code.google.com/p/android-scripting/

"Python, Perl, JRuby, Lua, BeanShell, and shell are currently supported, and we're planning to add more. "
だって

Featured downloads: の ase_r14.apk をPCにダウンロードして、
HT03-AをUSBでPCと接続

$ adb install ase_r14.apk

で ASE が入ったー。

source を取ってくるには
$ svn checkout http://android-scripting.googlecode.com/svn/trunk/

Simple

遅ればせながら Simple のテトリスを HT03-A に入れてみました。
ブロックの回転方法とかよくわからなかったけど、
ダブルタップで下に落とす
下にフリックで回転、上にフリックで反対方向に回転
左右にフリックで移動
でした。

参考ページ
http://code.google.com/p/simple/
http://blog.akaiho.com/2009/07/simplesample/
http://www.adakoda.com/adakoda/2009/07/android-simple-basic.html