android

PhoneモードとTabletモードの切り分け

Android 4.x(Ice Cream Sandwich)はPhoneとTablet、両方のOSとして使用されます。では、どこでPhone/Tabletの切り分けはどこで行っているか確認します。 Phone/Tabletの切り分け 起動処理中、以下の処理でFrameworks内のDisplaySizeを初期化します。ServerTh…

Switch widgetを使う

Switch widget ICSのSettingsアプリ内『Wi-Fi設定のON/OFF』や『Bluetooth設定のON/OFF』に用いられているUI部品です。 APIレベル14から使用可能。 http://developer.android.com/intl/ja/reference/android/widget/Switch.html Layoutの指定 Layoutファイル…

ナビゲーションアイコンの表示

ナビゲーションアイコン マーケットアプリなどActionBarのアプリアイコン横に表示されているこれ。タッチすると前画面に戻ったり、別の画面に遷移させることができます。 ナビゲーションアイコン使用方法 ナビゲーションアイコンはActionBarの機能の一つです…

何気なく使っているFrameworks 第9回 CPU使用状況を表示/ addView

CPU使用状況を表示 ICSから開発者向けオプションに「CPU使用状況を表示」が追加されました。 Settingsで設定すると 以下の処理順でサービス:LoadAverageServiceが起動します。 このサービス内でProcessから取得した値をオーバーレイ表示を行っています。 値…

ビルドの高速化 outディレクトリを変更する

Android Buildのメーリングリストで以下の内容がありましたNew experimental build system feature: out/ directories in another location http://groups.google.com/group/android-building/browse_thread/thread/ca6c1648aa52acb9 This should be useful …

android-4.0.3_r1 のmaguroビルド方法

※この記事は古い情報です。公式にAndroid 4.0.3のOTAが開始されていません。 以下の最新記事を参照ください。 android-4.0.3_r1のmaguroの起動確認 http://d.hatena.ne.jp/baroqueworksdev/20120211/1328929599 参考ページ http://source.android.com/source…

android-4.0.3_r1 のCrespoビルド方法

参考ページ http://source.android.com/source/building-devices.html http://code.google.com/intl/ja/android/nexus/drivers.html 「proprietary binaries」を取得する AOSPに含まれていない各端末固有の「proprietary binaries」を取得する。 各端末毎に…

何気なく使っているFrameworks 第8回Camera機能ON/OFF

確認OSバージョン android-4.0.3_r1 ICS Camera機能OFF 端末のCamera機能をOFFにする設定です。 セキュリティなど徹底している社内で「Camera機能をOFF」にしてしまうなどいろいろ実用性はあるはず。 Frameworksの中身はすごい単純でSystemPropertyにセット…

HoneyComb android-3.2.4_r1 のソース

一部限定でHoneyComb android-3.2.4_r1 のソースが公開されました。 公開されたのは以下の2ディレクトリ platform/frameworks/base platform/libcore 以下、JBQさんのメール http://groups.google.com/group/android-building/msg/15b107dddfb34a45?pli=1 A…

何気なく使っているFramework 第7回 スクリーンショット

今回から確認OSバージョンをAndroid OS 4.0.1_r1に変更しました。 確認OSバージョン Android OS 4.0.1_r1 ICS スクリーンショット ICSから端末単体でスクリーンショットが撮れるようになりました。 とりあえず、frameworks内の確認!! スクリーンショットが…

ICSの表示レイヤーについて

確認OSバージョン Android OS 4.0.1 ICS 表示レイヤー OSのメジャーアップデートなので、表示レイヤーの変更点があるかどうか確認しました。 ソース \android-4.0.1_r1\frameworks\base\policy\src\com\android\internal\policy\impl - PhoneWindowManager.j…

Android 4.0 ICSのFont Sizeについて

ICSからSettingsにてFont Sizeの変更が可能です。 変更すると以下のログが出力されています。 内部的にはConfigurationのfontScaleの値が変更され、ConfigChangedが発行されているようです。 以下は各設定値に変更したときのログです。 Font size : Small 10…

Android 4.0 ICSのSearch Keyについて

Search Keyの長押下についてです。GingerBreadまでは以下のIntentが発行されていました。 10-22 01:57:29.449: I/ActivityManager(110): Starting: Intent { act=android.intent.action.SEARCH_LONG_PRESS flg=0x10000000 --- Android 4.0 ICSのSDKにて確認…

Android 4.0 ICSのNotification

ICSのSDKが公開されました。 今回、一番気になっていたのはNotificationからのアプリ起動です。 HoneyCombにてNotificationから各ViewのPendingIntentが有効になっていたので、 ICSでも可能だということは予想していました。 自作アプリでマーケットに公開し…

HoneyCombでのDisplayについて

stackoverflowにて、以下のような質問がありました。How can I get android Honeycomb system's screen width and height? DisplayってStatusBar込みの画面サイズだったような。。。っと思い、 手元にあるNexus S と Xoomで確認をしました。 ログの出力方法 …

何気なく使っているFramework 第6回 画面ロック設定

確認OSバージョン Android 2.3.5_r1 キーガード設定 Settings.apkの「Screen unlock security」から画面ロック設定ができる。 ロック解除を行うパターンやパスワードの情報は、frameworks層の"LockPatternUtils"にて管理する。 種別 設定クラス 備考 None Ch…

発表内容について

日本Androidの会 関西支部 勉強会('11年9月) 9/3(土)の関西支部イベントにて発表します。 イベント詳細はこちら:http://atnd.org/events/18646 発表内容 タイトル Nexus S にNFCキーガードロック機能を搭載する 講演内容 frameworksをカスタマイズし、2日間…

NFCを使ってみる その2

手元にICOCA(=Felicaカード)しかなかったので、NfcFタグを受け取ってみました。には"android.nfc.action.TECH_DISCOVERED"を指定しました。 <intent-filter> <action android:name="android.nfc.action.TECH_DISCOVERED"/> </intent-filter> <meta-data android:name="android.nfc.action.TECH_DISCOVERED" android:resource="@xml/nfc_tech_filter" /> Tagデータの取得 …</meta-data>

NFCを使ってみる その1

NFCを使用した簡単なアプリを作成しようと思います。 まずはTAGを受け取れるようになるまで。 AndroidManifest.xmlに必要なパラメータを記載 NFCハードウェアを使用するために必要なパーミッションを追加 <uses-permission android:name="android.permission.NFC" /> AndroidMarketにUpする際、NFC機能搭載端末のみ見え</uses-permission>…

表示レイヤーについて

アプリケーション開発だけを行っていると、システム全体の表示レイヤーを意識しないと思います。 あらためて表示レイヤーの確認を行います。 確認OSバージョン Android OS 2.3 GingerBread レイヤーの宣言場所 各レイヤーの宣言場所はこちら。 \frameworks\p…

入力イベントについて

はじめに 確認端末 Nexus S Motorola Xoom Android Frameworksへの入力イベント通知 タッチイベントやキーイベントなどのInput Deviceは「/dev/input/eventX」に書き込まれ、 frameworks(Native層)のモジュールで読み取り、Java層へ通知します。ファイル名 \…

何気なく使っているFramework 第5回 NFCManager

確認OSバージョン Android OS 2.3 GingerBread NFCManagerの役割り NfcAdapterのHelperを提供 NfcAdapter Tagディスパッチを要求に使用するIntentの定義 フォアグラウンドでのTagディスパッチとフォアグランドでのNDEFプッシュ用の登録メソッドを提供 現在、…

Fragmentのライフサイクルの確認 その2 onStart〜onResume

前回の続きです。 onStart〜onResumeを見てみます。 調査環境 Android SDK 3.2(APIレベル13) Activity#onStart()後に呼ばれるFragmentメソッド onStartのログ onStart java.lang.Exception at com.mydroid.fragmenttest.fragment.FragmentSample.onStart(Fra…

Fragmentのライフサイクルの確認 その4 まとめ

ActivityとFragmentのコール順 各メソッドのコール順をまとめておきます。 Active遷移時はActivity#onXXXX → Fragment#onXXXXですが、 非Active遷移時は逆でFragment#onXXXXが先にコールされるので注意。 ActivityがActiveに遷移するまでのコール順 Activity…

Fragmentのライフサイクルの確認 その3 onPause〜onDetach

前回の続きです。 今回はFragmentが非アクティブに移行するonPause〜onDetachを見てみます。 調査環境 Android SDK 3.2(APIレベル13) Activity#onPause()前に呼ばれるFragmentメソッド onPauseのログ onPause java.lang.Exception at com.mydroid.fragmentte…

Fragmentのライフサイクルの確認 その1

はじめに Android 3.2のSDKが公開されました。今回はFragmentのライフサイクルを確認します。 ソースコードが公開されていないので、確認方法はLogにExceptionを吐かせてコールスタックのログを取得しました。 調査環境 Android SDK 3.2(APIレベル13) Layout…

Screens Support APIs for Android 3.2

Screens Support APIsの要点まとめ。(英文は説明が"くどい"ので箇条書き風に) ほとんどDeveloperブログに記載されていたCompatibilityモード関連です。 既存のScreen Support API上に構築されている プラットフォームは新たな3つの特性(smallestWidth, width…

何気なく使っているFramework 第4回 AudioManager

確認OSバージョン Android OS 2.3 GingerBread AudioManagerの役割り AudioManagerは、音量とRingerモードの制御へのアクセスを提供します。 このクラスのインスタンスを取得するContext.getSystemServiceContext.AUDIO_SERVICE)を使用してください。 Volum…

何気なく使っているFramework 第3回 WifiManager

Wifiに関するアプリケーションを開発したことがないので、WifiManagerはまったく知識がありません。 新規調査!! 確認OSバージョン Android OS 2.3 GingerBread WifiManagerの役割り このクラスはWiFi接続の管理するためのAPIを提供しています。 Context.ge…

何気なく使っているFramework 第2回 NotificationManager

NotificationManagerはStatusBarManagerServiceとも関連性があるということがわかった。 StatusBarManagerServiceは別途調査します。 確認OSバージョン Android OS 2.3 GingerBread NotificationManagerの役割り 発生したイベントをユーザに通知するクラス。…