Date post: | 29-Jun-2015 |
Category: |
Documents |
Upload: | leveragesevent |
View: | 4,415 times |
Download: | 2 times |
Android4.2 Android4.2 Android4.2 Android4.2 まとめてみた
チームEGG曽川 義英小原 宗一郎
チームEGGEGGEGGEGGの紹介
チームEGG個人開発コラボ集団
待ち受けトラッパーよるにゃん
1月中にテレビ紹介があります(※詳細は大人の都合で禁則事項)
よるにゃん
待ち受けトラッパー
ブログ紹介
EGG 開発ブログhttp://eggdev.blogspot.jp/
はじめに
新機能の使い方よりも、
前バージョンとの影響がメインになってるかも…
Android4.2のハイライト
コードネーム
コードネーム:Jelly Bean JELLY_BEAN_MR14.2のコードネームは4.1と同じ“Jelly Bean"だからマイナーバージョンアップと思われがち。実際はおもしろい機能がたくさん追加されている。
4.24.24.24.2の端末
Android4.2はGalaxyNexusやNexus7等で利用可能。使ってみたい人はGooglePlayStoreで購入しよう。
マルチユーザ機能
タブレット端末では、ロック画面からユーザを切り替えることができる。家族で一緒に使うもよし、ビジネスに使うもよし。
Lockscreen WidgetsLockscreen WidgetsLockscreen WidgetsLockscreen Widgets
ロック画面にウィジェットを表示できるようになった。これからは、ロックを解除しなくてもスケジュールやメールを確認できる。
MiraCastMiraCastMiraCastMiraCast
無線LANを利用して、Androidからディスプレイへ映像を共有することができる。
DaydreamDaydreamDaydreamDaydream
端末がアイドル時や充電時にスクリーンセーバーを表示する。フォトフレームのように写真を表示したり、最新のニュースやブログを表示できる。
通知パネルから直接アクション
画面左上をスワイプすれば通知バーの操作、画面右上をスワイプすればオプション設定を操作できる。国産スマホでは独自に対応されていたが、OS標準で対応されることになった。
Android4.2は何が変わったの?
開発者オプションはどこへ行った?
ビルド番号を7回タップ
開発者オプションはどこへ行った?
応援してくれます!
開発者オプションはどこへ行った?
なりました!
開発者オプションはどこへ行った?
でました!
開発者オプションはどこへ行った?
ContentProviderContentProviderContentProviderContentProvider
・デフォルトで非公開設定
勝手にアクセスされたら怖いよね。
(targetSdkVersion,minSdkVersionが17以上)
<provider ... android:exported="false"/>
マルチユーザって何?
他のユーザからファイルは見える?
じゃあファイルのディレクトリ違うの?
/data/data/com.example.test/files
管理者 ユーザ ユーザ
/data/user/10user/10user/10user/10/com.example.test/files /data/user/11user/11user/11user/11/com.example.test/files
内部ストレージ
外部ストレージ
/storage/emulated/0000 /storage/emulated/10101010 /storage/emulated/11111111
ハードコーディングしていませんか?
内部ストレージ
外部ストレージ
getFilesDir()getFilesDir()getFilesDir()getFilesDir()、getCacheDir()getCacheDir()getCacheDir()getCacheDir()、openFileOutput()openFileOutput()openFileOutput()openFileOutput()
getExternalFilesDir()getExternalFilesDir()getExternalFilesDir()getExternalFilesDir()、getExternalStoragePublicDirectory()getExternalStoragePublicDirectory()getExternalStoragePublicDirectory()getExternalStoragePublicDirectory()
String saveDir = "data/data/パッケージ名/files";・・・
端末情報を使ってませんか?
AndroidIDIMEIMacアドレス・・・
「サーバに保存してるデータください。」
「サーバに保存してるデータください。」
例)アドレス帳・Web履歴
「サーバに保存してるデータください。」
端末情報は怖いので
1.アプリでUUIDを生成する
参考:AndroidDevelopersBlog 2011年3月30日
2.GoogleCloudMessagingのRegistrationIDを使う
3.サーバからIDを発行する
新しいけど新しくないSettings.GlobalSettings.GlobalSettings.GlobalSettings.Global
Settings.Secure
Settings.System
Settings.Global
機内モードなど
Wifi、開発者オプションなどREAD READ READ READ ONLYONLYONLYONLY
Settings.GlobalSettings.GlobalSettings.GlobalSettings.Globalのputputputputを叩いてみた
アプリ 設定
android.permission.WRITE_SECURE_SETTINGS SecurityException
そもそもLintエラーになる
設定画面
直接変更
Intent
ユーザ操作
FragmentFragmentFragmentFragmentの中のFragmentFragmentFragmentFragment
Fragment videoFragment = new VideoPlayerFragment();FragmentTransaction transaction = getChildFragmentManager().beginTransaction();transaction.add(R.id.video_fragment, videoFragment).commit();
Fragment内部に動的にFragmentを入れられる
getChildFragmentmanagerで実現
例)ViewPager内でFragmentの切り替え
「さようなら世界」~4.2からの非推奨API~
非推奨APIAPIAPIAPIとは?
もうメンテナンスしないよ~ちゃんと動かなくても許してね!
前のバージョンのAndroidフレームワーク
新しいバージョンのAndroidフレームワーク
非推奨API@deprecated
過去の非推奨の一例
・Activity#showDialog(API13~) →DialogFragment
・Gallery(API16~) →HorizontalScrollView →ViewPager
古きAndoirdAndoirdAndoirdAndoirdを支えたSlidingDrawerSlidingDrawerSlidingDrawerSlidingDrawer
→ アプリ内で独自に実装する
Android Open Source Projectのコードを使用
後継者に任せたDigitalClockDigitalClockDigitalClockDigitalClock
→ TextClock カスタマイズしやすくなった
Context.MODE_WORLD_WRITABLEContext.MODE_WORLD_READABLE
悪名高きMODE_WORLD_XXXMODE_WORLD_XXXMODE_WORLD_XXXMODE_WORLD_XXX
他アプリ
直接読み書き可能
データ書き換え電話帳取得・・・
自分のアプリ
ContentProviderBroadcastReceiverService
DateUtilsDateUtilsDateUtilsDateUtilsの一部
月名・曜日名・AM/PMの取得など
→SimpleDateFormat
電池が気になるWakeLockWakeLockWakeLockWakeLock周り
SCREEN_DIM_WAKE_LOCKFULL_WAKE_LOCK
フラグ名 CPU 画面 キーボード
PARTIAL_WAKE_LOCK ON Off Off
SCREEN_DIM_WAKE_LOCK ON Dim Off
SCREEN_BRIGHT_WAKE_LOCK ON Bright Off
FULL_WAKE_LOCK ON Bright Bright
FLAG_KEEP_SCREEN_ON
パーミッション不要
本文と詳細セットのTwoLineListItemTwoLineListItemTwoLineListItemTwoLineListItem
→簡単に作れる
RelativeLayout、LinearLayoutで自作する
開発ツールはどうなったの?
ViewViewViewView階層をボタンで見れる
UI Automator Testに使えるプロパティを出す
APILevel16からサポート
便利になったGraphicalLayoutGraphicalLayoutGraphicalLayoutGraphicalLayout
他言語のstring.xmlを漏れなく作れる
便利になったGraphicalLayoutGraphicalLayoutGraphicalLayoutGraphicalLayout
他言語でのレイアウトが見れる!
XMLXMLXMLXMLコード補完をさらに改良
テーマに紐づいたリソースをサジェストできる
「?」からはじまるやつ
アプリのテンプレートが増えた
・フルスクリーン(フォトビューア系)
・ログイン入力画面
・設定画面
support-v4は変わったの?
AtomicFileAtomicFileAtomicFileAtomicFile
バックアップファイル元ファイル(書き換える)
コピー
ファイル操作の失敗時にロールバックできる
new AtomicFile(xxx)
AtomicFileAtomicFileAtomicFileAtomicFile
バックアップファイル
失敗時
ファイル操作の失敗時にロールバックできる
failWrite
AtomicFileAtomicFileAtomicFileAtomicFile
ファイル操作の失敗時にロールバックできる
成功時
元ファイル(書き換える)
finishWrite
FragmentManagerFragmentManagerFragmentManagerFragmentManagerのログが出せる!
API Level11で既にあったんですけどね。
デモやります
DigitalClockDigitalClockDigitalClockDigitalClockからTextClockTextClockTextClockTextClock
PresentationPresentationPresentationPresentation
DreamService(DayDream)DreamService(DayDream)DreamService(DayDream)DreamService(DayDream)
One more thing...
GoogleMapAPIGoogleMapAPIGoogleMapAPIGoogleMapAPIがv2v2v2v2に
Fragmentで書ける
レイアウトで色々設定できる
In-app BillingIn-app BillingIn-app BillingIn-app Billingがバージョン3333に
非同期じゃなくなった!
onActivityResultで処理できる!
GooglePlayが課金を管理してくれる!
ヒカリエ・ラボラトリー(研究所)を略して「ヒカ☆ラボ」 レバレジーズが運営するイベントの総称。 ヒカリエから技術や知識の追求、発信をしていくということで こちらの名前を使ってます。
■本イベントの運営・サポートをしております。
■レバレジーズ株式会社
■設立:2005年4月 資本金:5000万円 従業員数:約220名
■主な事業内容:システムエンジニアリング事業
■フリーランス(個人事業主)の方と企業様とのマッチング をしております。
■BtoC WEBサービス開発案件などを主に取り扱っております。
とは