Google Developer Day 2009 Japan
Google Developer Day 2009の
Google Chromeの内部構造,Androidデータ共有の2セッションのメモです。
Google Chromeの内部構造
ネットワーク
サンドボックス
マルウェア前提につくる
- 悪意のWebページから守る
- chromeはライブラリ上
vista以降はインテグリティーレベルの概念が導入されてて、
インテグリティーレベルの高いものにはアクセスできないようになっている。
chromeではこれをLowに設定している。
WebKit
- 採用した理由
- ライブラリがシンプル
- アンドロイドで使われている位かるい
- コードも理解しやすい
- chrome 1.0
- Safari 3で使われているもの
- chrome 2.0
- 現在
- 新機能の実装(HTM5 ,CSS3)
- 互換性の向上
- chromeのHTML5対応状況
- Audio Video
- Application Cache
- DB
.
.
.
Androidデータ共有
これより下はAndroidの開発をしたことが無いため
ライブラリの中身的な内容でほとんど理解できなかったです。
- 安生真さん
Intent
Explicit Intents
intent intent = new Intent(this.foo.bar.anoherClass)
intent.setData(Uri.parse(
startActivity(intent)
すでに使ってほしいアクティビティを知っている場合使う
Impicit Intents
Intent intent = new Intent(Intent.ACTOIN_DIAL,Uri,parse)
startActivity(intent)
先ほどの違いはコンストラクタでsetDataしたものを渡している
Intent Extra Data type
- byte[]
- Serializable
- Bundle
- 注意点
- 数値データ(int等)や文字列(String)だけではない
- Intentでbitマップ等を渡すこともあり
- あんまり大きいサイズは渡せない
- 端末に依存する
- 共有というよりは他のアプリに良い法的にw足す
SharedPreferences
- マルチプロセスには非対応
private SharedPreferences prrefsPrivate;
prefsPrivate = getSharedPreerences();
Editor ...
データを書き出すところは必ずEditorが必要
MODE
- 同一アプリケーションであれば気にしなくてもいい
- 他のアプリケーションの場合は
- WORLD_REDABLE
- WORLD_WRITABLE
Content Provider
android.content.ContentProvider
- 実装が必要なメソッドがいくつかある
- query
- insert
- delete
- update
- getType
実態はDB SQLite
query
- getContentResolver.query()
- Activity.managedQuery()
AndroidManifest.xmlにContentProviderを使う旨宣言が必要l
共有は不要けどsqliteだけを使いたい場合
android.dtabase.sqlite.SQLiteDatabas