ActionBarCompat ShareActionProvider


20130814 share_action_provider_main

ActionBarCompat に関するサンプルコードです。
Android 4.3 の SDK に同封されています。
特に新しい機能ではないので、Android Stadio のサンプルとして提示されているようです。

概要
このサンプルは、ActionBarCompat と供に android.support.v7.widget.ShareActionProvider を表示する方法を示します。
複数のページがあり、画像だけのページと文字だけのページがあります。
20130814 share_action_provider_main20130814 share_action_provider_image20130814 share_action_provider_text

アクションバーのメッセージ・アイコンをクリックすると、メッセージが開きます。
注意
テキストはうまくいくが、画像は例外で落ちます。
ShareActionProvide の呼び出しはしてるようですが、AssetProvider との連携がうまくいっていないようです。
20130814 share_action_provider_text_message

ソースコードの説明

(1) MainActivity.java
メインの ActionBarActivity です。
ViewPager と ContentItem を使って、ページを作っています。

(2) AssetProvider.java
このアプリの assets フォルダにある画像ファイルを提供する ContentProvider です。

(3) ContentItem.java
コンテンツをカプセル化するクラスです。
画像だけのページと文字だけのページを持っています。

注意
(1) サンプルコードは、一カ所だけ修正が必要です。
MainActivity がないというエラーが出ます。
ShareActionProvider/ShareActionProvider/src/main/src -> java

(2) 画像のときに、メッセージ・アイコンをクリックすると、下記の例外が発生します。

Caused by: java.lang.IllegalArgumentException: Query on content://com.example.android.actionbarcompat.shareactionprovider/photo_1.jpg returns null result.

関連
Android 4.3 のサンプルコード


ActionBarCompat ListPopupMenu


20130812list_popup_menu_main

ActionBarCompat に関するサンプルコードです。
Android 4.3 の SDK に同封されています。
特に新しい機能ではないので、Android Stadio のサンプルとして提示されているようです。

概要
このサンプルは、一覧表示(List) の中にある PopupMenu の使い方を教えます。
チーズの一覧が表示されます。
チーズの一覧の項目は、ポップアップメニューのための overfolow アイコン (縦3つの点) を持っています。
アイコンをクリックすると、ダウンメニュー形式のポップアップメニューが表示されます。
ポップアップメニューの remove 項目をクリックすると、チーズの一覧の項目が削除されます。
20130812list_popup_menu_main20130812list_popup_menu_popup20130812list_popup_menu_deleted

ソースコードの説明

(1) res/layout/list_item.xml
ImageView を使って、overflow アイコンを表示しています。

(2) MainActivity.java
メインの ActionBarActivityです

(3) PopupListFragment.java
チーズの一覧を表示する ListFragment です。
View#setOnClickListener を使って、overflow アイコンのクリックを検出しています。
View#postRunnable を使って、ポップアップメニューを表示します。
ポップアップメニューが表示される前に、View はその位置を変更するかもしれません。
PopupMenu.OnMenuItemClickListener を使って、ポップアップメニューのクリックを検出して、チーズ一覧の項目の削除を行います。

(4) Cheeses.java
チーズの名称のクラスです。

注意
サンプルコードは、一カ所だけ修正が必要です。
MainActivity がないというエラーが出ます。
ListPopupMenu/ListPopupMenu/src/main/src -> java

関連
Android 4.3 のサンプルコード


ActionBarCompat Styled


20130811action_bar_compat_styled_landscape

ActionBarCompat に関するサンプルコードです。
Android 4.3 の SDK に同封されています。
特に新しい機能ではないので、Android Stadio のサンプルとして提示されているようです。

概要
このサンプルは、カスタムスタイルを持つアクションバーです。
画面が狭い場合は、上下に分離したアクションバーを表示します。

横画面
20130811action_bar_compat_styled_landscape

縦画面
20130811action_bar_compat_styled_portrait

ソースコードの説明

(1) AndroidManifest.xml
android.support.UI_OPTIONS に splitActionBarWhenNarrow を設定しています。
画面が狭い場合は、上下に分離したアクションバーを表示します。
詳しくは activityタグ を参照ください。

(2) res/valus/styles.xml
actionBarStyle でスタイルを定義しています。

(3) MainActivity.java
メインの ActionBarActivity です。
ActionBar#addTab を使って、タブを追加しています。
ActionBar.TabListener を使って、タブのクリックを検出しています。

注意
サンプルコードは、一カ所だけ修正が必要です。
MainActivity がないというエラーが出ます。
Styled/Styled/src/main/src -> java

関連
Android 4.3 のサンプルコード


ActionBarCompat Basic


20130809actionz_bar_compat_basic_main

ActionBarCompat に関するサンプルコードです。
Android 4.3 の SDK に同封されています。
特に新しい機能ではないので、Android Stadio のサンプルとして提示されているようです。

概要
このサンプルは、アクション・バーを表示する基本的となるものです。
アクション・バーにアクション項目として表示されないものは、
Overflow アイコン (縦3つの点) をクリックしたときに表示されます。
このサンプルでは、refresh と location はアクション・バーに表示され、settings はOverflow アイコンに表示されます。
20130809actionz_bar_compat_basic_main20130809actionz_bar_compat_basic_overflow

ソースコードの説明

(1) /res/menu/main.xml
refresh を support:showAsAction=”ifRoom” として、
setting を support:showAsAction=”never” として、設定します。
それぞれの意味は Menu Resource を参照ください。

(2) MainActivity.java
メインの ActionBarActivity です。
MenuItemCompat#setShowAsAction を使用して、location を表示します。

注意
サンプルコードは、一カ所だけ修正が必要です。
MainActivity がないというエラーが出ます。
Basic/Basic/src/main/src -> java

関連
Android 4.3 のサンプルコード


ActionBar DoneBar


20130808done_bar_main

ActionBar に関するサンプルコードです。
Android 4.3 の SDK に同封されています。
特に新しい機能ではないので、Android Stadio のサンプルとして提示されているようです。

概要
このサンプルは、アクションバーに関する2つのデモを示します。
詳細画面の表示や、別のアクションが、必要とされない単純なシナリオに適しています。

(1) Done Bar
このデモでは、Done Bar がアクションバーのエントリを置き換えます。
実行するか (Done)、キャンセルするか (Cancel) の2つの選択肢が提示されます。
なお、このデモでは、どちらのボタンを押しても、Activity が終了して、メイン画面に戻ります。
20130808done_bar_donebar

(2) Done Button
このデモでは、Done Button がアクションバーの UP アイコンとその振る舞いを置き換えます。
Action Overflow として、キャンセルも実装されています。
アクションバーの Overflowアイコン(縦の3つの点) を押すと、メニューが表れます、
なお、このデモでは、どちらのボタンを押しても、Activity が終了して、メイン画面に戻ります。
20130808done_bar_donebutton

ソースコードの説明
3つのソースコードがあります。

(1) SampleDashboardActivity.java
メインの Activity です。
(2) DoneBarActivity.java
DoneBar の Activity です。
(3) DoneButtonActivity.java
DoneButto の Activity です。
(2) (3) ともに、ActionBar#setDisplayOptions と ActionBar#setCustomView を使って、独自のアクションバーを設置しています。

関連
Android 4.3 のサンプルコード


BasicAccessibility -Android 4.0


20130807basic_accessibility

Android 4.0 から、Accessibility が改善されました。
重要なこととして、View#sendAccessibilityEvent の動作が変わりました。
Android 4.0 から、View がコンテキスト情報をイベントに追加するためのコールバックが追加されました。
それ以前は、 AccessibilityEvent を初期化し、AccessibilityManager に送っていました。

Accessibility – Android 4.0 APIs | 日本語訳

サンプルコード
Android 4.3 の SDK にサンプルコード BasicAccessibility が同封されています。
特に新しい機能ではないので、Android Studio のサンプルとして提示されているようです。

試してみました。
上側は Button Checkboxes あたりは、特に変わったところはない。
下側の Custom View は、ちょっと面白い。
大きな丸をクリックすると、小さな丸の位置が変わります。

ソースコードの説明
ソースコードが2つあります。

(1) MainActivity.java
メイン の Activity です。

(2) DialView.java
大きな丸と小さな丸 (Custom View) を実現する View です。
大きな丸をクリックすると、小さい丸の位置を変更します。
AccessibilityDelegate#onPopulateAccessibilityEvent を使っています。

関連
Android 4.3 のサンプルコード


Android 4.3 のサンプルコード


SDK にはサンプルコードが入っています。
Android 4.3 から構成が大きく変わりました。
従来の Eclipse 用から Android Studio 用に変わりました。
従来の Eclipse 用のものは、legacy というディレクトリに移動しました。

今回、22個ほど追加されています。
Android 4.3 (API 18) 用は、3個です。

connectivity
(1) BasicNetworkDemo – API 8
(2) BasicSyncAdapter – API 7
(3) NetworkConnect – API 8

content
★ (4) BasicContactables – API 18

input
(5) BasicGestureDetect – API 8
(6) BasicMultitouch – API 8

media
(7) BasicMediaRouter – API 17

security
(8) BasicAndroidKeyStore – API 8

testing
(9) ActivityInstrumentationSample – API 7

ui
(10) BasicAccessibility – API 11
(11) ActionBar DoneBar – API 14
(12) ActionBarCompat Basic – API 7
(13) ActionBarCompat Styled – API 7
(14) ActionBarCompat ListPopupMenu – API 7
(15) ActionBarCompat ShareActionProvider – API 7
(16) BorderlessButtons – API 14
(17) CustomChoiceList – API 3
(18) BasicNotifications – API 8
(19) HorizontalPaging – API 11
(20) TextSwitcher – API 4

legacy
★ (21) AppRestrictions – API 18
★ (22) BluetoothLeGatt – API 18
– AccelerometerPlay – API 5
ActionBarCompat – API 14
AndroidBeamDemo – API 14
– ApiDemos – API 4
AppNavigation – API 14
– BackupRestore – API 8
– BluetoothChat – API 6
– BluetoothHDP – API 14
ContactManager – API 5
– CrossCompatibility – API 3
– CubeLiveWallpaper – API 7
HelloEffects – API 14
– HoneycombGallery – API 11
– JetBoy – API 3
KeyChainDemo – API 14
– MultiResolution – API 3
– NotePad – API 11
– RandomMusicPlayer – API 7
– SampleSyncAdapter – API 8
– SearchableDictionary – API 7
– SipDemo – API 9
– Snake – API 3
– Spinner – API 3
– SpinnerTest – API 3
– TicTacToeMain – API 8
ToyVpn – API 14
TtsEngine – API 14
– VoiceRecognitionService – API 8
VoicemailProviderDemo – API 14
– WeatherListWidget – API 11
WiFiDirectDemo – API 14
WiFiDirectServiceDiscovery – API 16
– Wiktionary – API 3
– WiktionarySimple – API 3
– XmlAdapters – API 8
– NotePadtests – API 10
– RenderScript HelloCompute – API 14
– SpellChecker HelloSpellChecker – API 14
– SpellChecker SampleSpellCheckerService – API 14
– USB AdbTest – API 12
– USB MissileLauncher – API 12

参考
Android サンプルコード – ソフトウェア技術ドキュメントを勝手に翻訳


Android Studio


20130517android_stadio

昨日の Google I/O で Android Studio が発表されました。
従来の Eclipse に代わり、IntelliJ + Gradle をベースとした IDE です。
Twitter では、基調講演の最中に、インストール合戦が始まりました。
私も参戦しました。

Android 公式サイト から、ダウンロードします。
インストールします。
ネットから色々ファイルを持ってくるので、のんびり待ちます。
インストールが終わったら、スケルトンを作ってみます。。
特に問題なく動きました。


Google I/O 2013 基調講演


20130516google_io_2

Google I/O 2013 が開催中です。
YouTube で生中継されています。
日本時間の16日1時より基調講演が始まりました。
全世界で 100万人が見ていたらしいです。
私も徹夜して見ていました。

全般的な印象として、Android の比重が減り、Chrome の比重が増えたかんじです。
昨年は、Google Q や Google Grass のデモがあり、見ていて楽しかったですが。
今年は、その種のサプライズがなく、 少し物足りなかったです。

Android 関係のトピックスは。
(1) 出荷数が9億台になった。
(2) Google Play からダウンロード数が480億になった。
(3) Android Studio が発表された。
従来の Eclipse に代わり、IntelliJ + Gradle をベースとした IDE が提供されました。
Twitter では、基調講演の最中に、インストール合戦 が始まっていました。
(4) Google Play Services が強化された。
Location API を使うと、ユーザが、車に乗っているか、自転車に乗っているか、歩いているかが、分かるようです。
Google Cloud Messaging では、下り方向の Push 配信に加えて、上り方向の メッセージ送信が可能になりました。
(5) Google Play Developer Console が強化された。
Beta Testing が可能になりました。
翻訳業者と提携した有償翻訳のサービスが始まりました。

関連
Google I/O 2012 基調講演

参考
「Google I/O」開催、Androidの新機能、新サービスも発表
Google I/O 2013–注目の発表内容などまとめてチェック
とっても地味だった今年のGoogle I/Oキーノート–主役はデータをサービスに変えるアルゴリズムとAPI
Google I/O 1日目まとめ(Android関連)