ストリートビューで任意の場所を表示するには、以下のように指定します。
// Launch StreetView
Intent intent = new Intent("android.intent.action.VIEW", Uri.parse("google.streetview:cbll=35.710883,139.796321&cbp=1,0,,45,1"));
startActivity(intent);
cbll=に続き、経度、緯度を指定し、cbp=に続けて、1,北からの時計回りの角度,,水平から+−90度の角度,1と指定します。
2011年4月23日土曜日
他のActivityを起動
Androidは他のアプリを起動するのに「startActivity」を使います。
Intentに任意のUriを指定してstartActivityを呼び出せば、それに会わせたアプリが自動的に起動されます。
例えば、以下では電話をかけるアプリを起動します。
// Phone call
Intent intent = new Intent("android.intent.action.DIAL", Uri.parse("tel:0312345678"));
startActivity(intent);
以下は、ブラウザを起動する例です。
// Launch Browser
Intent intent = new Intent("android.intent.action.VIEW", Uri.parse("http://www.google.com"));
startActivity(intent);
以下は、地図を表示する例です。
// Launch map
Intent intent = new Intent("android.intent.action.VIEW", Uri.parse("geo:35.710883,139.796321?z=20"));
startActivity(intent);
geo:に続けて、経度と緯度を指定し、z=で拡大率を1〜23の間で指定します。
拡大率は1が地球全体で、2で2の2乗拡大、3で2の3乗拡大と続きます。
また、「geo:0,0?q=地名」と指定すれば、地名検索が行われます。
以下は、メーラーを起動する例です。
// Launch Mailer
String subject = getString(R.string.subject);
String message = getString(R.string.message);
Intent intent = new Intent("android.intent.action.SENDTO", Uri.parse("mailto:test@test.com"))
.putExtra(Intent.EXTRA_SUBJECT, subject)
.putExtra(Intent.EXTRA_TEXT, message);
startActivity(intent);
リソースのvalues/strings.xmlにsubject要素を追加して任意のメールの件名、message要素には任意の本文を指定しておきます。
後はIntentとUriに上記のように指定すればメーラーが起動します。
Intentに任意のUriを指定してstartActivityを呼び出せば、それに会わせたアプリが自動的に起動されます。
例えば、以下では電話をかけるアプリを起動します。
// Phone call
Intent intent = new Intent("android.intent.action.DIAL", Uri.parse("tel:0312345678"));
startActivity(intent);
以下は、ブラウザを起動する例です。
// Launch Browser
Intent intent = new Intent("android.intent.action.VIEW", Uri.parse("http://www.google.com"));
startActivity(intent);
以下は、地図を表示する例です。
// Launch map
Intent intent = new Intent("android.intent.action.VIEW", Uri.parse("geo:35.710883,139.796321?z=20"));
startActivity(intent);
geo:に続けて、経度と緯度を指定し、z=で拡大率を1〜23の間で指定します。
拡大率は1が地球全体で、2で2の2乗拡大、3で2の3乗拡大と続きます。
また、「geo:0,0?q=地名」と指定すれば、地名検索が行われます。
以下は、メーラーを起動する例です。
// Launch Mailer
String subject = getString(R.string.subject);
String message = getString(R.string.message);
Intent intent = new Intent("android.intent.action.SENDTO", Uri.parse("mailto:test@test.com"))
.putExtra(Intent.EXTRA_SUBJECT, subject)
.putExtra(Intent.EXTRA_TEXT, message);
startActivity(intent);
リソースのvalues/strings.xmlにsubject要素を追加して任意のメールの件名、message要素には任意の本文を指定しておきます。
後はIntentとUriに上記のように指定すればメーラーが起動します。
2011年4月21日木曜日
AndroidManifest.xmlの権限一覧
アンドロイドアプリをインストールする際に、ユーザーはアプリが使用する機能を一覧表示させ、機能を使用させたくない場合はインストールしないなどしてセキュリティを確保します。
この時一覧表示させる為に使用されるのがAndroidManifest.xmlファイルです。
アプリを開発する際はこのファイルを編集して使用する機能権限を有効にする必要があります。
AndroidManifest.xmlファイルに設定することができる機能には以下のようなものがあります。
AndroidManifest.xmlファイルに上記の物を書くとアプリで機能を使用することができるようになります。
この時一覧表示させる為に使用されるのがAndroidManifest.xmlファイルです。
アプリを開発する際はこのファイルを編集して使用する機能権限を有効にする必要があります。
AndroidManifest.xmlファイルに設定することができる機能には以下のようなものがあります。
権限の名前 | 内容 |
android.permission.ACCESS_COARSE_LOCATION | 低精度の位置情報の取得 |
android.permission.ACCESS_FINE_LOCATION | 高精度の位置情報の取得 |
android.permission.ACCESS_MOCK_LOCATION | デバッグ用の位置情報の取得 |
android.permission.CONTROL_LOCATION_UPDATES | 位置情報の更新 |
android.permission.ACCESS_NETWORK_STATE | ネットワーク状態を取得 |
android.permission.ACCESS_WIFI_STATE | WiFiの状態を取得 |
android.permission.BLUETOOTH | BlueToothを操作 |
android.permission.BLUETOOTH_ADMIN | BlueToothの探索と接続 |
android.permission.CALL_PHONE | 電話のダイアル(救急と警察を除く) |
android.permission.CALL_PRIVILEGED | 電話のダイアル(救急と警察を含む) |
android.permission.PROCESS_OUTGOING_CALLS | 電話の発信処理への介入 |
android.permission.MODIFY_PHONE_STATE | 電話の状態の書き換え |
android.permission.VIBRATE | バイブ機能の利用 |
android.permission.DEVICE_POWER | 低水準電源管理の利用 |
android.permission.WAKE_LOCK | 高水準電源管理の利用 |
android.permission.CAMERA | カメラの利用 |
android.permission.RECORD_AUDIO | 音声録音の利用 |
android.permission.MODIFY_AUDIO_SETTINGS | 音声機能の設定の書き換え |
android.permission.FORCE_BACK | 「戻る」ボタンに相当する処理 |
android.permission.READ_INPUT_STATE | キーとスイッチの直接の読み込み |
android.permission.INTERNET | インターネットへの接続 |
android.permission.WRITE_GSERVICES | Google mapサービスの利用 |
android.permission.READ_HISTORY_BOOKMARKS | 履歴とお気に入りの読み込み |
android.permission.WRITE_HISTORY_BOOKMARKS | 履歴とお気に入りの書き込み |
android.permission.SET_TIME | 日付と時刻の設定 |
android.permission.SET_TIME_ZONE | タイムゾーンの設定 |
android.permission.READ_CONTACTS | 「連絡先」データの読み込み |
android.permission.WRITE_CONTACTS | 「連絡先」データの書き込み |
android.permission.WRITE_SETTINGS | 「設定」データの書き込み |
android.permission.MOUNT_FORMAT_FILESYSTEMS | SDカードのフォーマット |
android.permission.MOUNT_UNMOUNT_FILESYSTEMS | SDカードのマウント・アンマウント |
android.permission.WRITE_EXTERNAL_STORAGE | SDカードの書き込み |
android.permission.REBOOT | Androidの再起動 |
android.permission.RECEIVE_BOOT_COMPLETED | Androidの起動完了の検出 |
AndroidManifest.xmlファイルに上記の物を書くとアプリで機能を使用することができるようになります。
2011年2月10日木曜日
EditTextのキーボードタイプ
EditTextはテキスト入力を行うためのクラスです。iPhoneではUITextFieldやUITextViewに相当する物です。
<EditText android:inputType="text|textEmailAddress" />
inputTypeには、テキスト入力時に表示されるキーボードのタイプを指定します。
上の例は、メールアドレスを入力する為のテキスト入力エリアを示します。キーボードもメールアドレスの入力に特化したキーボードが表示されるようになります。
他にも、
<EditText android:inputType="text|textMultiLine|textAutoCorrect" />
とすれば複数行でスペルミスを自動修正するテキスト入力エリアが表示されるようになります。
inputTypeには、テキスト入力時に表示されるキーボードのタイプを指定します。
タイプ | 内容 |
text | 普通のテキスト入力用 |
textEmailAddress | メールアドレス入力用 |
number | 数字入力用 |
numberSigned | 符号有り |
numberDecimal | 10進数 |
date | 日付入力用 |
multiLine | 複数行 |
textAutoCorrect | スペルミスの自動修正 |
上の例は、メールアドレスを入力する為のテキスト入力エリアを示します。キーボードもメールアドレスの入力に特化したキーボードが表示されるようになります。
他にも、
<EditText android:inputType="text|textMultiLine|textAutoCorrect" />
とすれば複数行でスペルミスを自動修正するテキスト入力エリアが表示されるようになります。
登録:
投稿 (Atom)