サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
ノーベル賞
techbooster.org
Android 4.0でサポートされたRemoteControlClientを利用すると オリジナルのメディアプレイヤーと連携して端末のロック画面から音楽ファイルの再生/停止、 早送り/巻き戻しなどが行うことができるようになります。 上の図のように、ロック画面上に表示される制御パネルをリモートコントロールと呼びます。 このリモートコントロール上には再生中の音楽ファイルの曲名やアーティスト名などの情報も 表示することができます。 オリジナルのメディアプレイヤーでリモートコントロールを利用するためのステップは以下のようになります。 ACTION_MEDIA_BUTTONインテントを処理するBroadcastReceiverを登録する RemoteControlClientを生成してシステムに登録する サポートするメディア制御処理を設定する リモートコントロール上に表示するメディア情報を設定する
Android4.0(以降ICS)ではメニューを再描画させるためのメソッド“invalidateOptionsMenu”がFragmentManagerクラスに追加されました。 このinvalidateOptionsMenuメソッドはActivityクラスではAndroid3.0(API level11)から追加されていますが、Fragmentからメニューの再描画を促したい場合はFragmentManager#invalidateOptionsMenuを使用することが必須となっています。 このinvalidateOptionsMenuメソッドを使用することで動的にメニューのレイアウトを変更することが可能になります。 invalidateOptionsMenuメソッドの詳細は以下から。 invalidateOptionsMenuを使用したメニューのレイアウトの変更方法 invalidateO
Android4.0では、Android Beamなどの新機能の追加に加えて、アクセシビリティの向上も図られています。設定画面より、「ユーザー補助(またはAccessibility)」として有効化できます。 視覚によらないインターフェイスを確保することで、アプリケーションの利用促進が期待できるほか、Androidの普及に伴ってハンディを持つ人にとって利用しやすいか、というアクセシビリティの確保は非常に重要な要素となりつつあります。 アクセシビリティのためのexplore-by-touch mode アクセシビリティを向上させる方法は、非常に簡単で、View(コンテンツ)に読み上げてほしい文字列を追加します。記述した文字列はAndroid OSの用意した“explore-by-touch mode”(コンテンツ情報を取得するタッチモード)で有効になります。 “explore-by-touch
Androidには、メールの通知や常駐アプリの起動を知らせてくれるステータスバーが、最初から用意されています。 Android2.xではそのステータスバーの表示/非表示を、アプリ内で設定することができました。 フルスクリーン表示のアプリケーションを作る そして、Android3.0からは、ユーザーの操作を補助するボタンや、ユーザーへの通知などを行うシステムバーが追加されました。 図1:Android4.0タブレットのシステムバー そしてAndroid4.0では、新たにNavigation Bar(以降ナビゲーションバー)が追加されました。 図2:Android4.0ナビゲーションバー ナビゲーションバーは、ハードキーを持たない端末において、画面上にその代わりとなるホームボタンなどを配置します。 Android4.0では、これらの各種バーの表示状態を、アプリ内で切り替えることができます。 今
※エミュレータ環境では、USBマウスを接続出来ないため動作未検証の内容になります。 ICS(Android4.0)から、Viewに対するHover状態(マウスオーバー状態)を検知することが出来るようになりました。 Hover状態の検知とは、USBマウスなどのポインティングデバイスを接続した場合に表示されるカーソルが Viewの上に乗っている状態がわかることです。 HoverEventを制御すると、画像イメージやボタンの上にカーソルが重なった時に、画像やボタンの色を変えるなど 以前よりもっとリッチなUIを作成できるようになります。 本エントリでは、APIDemosのHoverEventを取り扱ったサンプルコードを参考にしながら、 HoverEventの制御方法を紹介していきます。 画像はAPIDemoの Views → Hover Events のスクリーンショットです。 それでは、続きをど
その他、Preferenceとしての使用方法は以下記事を参考にしてください。 設定画面を簡易に作る それでは、つづきをどうぞ SwitchPreferenceの使用方法 SwitchPreferenceを使用することで、簡単に設定画面にトグルスイッチを使用できます。 トグルスイッチは、ON/OFFの状態を一目で確認出来るため、WifiモジュールのOn/Offの管理やBlueToothのOn/Offの管理など デバイス情報の設定項目に使用されています。 SwitchPreferenceの使用方法は、他PreferenceActivityで使用できるCheckboxPreferenceと全く同じです。 以下二つのサンプルコードは、XMLでの使用方法とJavaコードでの使用方法になります。 XMLでの指定方法 XMLでPreferenceを指定する場合には、PreferenceActivityク
ActionBarに共有履歴を追加するではShareActionProviderについて解説しました。今回はShareActionProviderの基底クラスであるActionProviderクラスについて解説します。 ActionProviderクラスはAndroid4.0(以降ICS)から追加されたクラスで、複数画面でMenuItemに同じ処理をさせたい場合に便利です。 詳細は以下から。 ActionProviderクラスを継承したクラスを作成する ActionProviderクラスは冒頭でも述べた通り、MenuItemが選択された場合の処理を記述することができます。 これらの機能はonPerformDefaultActionメソッドによって提供されます。 以下にonPerformDefaultActionメソッドが呼ばれるタイミングを記述します。 onPerformDefaultAc
スケジュールの開始時刻と終了時刻であるCalendarContract.EXTRA_EVENT_BEGIN_TIMEとCalendarContract.EXTRA_EVENT_END_TIMEは、エポックからのミリ秒単位で設定します。 エポックとは、日時を、世界標準時間1970年1月1日午前0時0分0秒からの秒数で表したものです。 サンプルコード それでは、実際にサンプルアプリを作ってみましょう。 ■src/EventIntentSampleActivity public class EventIntentSampleActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) {
Android4.0(以降ICS)のActionBarには、共有ボタンで共有機能を使用したことのあるアプリのアイコンを、ActionBarのMenuItemに追加することができるようになりました。 詳細は以下から。 共有履歴をActionBarに追加するために今回は以下の流れに沿って解説します。 共有履歴を表示するスペースの確保 ShareActionProviderの設定 まずは共有したアプリのMenuItemを格納するための領域をmenuのレイアウトファイルで確保します。 共有履歴を表示するスペースの確保 action_bar_action_provider.xml <menu xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@+id/menu_item_share_action
今回は、ブロードキャストレシーバとWiFi Directに関わるintentのハンドリング方法について紹介します。 WiFi Directの接続方法や解除、キャンセルの仕方を(2)にて取り扱います。 では、さっそくブロードキャストレシーバの登録方法から確認してみましょう。 非常に長い記事になってしまっていますので、各センテンスの最後に大事なポイントをまとめています。 Reference: http://developer.android.com/reference/android/net/wifi/p2p/WifiP2pManager.html http://developer.android.com/reference/android/net/wifi/p2p/WifiP2pInfo.html http://developer.android.com/reference/android/
Galleryを使うと画像データを簡単に一覧表示することができます。 多くの画像データを効率よく扱いたい場合、GalleryViewやGridViewは重宝します。 ※Android 3.0以降ではGelleyは推奨されていませんので、プラットフォームに応じてご使用ください。 Galleryを使うには以下のような手順で設定を行います。 Adapterの作成 GalleryにAdapterを設定 それでは続きからGalleryの使い方を詳しく説明します。 Adapterの作成 Adapterは一連のデータをビューに渡すとき仲介役となるもので、 ビューのどの位置に何番目のデータを表示するかといったコントロールをAdapterで行います。 GalleryのほかListViewやGridViewを使う場合にもAdapterが必要になります。 Galleryの場合、Adapterの各要素に画像データ
ThumbnailUtilsクラスを使えば簡単に動画ファイルのサムネイルを作成することができます。 詳細は続きからご覧下さい。 ※2011/02/22 記事を加筆・修正しました! createVideoThumbnailメソッド createVideoThumbnailメソッドで動画ファイルのサムネイルを作成します。 メソッドの定義は以下のようになっています。 Bitmap createVideoThumbnail(String filePath, int kind) filePath : 動画ファイルのパス kind : 生成するサムネイルのサイズ filePathで指定した動画ファイルのサムネイルをBitmapで返します。 kindにはサムネイルのサイズを以下に示す定数から指定することができます。 extractThumbnailメソッド extractThumbnailメソッドではs
Android 4.0 IceCreamSandwich(以後ICS) では、新しくスペース(Space)が追加されました。 Android3.xまでは画面設計において、部品と部品(widget)の間にスペースを開けるには、パディング(padding)を用いたり、空の文字列を持ったテキストビューを用いたりしてきました。 ICS以降、スペースを利用することで、部品と部品の間にスペースを開ける事が非常に容易となりました。 「ここにちょっとだけスペースを入れたいんだけど・・・!」という、かゆいところに手が届くのがスペースです。 スペースを利用する上で重要になるクラスはSpaceクラスです。 リファレンスはこちら それでは、実際に画面設計のXMLにSpaceを入れてみましょう。 Android3.xまで通り、次のように普通に画像を並べた場合、画像と画像の間にスペースは無く、連結されて表示されてしま
textは他のウィジェットでもよくある属性ですが、トグルスイッチで用いる場合は、トグルボタンの左側に表示される説明テキストになります。 トグルスイッチ切り替え時のイベントを受け取る トグルスイッチのOn/Offが切り替わるする際のイベントを受け取り、処理を記述することができます。 今回のサンプルでは、トグルスイッチを切り替えることで、サイレントモードの切り替えを行うようにします。 切り替え時イベントを受け取るには、CompoundButton.OnCheckedChangeListenerをimplementsし、トグルスイッチのインスタンスにsetOnCheckedChangeListener()のリスナーをセットします(15行目)。 ■src/SwitchSampleActivity.java public class SwitchSampleActivity extends Acti
コンストラクタは以下の通りです。 public Equalizer (int priority, int audioSession) それではEqualizerクラスの使い方を見て行きましょう。まずはインスタンスの生成と有効化です。 mEqualizer = new Equalizer(0, mMediaPlayer.getAudioSessionId()); mEqualizer.setEnabled(true); コンストラクタの第1引数の優先度は通常は0を設定し、audioSessionは先ほどのgetAudioSessionIdメソッドでMediaPlayerのオーディオセッションIDを取得して指定します。 そして、setEnableメソッドでエフェクトを有効にします。 次に実際に調整する方法ですが、まずはシステムでどの中心周波数が調整可能なのかを確認します。(ApiDemosだと
それではつづきをどうぞ。 1.GridLayoutへのパラメータ指定 GridLayout自身へは、表1の通り2つのパラメータを設定する必要があります。 columnCount,rowCountは column × row の格子を用意するという宣言に当たります。 サンプルでは、以下の通り、4×4マスの格子を作成しています。 <GridLayout android:id="@+id/gridLayout1" android:layout_width="match_parent" android:layout_height="wrap_content" android:columnCount="4" android:rowCount="4" > ...省略 2.GridLayoutの子Viewへのパラメータ指定 column,rowの指定 GridLayoutの子Viewには、android
それでは続きで説明していきます。 RadioGroupクラスとRadioButtonクラスの関係 ラジオボタンは前述の通りRadioGroupクラスとRadioButtonクラスを利用します。RadioGroupクラスは1つ以上(実際には2つ以上の項目の中から選択するため利用するので2つ以上)のRadioButtonクラスを持ちます。 レイアウトファイルでは以下のように記述します。 <RadioGroup android:layout_height="wrap_content" android:layout_width="wrap_content" android:id="@+id/RadioGroup"> <RadioButton android:text="1" android:id="@+id/RadioButton1" android:layout_height="wrap_con
複数のカメラを使う https://techbooster.org/andriod/device/2358/ カメラの使用方法(2) https://techbooster.org/andriod/device/362/ パーミッションの設定 カメラ機能を利用するにはパーミッションの設定が必要です。忘れないように、はじめに追加しておくとよいでしょう ■AndroidManifest.xml <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="org.jpn.techbooster.sample.camerapreviews" android:versionCode="1" android:versionName
ProgressDialog.setButton ProgressDialogのボタンにはポジティブボタンとネガティブボタンの2種類があります。 それぞれのボタンの設定は、上記表で記したProgressDialogクラスのsetButtonで設定することができます。 具体的には、イカのようにします。 progressDialog.setButton(DialogInterface.BUTTON_POSITIVE, "OK", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // TODO 自動生成されたメソッド・スタブ Log.d("test", "BUTTON_POSITIVE clicked"); } }); progre
作成するデータベースのイメージ 今回はまず基本として、一つのカインド内にエンティティーを一つ作成し、そのエンティティーに複数のプロパティーを保存してみます。 イメージとしては下図のようになります。 キーはカインドとidから生成されます(詳細は後ほど)。それでは実装していきましょう。 データストアに保管する それでは、上記データベースのイメージに従い、データをデータストアに格納していきます。 手順は驚くほどシンプルでわかりやすいです。 まずはキーを作成します。キーを作成するにはKeyFactoryクラスのcreateKey()メソッドを使用します。 //キーの生成 Key key = KeyFactory.createKey("TechKind","1"); createKey()メソッドの第一引数にはカインド名を、第2引数にはidを指定します。 カインド名とidの組み合わせで、そのカインド
onCheckedChangedコールバックメソッドはsetCheckedメソッドを実行することでも呼ばれることに注意してください。 たとえばonCheckedChangedコールバックメソッド内でsetCheckedメソッドを実行してしまうと、 意図していない動作になってしまう恐れがあります。 サンプルプログラム サンプルプログラムでは2つのToggleButtonを用意しています。 ToggleButtonを押すと、どのToggleButtonが押されたかということと、 押されたToggleButtonの状態をトーストに表示するようにしています。 まず、レイアウトファイルは以下のようになります。 トグルボタンを2つ定義し、android:textOn属性とandroid:textOff属性を使ってそれぞれON/OFFのときに表示するメッセージを設定しています。 また、ToggleBut
AnimationDrawableを使うと、XMLでリソースを用意するだけで簡単にアニメーションが作成できます。 画像を事前に用意します。今回は6枚の画像を(android_logo,1~5.jpgを)連続表示して回転しているように見えるアニメーションを作成します。 リソースの登録は通常通り、Drawableに追加します(パラパラマンガのようになります) 今回はXMLでアニメーションの設定を行うのでDrawableの下にxmlも一緒に配置します XMLリソースの設定 /res/drawable/android_animation.xml <animation-list xmlns:android="http://schemas.android.com/apk/res/android" android:oneshot="false"> <item android:drawable="@dra
Android開発では、データを保存する方法に『Preferenceを利用する方法』『ファイル出力する方法』『SQLiteを利用する方法』があります。 本エントリーでは、SQLiteを利用する方法を、以下のサンプルを用いて紹介していきます。 ■入力画面 EditTextに入力したデータを『Writeボタン押下』のタイミングで保存しています。 『Showボタン押下』にて、入力データを表示する画面に遷移します。 ■データの保存 データベースのインスタンス(SQLiteDatabaseクラス)を取得し、SQLiteDatabaseクラスのinsertメソッドを呼び出すことでSQLiteに保存することができます。 ■出力画面 データを保存した際にToastにて表示する数値を入力することで、入力データを表示します。 同じく、保存の際の数値を入力し入力データを削除することもできます。 ■データの検索
Androidでは、Toastを用いて簡単にユーザーへの通知を行うことが可能です。 ダウンロード完了通知やユーザ登録完了通知のように、ユーザーの判断を仰ぐ必要のないバックグラウンド処理の完了通知などを行う際には非常に簡単で便利です。 例えば、以下に示すようにソースコードにたった一行付け足すだけで、図に示すようなToastの表示を行うことが可能です。 Toast.makeText(this, "Toast example", Toast.LENGTH_LONG).show(); 主に利用するToastクラスのメソッドは以下の通りです。 メソッド概要
MediaRecorderで録音する方法を紹介します。 音声ファイルを再生する では、MediaPlayerの使い方を紹介しました。MediaRecorderを使えば、MediaPlayerで再生したのと同じぐらい簡単に、音声を記録することが可能です。 状態遷移 MediaRecorderはステートマシン(状態遷移図)に従い動作します。Recorderの状態は簡単に、 Initial:初期状態 Initialized:リソース設定完了状態 DataSourceConfigured:出力設定状態 Prepared:準備完了状態 Recording:記録中状態 と表現されていて、MediaRecorderを使うには上から順に下へ状態を遷移する必要があります (2010/11/30追記 上記状態は解説のために抜粋しています。他にError状態、Released状態があります。 @s_isomot
「Beagle Board xMでAndroidを動かす(ビルド済イメージ編)」ではテキサス・インスツルメンツ社(以下TI)が公開しているAndroidのビルド済みイメージを使ってBeagleBoard xM上でAndroidを動作させる手順について紹介しました。今回はソースコードからビルドしたAndroidをBeagleBoard xM上で動作させる方法について紹介します。自由に改造したソースコードをビルドして、それをBeagleBoard xM上で動かすことができるので、自分で取り付けたデバイスをAndroidで使うことも可能です。 TI Android Gingerbread Devkit 1.0 今回はBeagleBoard xMの開発元であるTIが提供している “TI Android Gingerbread Devkit 1.0” をビルドします。TIが推進するAndroidプロ
リストの項目が選択された(端末の十字キー等でリストの項目がフォーカスされた)時と、選択されていない時の処理 リストの項目が選択された時の処理を作るには、ListViewクラスのonItemSelectedメソッドを使います。 また、リストの項目が選択されていない時の処理を作るには、ListViewクラスのonNothingSelectedメソッドを使います。 具体的には、イカのようにします。 ■src/ListViewActivity.java ListView lv = (ListView) findViewById(R.id.listView1); lv.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { @Override public void onItemSelected(AdapterView
Androidの電源管理ウィジェットのように無線LANやBluetoothの有効・無効を切り替える方法を紹介します。 無線LAN、WifiManagerについてはWiFiの情報を取得するでSSIDの取得方法など情報取得の方法を解説しています。。ソースコードはGoogleCodeのこちらのリポジトリより取得できます。 それぞれのデバイスの制御方法は以下の通りです 無線LAN:WifiManager Bluetooth:BluetoothAdapter 無線LANはセンサー類と同様にContext#getSystemService(WIFI_SERVICE);でManagerを取得して切り替えることが可能です。Bluetoothは無線LANとは異なり、BluetoothAdapter#getDefaultAdapter();によりデバイスの有無を確認できます(nullが返却されればBlueto
現在設定されている着信音を取得して再生する 以下の手順で行います。 RingtoneManagerクラスのgetDefaultUriメソッドを使うことで現在設定している着信音のURIを取得 RingtoneManagerクラスのgetRingtoneメソッドでコンテキストとURIを指定して着信音のRingtoneクラスを取得 取得したRingtoneクラスのインスタンスのstartメソッドを呼び出すことで再生を開始し、stopメソッドを呼び出すことで停止させる ■src/MainActivity.java public class MainActivity extends Activity { Ringtone mRingtone; TextView mTextViewTitle; @Override public void onCreate(Bundle savedInstanceSta
次のページ
このページを最初にブックマークしてみませんか?
『Tech Booster』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く