2016年3月22日 (火)

システムプロパティのガードの仕組み on Android 6.0

久々にシステムプロパティの仕組みを見てみたら、
ちょっとずつ変わってるのね。

adb shell getprop [<name>]
adb shell setprop <name> <value>
で見たり、変えたりできるけど、 変えるのはいろいろ制限がある。

そして、ここもSELinux対応のときに、
SELinxuの仕組みでガードがかかるように変わってるらしい。

組み合わせに使ってるbionicのほうも、
C++化して読むのがつらくなってるし、なんだかな。。。


仕組みは、ファイルを共有形式でメモリにマッピングして、
各プロセスから見る感じ。
書き込みに関しては、initさんが制御するので、
ソケットを経由して、initさんがいろいろチェックする。
LSM導入前は、ガードがuid/gidのチェックだったのに、
LSMの仕組みを利用したチェックになったのね。

bionic側の比重も高くなってる気もするけど、
共通部分を考えるとそんなものかなぁ。

C++を少しはやらないと、置いて行かれるな
(プレイスメントnewとは初めて知った・・)

initさん側は、system/core/init/property_service.cpp 辺り。
bionicさん側は、bionic/libc/bionic/system_properties.cpp 辺りを見て、
もごもごしてた。



| | コメント (0) | トラックバック (0)

2014年10月25日 (土)

親レイアウトの外にはみ出る on Android

いろいろ私生活も仕事もばたばた。
戻ってきて落ち着いてたと思っても、一時だった(泣)

そんな中でAndroid関係を結構調べたけど、
何も記録できずに過ごしてた。
久々にやる気になってみよう
(きっと三日坊主になるだろうが。。)


さて、レイアウトを組むときに、
どうしても枠をはみ出したいときにどうするか。
これが今回のテーマだった。
FrameLayoutとか、RelativeLayoutとか、
中身の位置調整で、
android:layout_marginTop="-10dp"とか、
android:scrollX="10dp"とかで
調整をするけど、
どうしても親のViewGroupが超えれない。

そもそも、こんなことをやらなくていいように、
レイアウトを組むのが良いのだろうけど、
背景の座標をいじりたいけど、画像加工したくないとか、
贅沢な方には用途あるのかなぁ。

調べてみたら、同じことを考えてる人がいるもので、
onLayout()とか、onDraw()でがんばらなくても
結構楽にいけることがわかった。

FrameLayoutに属するViewがFrameLayoutの外に移動しても描画されるようにする

この方は、アニメのときに
飛び出したいみたいらしいけど、
canvas制限されてる関係で、
外に出れないんだろうなぁ~
(Animatorだと特に。。)

答えとしては、以下ふたつの指定と載ってた。
android:clipChildren="false"
android:clipToPadding=“false"
(リンクはAndroid Developer)

ただし、これは正確には違うっぽい。
Padding指定をしてれば正解だけど、
Padding指定をしていなければ、
clipChildrenだけで、領域を超えてくれる。

clipToPaddingは、
子Viewの描画領域をPaddingの中に納める設定。
デフォルトがtrueだけど、
Padding指定がないと、効果が出ない。

一方で、
clipChildrenは、デフォルトだとtrueになってて、
子Viewがレイアウトされた範囲を超えて描画されるのを
抑止する設定みたいだ。
なので、飛び出して描画したいと思った場合、どうするか。

実際は、
子Viewに対して、その親の親で、
clipChildrenをfalseにしてあげる必要があるのかな。
親の親を設定すると、親の描画範囲が広がるので、
Viewは、外に出ていける。

やってて頭おかしくなるけど、
AndroidStudioだと、その辺も反映してくれるので、
お試ししてみる分には楽かなぁ~。

実験機が古いので、4.0.3ぐらいで試したり、
ソース見てたので、最新だとどうかなぁ

リンク:
FrameLayoutに属するViewがFrameLayoutの外に移動しても描画されるようにする
関連ソースのViewGroup



| | コメント (0) | トラックバック (0)

2014年6月16日 (月)

「Electric Sheeps#2」に行ってきた

「Electric Sheeps #2」に行ってきた。
久々のAndroid系の勉強会。

アプリの勉強会は多いのに、
めずらしくフレームワーク関連の勉強会。

「Androidのなかみ InsideAndroid」が対象だった。

月曜日なので、適当に仕事から逃げて参加。

案の定、遅れた上に迷子して、
迷惑をおかけしてしまった・・。
(入り口なかったので、助かりました・・)


買っただけで、放置していた本だったので、
発掘作業も遅れた要因のひとつ。

さて、本来は、読んでから行くべきだが、
initまわりなので、昔の記憶だけで戦場へ!!


実際の勉強会は、
AndroidStudio関連のLTがあって、
本編という流れであった。

本編は、みんなで本を読んでいくスタイル。
今まで、講演者がいる講義形式か、
ハンズオンだったので、初の形式だった。

開始したと同時に、
本を始めて読み始めた形になるが、
なんとなくわかりにくい。
コードも省略してるっぽいので、
そのままだとバグでる形になってる。

概略→詳細の流れもわかりにくいので、
Linuxのシステムコールの知識がないと、
悩ましい形になるんじゃないだろうか。

カーネルからの中途半端な起動説明から、
イベント読み込みと、init.rcの読み込みの処理の説明が続く。
その後の、init.rcのパース処理に入って、
こんなことだったか・・という声が出てきた。

知ってる人が見ればいいが、
アプリをメインにやってて、
Linuxを見てない人には、
苦行になってしまうんだろうな・・。

分野的には、好きな範囲なので、
また仕事から逃げて参加したいなぁ。


会場は、LINEの会議室だった。
そして、初侵入の場所。

Dsc_0738

やっぱり、LINEな人たちは、
LTから見た感じ、アプリまわり詳しそうに見えた。
やってる層が違うと、
興味向いてる範囲が違うなぁと感じてしまった。

リンク:
「Electric Sheeps #2」on connpass



| | コメント (0) | トラックバック (0)

2014年4月 6日 (日)

ABC2014春に行ってきて6

ABC2014春のカンファレンスネタの最後。
今回は場所移動もなく、
何事もなく場所に留まるだけ。

ただ、前の机に、
2眼のカメラがガンガン積み上がる。


今回の題目は、
「Androidを使った距離センサーの最新動向と実装」

距離センサーの定義が曖昧らしいが、
要に、キネクトっぽい奴が今回のテーマ。

最初に距離センサーの定義をするために、
キネクトに似た製品の紹介があった。
知らなかったけど、意外と少ないかも。。

そして、方式も1種類だけじゃなかった。
キネクト(初代)が使ってるのは、
IRパターンというものらしい。

赤外線を照射して、ばらつきをみるもの。


最近勢いがついてるのは、TOFというものらしい。
Time of Flightの略らしいけれども、
赤外線の照射までは一緒だけど、
戻ってくるまでの時間をみるものらしい。

その為、複雑な機構だが、
その分正確に位置が測定できる。

そして、次のキネクトは、このTOF方式らしい。


ただ、製品としては、
この赤外線による位置測定だけが目玉ではなく、
音だったり、脈だったりがあるらしい。
そして、ボーンの測定の為に、
SDKがある程度重要な役割を持つような感じかな。


話を戻して、位置測定で実際に使う場合、
製品カタログは見た方がいい。
キネクト(初代)はそうだったが、
距離が近いと判定してくれない・・。
(狭い家だったら大変)
他の測定機能もある程度必要だが、
メイン機能が使えないと悲しいからなぁ。
判定距離だけは見ておかないと。

あとは、意外と電源なのかもしれない。
TOFだと、複雑なので外部電源が別に必要そうだし。
USB給電だといろいろ手間入らずなのだけど、
機能がしょぼい感じかもしれない・・。


そして、衝撃な結論として、
Androidとして今使うものは、ほぼないとのこと。
キネクトは、Microsoft限定
(キネクトのライセンスにあるらしい)
XtionはAppleが買収したらしく、製品がなくなりつつ・・。
そして、DepthSenseはバグが有るらしい。

何かに目をつぶらない限り、
DepthSenseの次機種あたりになるのかな。
チップメーカも動き出しているみたいなので、
その辺もいろいろ影響してくるのかな。


ってことで、今の時点だと、
Androidと距離センサーはつらいってことみたい。
ちょっとがっかりな結論だけど、
距離センサーのいろいろはわかってよかったかな。


最後に。。
これでABC2014春は完了かな。
若干忘れてそうなことはあるけど、とりあえず。

リンク:
ABC 2014春
kinect
Xtion PRO LIVE
DEPTHSENSE CAMERAS



| | コメント (0) | トラックバック (0)

2014年4月 5日 (土)

ABC2014春に行ってきて5

ABC2014の続き。
もう半月が過ぎてる。

4つ目のカンファレンスは、
場所移動がないので、まったりと、
自動販売機を探して迷子を満喫。

正直、スマートグラス関連がふたつあったので、
悩ましいところだった。
こちらを選んだ要因は、
直前だと、ビルが違うとつらいだった。
発表者には、申し訳ない理由だけど、それが本音・・。

ただ、選んでみてよかったなと思う。


この時間は、2部構成になってた。
「IA developer WGの紹介」と、
「スマートグラス」の話。

「スマートグラス」は、
参加者限定って発表者の意図があるので、
さらっと流し目に。


最初の「IA developer WG」は、
題目に記載もなかったので、
意識してなかったが、興味深い話だった。

IAってなんだろうってことからだけど、
「Intel Android」のこと。
Intel版のAndroidのことで、
製品としては、結構流通しているみたいだし、
x86版のエミュレータもある。

x86(32bit)に限っては、
Androidのツリーの中にも、あったかな。


そして、ここで一番驚いたのが、
Intelって結構Androidやってたんだなってところ。

Linuxカーネルに、特定ドライバ突っ込むと、
Androidが動く環境ができるぐらいなイメージなので、
そこまで意識していないと思ってた。
意識しなくても、あまり障害がないと・・。

ただ、今主流のARMと比べると、
パフォーマンスとかでやはり違いがあったみたい。


一部ARMのNEONをフルに使って、
パフォーマンスをあげてるみたいな話も聞いた気もするが、
その辺りの調整がやっぱり、
Androidのフレームワーク部分でも必要なんだろうな。

カーネルだけではなく、
Androidとしてのチューニングが、
CPUによって出てくるのだろう。
ただ、今は、Intelの対応で、
パフォーマンスも大差ないところまで来てるらしい。


そして、話題は、64bitに。
メモリ空間は、32bitからの拡張が出てるみたいだけど、
実際の64bitはまだ先かな。
ARMのアーキテクチャの64bitが出たとか出ないとか、
話があったが、製品としてはまだ聞いたことがなかった。
検証中の写真っぽいものを見せてもらったけど、
PCみたいなファンがくっついてたので、
さすがにまだまだなのかなーと発表者と同じ感想。

一方で、Intel側も64bitのAndoroidを見てるらしい。
Android* on Intel Platformsで、
情報も展開してるみたい。
そして、Intel側は、PC側で64bitCPUが動いてるので、
熱処理が改善すれば、携帯でもいけそう。
だから、
64bit版Androidが出た場合、
一番のりは、Intelではと・・という締めだった。


実際のところはわからないけども、
今聞いた話だと、先に、
Intel版の64bit版Andoridが
出てくることを期待できそう。

ARTの話もあるので、さくさく感も、
どんどん向上してくるような気がする。


ゴールドスポンサーらしいIntel様って
立場もあるのかもしれないが、
いろいろ手を出してるんだなって印象が強くなった。


最後に、蛇足的に、スマートグラスの話。
今パートナー探し中みたいな状態らしいですが、
実際のスマートグラスに関しての
ハード的な要素の話だった。
今は外部に頼むことが出きるので、
ツテがあれば、作成できるって形だった。
そのツテが今の時代では必要そうだな・・と、
少し悲しい思いを感じた。


スマートグラスのほうは、
ハード寄りで、今すぐって話ではなかったが、
逆にIntelの話は興味深かったかな。

AndroidのCPUもARM一択から、
Intelも採用が増えてきそうだなと感じた。
あとは、費用系なのかな・・。
そっちは、さっぱりなんだけどなぁ(汗)

リンク:
ABC 2014春
Android* on Intel Platforms


| | コメント (0) | トラックバック (0)

2014年4月 2日 (水)

ABC2014春に行ってきて4

ABC2014春の感想の続きだけど、
時間開きすぎだな・・。

3つ目のカンファレンスは、
モバイルGPUでのハイエンドレンダリングエンジン開発事例【CEDECコラボセッション】

2つ目から3つ目は、ある意味、区切りの時。
ビルが違うので、ダイビルの5Fから1Fへ。
バザール会場を横目に、
UDXに入って、エスカレータで、2~5F。
そして、5Fから6Fは、階段。
まぁ、RPGの軽いダンジョン。


そして、移動後の内容は、個人的には激重。
CEDECのコラボと聞いて、予定と雰囲気の違いを感じたが、
結果、予想と違ってたよ・・ってセッションだった。

ガチでした!


モバイルGPUってことだったけど、
Androidのセッションというより、
Android内のOpenGL ESの講座かな。

そんな感じなので、
CG Worldとかを
すらすら理解できる人向けに見えた。

話し手も方も、トライエースの開発部の方たち。

話しても専門家だし、内容も専門分野。
かじってもない私には、結構ちんぷんかんぷん。

ただ、開発としての視点とかは、
参考になる要素なので、メモ程度に記載してみることにした。


まず、開発方針の検討の説明があった。
デスマしてると忘れがちだけど、
目的を持ったシステムだと当たり前の話。

共通的なライブラリを目指すために、
C/C++層開発が条件。
その上で、デバッグについては、NDKの調査から。
Breakpointが信頼できなくて、
ログの構築から始めたらしい。
後からのわかったそうだが、
NDKのバージョンにより、信頼性が変わるみたい。

そして、対象の確定。
ここが一番の驚きだった。
AndroidのGPUが結構進化しているらしいけど、
ローエンドも残ってるとのこと。
その為、性能差は、20~25倍らしい。

それをすべてサポートしようとするのが目的だが、
目指すところでかいなって感じがした。
その上で、
Androidって、多様性ありすぎだなと、
改めて思い知ってしまった。


その目的の検討として、いろいろな話があったが、
さすがに、プルーム、シェーダー、ライト等の専門用語は、
催眠術の技として思えない効果だった。

フレームレートの方式や、スレッド分割の方法を
検討、検証、そして、方針転換。
その辺りの苦労話もあったが、
長くなるので、公開されるスライドを見てもらえればと思う。

スレッドの切り替えタイミングと、
パフォーマンスの話もあるので、
極めるのならば、参考になることが多いだろう。


スライドは、CEDECのページにあるらしいが、
簡単な登録が必要とのことだった。
(どこだろ・・)


催眠術が聞いてたので、うる覚えなのだけど、
スレッドの分割のところで、
OpenGLのコンテキストが問題となったらしい。
期待動作では、共通のものを使う予定だったが、
スレッドを分けると別のものになってしまったらしい。

上記に関して、質疑のところで、
コンテキストの取得場所に影響があるかもという話がでた。
Java層で取得すれば解消されるのでは・・と。

さっぱりわからないのだけど、
「初めてのOpenGL ES」の著者さんらしかったので、
深い話になったのだろうな。

お互い良い情報交換の場所になったのかなぁ
(真相は、講師控え室へっていうのと、
 次のセミナーの為、わからずと)

このセッションも発表者の方々に
いい場の提供になったんだなぁと感じた。

内容が重すぎたのが、つらかったけども(汗)


リンク:
ABC 2014春
CG World
トライエース
CEDEC2014


| | コメント (0) | トラックバック (0)

2014年4月 1日 (火)

ABC2014春に行ってきて3

ABC2014春の感想の続き。

2つ目のカンファレンスは、
アプリ x アプリ, アプリ x サービスによるアプリ付加価値の向上。

端的にいうと、
マイクロソフトのカンファレンス。

Androidとどのように関連するのか。
そこが気になるところだったのだけど、
そんな狭い範囲の話ではなかった。


Windows Azureを中心として、
こんな連携を構築できるって話だった。
さずがに、
マイクロソフトの製品が多い連携だったが、
Moverio->Azure->.NET(PC)->.NET ME(ガジェット) って形。
AR眼鏡を操作して、遠隔のガジェットを動かす。
具体例が浮かぶわけではないが、
おもしろい世界が作れそうな話。

moverioがAndroidなので、ABCだけど、
Azure自体を売りにしてるので、
相手にはこだわらない内容。


さて、そのAzureのことだけど、
始めて知ることだらけだった。
まず、アジュールと呼ぶらしい。

そして、アニメがあるらしい。
喜多村英梨さんと伊藤かな恵さんが出てて、
結構びっくりした。

日本ではつい先日、データセンターができたみたい。
東日本と西日本にそれぞれあって、
自動でそれぞれをバックアップするみたい。

Iaas~Paasまでがあり、
Linuxも選択できるらしい。
だから、クラウドサービスの候補に
なってくるのかな。

Baasという聞きなれないサービスも、
モバイル用サービスとしてサポートしているらしい。

料金と見合えば、安心込みで、
選択肢としていいのではないのかな。


今回は、Baasだったのかな・・。
(ここは資料公開待ちかなぁ)
Moverioから受けたデータをAzureで受け取り、
Azureからガジェットの母艦に、
signalRという機能で渡すらしい。
そして、最後は、UDPで、
ガジェットへという構成。

聞きなれない単語があったけど、
Microsoftの印象としてあった、
すべてをWindowsっていう固いイメージが壊れた印象。
.NETの適用が結構広いことと、
Azureのサポートの広さから、
柔軟性が出てきたのかなーと思ってしまった。

ちょっぴりMicrosoftが好きになれそう。


それにしても、Moverioの調整は、
ABCの会場でEPSONさんにお願いしたらしい。
頼む人もそうだけど、受ける人もいる。
ABCだからこその世界なのかな。


リンク:
ABC 2014春
Moverio(EPSON)
クラウドガール



| | コメント (0) | トラックバック (0)

2014年3月25日 (火)

ABC2014春に行ってきて2

徒然なるままに、
ABC2014春の感想を書いておく。

カンファレンスの最初は、迷子から始まった。
UDXのバザール会場を抜け出して、
ダイビル2Fに到着するも、上に上がるルートがない。
1階を経由しろと、張り紙があるだけだった。

という挫折をいきなり味わったけど、
カンファレンス会場はきれいな感じだった。


最初は、monacaがテーマのカンファレンス。

いきなり、モコナと間違えて読んで、
レイアース経由のキュゥべえに似た生き物を想像。


脱線はこの程度にしておいて、
カンファレンス的には、
まず話し手の人が慣れてるなぁというのが第一印象。
冒頭に、
「HTML5をNativeでつつむ」感じと言われたとき、
何か違和感というか怪しさを感じた。
そして、ChromeAppsの説明があった。

ネイティブアプリを作るというふれこみだったけど、
ブラウザを内蔵したネイティブアプリではないのかなと、
ふと感じてしまった。

それだと、ChromeAppsと比べて、
メリットがあるのかが気になる。


質疑でその回答にヒントがあったのだが、
クロスプラットフォームや
ネイティブアプリのふれこみは、
基本的にはベースとしているPhoneGapに依存しているみたい。

PhoneGapはあまり見たことないけど、
PhoneGapFanの最初の方だけ見ると、
ブラウザ内包って感じみたい。
なので、ガチガチに速度狙うなら、
ちょっとつらいのかなと感じるし、
ChromeAppsとの差異要素は、
ちょっと気になるところになる。

そして、monacaとして、
プラットフォームの差異吸収は、
特に考えない方針らしい。

悪い言い方すると、PhoneGapまかせ。
だけど、ブラウザ乱立していると、
仕方ない部分もあるだろうな。


ここまでの感じだと、
monacaを使う意味がよく見えないが、
開発環境提供して、
利益をもらうっていうビジネスなのかなと感じた。

使ってないので、想像が入るのだけど、
ブラウザ上で、IDEができるみたいなので、
そのIDEの性能がmonacaの売りなのかな。

その上で、それに付随するエミュレータとか、
動作確認環境が魅力に見える。

クラウド上で直して、
手元の携帯で確認できるとか、
おもしろい仕組み。


セキュリティガチガチの会社だと、
利用につらいケースもありそうだけど、
ゲームとかハイパフォーマンスを求めない場合、
選択肢としていいのではないかなぁ。

ただ、個人的には、単純にmonacaだけ見れずに、
ChromeAppsの流れが気になる内容だった。
それでも、Githubにあるらしい、
OnsenUIは、ちょっと触ってみたいな。


リンク:
ABC 2014春
monaca
PhoneGap
PhoneGapFan



| | コメント (0) | トラックバック (0)

2014年3月23日 (日)

ABC2014春に行ってきて

悲しいかな、まだ東京にいるので、
2度目にABCに行ってきた。
会社は約束を守らないもの・・(もごもご

各カンファレンスは、
それぞれ長くなるので、
とりあえず、全体的なことを。

今回は、原点回帰がテーマだったのか、
前回の2013秋と比べて、
技術よりの講演が多く、
個人的には楽しめた感じになってた。

その為か、同じ時間に行きたい物が
重なっているというジレンマがあった。


会場的なことで言えば、
よかったことと悪かったことがそれぞれある。

まず、バザール会場。
開けたところにあったので、
一般の方でも入りやすくてよかったのかな。

入り口は、こんな痛車があったし、
メイドさんがいたような気がしたので、
入りやすいのか入りにくいのか、
少し疑問に思ったが・・。

Dsc_0721_2

ただ、バザール会場の通路がせまかった。
奥にカフェエリアもあったので、
配置もちょっとつらかったのかなぁ。


そして、カンファレンス会場。
会場は静かでいい感じの場所だった。
だけど、各エリア間が遠い。

合計で3エリアあったのだけど、
それぞれ一度入り口に出ないとだめ。
同じビルの2階から5階に行くだけでも、
入り口経路という悲しさ・・。

カンファレンスの選択肢に、
場所という制約が加わる感じで、
少し悲しい気がした。


場所的な、お金的な制約もあると思うけど、
階段一つぐらいで移動できる範囲がいいな。

次回はぜひにお願いします。


忘れないうちに、
カンファレンスなことも書かないと。

リンク:
ABC 2014春


| | コメント (0) | トラックバック (0)

2013年11月10日 (日)

DialogFragmentって変な作り。。

とあることで、
DialogFragmentの
ソースをがっつり見てしまった。

DialogFragmentは、
Fragmentを敬称しているから、
フラグメントなんだろうと思ってたが、
どうもそうじゃない印象のほうが強い。

ある意味、変なフラグメント。


元々Dialogの仕組みがあったから、
使い方を合わせたかったのだと思うが、
そのためかどうか、
動きがフラグメントっぽくない。


DialogFramentを使うとき、
onCreateDialog()をオーバーライドして、
show()メソッドで、表示させる。
(onCreateView()をオーバーライドする方法もあるけど)

使い方の詳細は、
DevelopersのページのDialogFragmentを見ると書いてある。

とりあえず、ここから
onCreateDialog()をオーバーライドする方法で、
しかも、なぜか、4.0.4ぐらいのソースを見ての感想。

ソースコードはいつも
Developer Collaboration Project
にお世話になってる。

今回対象となるソースは、ここ

簡単なところから見ると、
表示するには、show()メソッド

単純に、フラグメント追加を
肩代わりしているだけらしい。
今までのDialogの使い方そのままという意志が
ここから読み取れる。
フラグメントにはないメソッドだしね。


そして、onCreateDialog()メソッド。

この関数だけ見ると、
特に思う所もない。
だけど、
この関数がどう使われているかが、
フラグメントっぽくないなって感じるところ。

使うべきDialogクラスを作るためのメソッド。
それは分かるけども、
フラグメントでViewを作る役割の
onCreateView()メソッドのオーバーライドがない。
なので、onCreateView()って、nullを返すまま。

すなわち、Viewがないフラグメントって意味になる。

ダイアログ表示してることと矛盾。

でも、
ダイアログが表示されてるので、
仕掛けがあるはず。
そこに、上に表示させる仕掛けとかも・・。


ってことで、mDialogを見てみると、
onActivityCreated()で使われてるみたい。

ただ、ここは、どうも、
onCreatView()とonDialogView()の
どちらでも動くための仕掛け。
ってことで、ここに到達する前に、
mDialogに値を詰めるために、
onCreateDialog()が呼ばれてる。

そして、呼んでる箇所は、
getLayoutInflater()メソッド
(mDialogからたどれば、速かったかもしれないが・・)

ここが呼ばれるのは、
FragmentManagerの中。
ちょうどonCreateView()を呼ぶタイミング。
onCreateView()はnullを返すが、
そのための引数として、
getLayoutInflater()メソッドが呼ばれて、
onCreateDialog()に結びつくらしい。

ソースを読んでみて、
メソッドの正当性を持たすために、
結構無理した作りじゃないかといいたくなる。

そして、
getLayoutInflater()メソッドの中の
Windowのパラメータを設定してるあたりも、
ダイアログの為のある種の仕掛けなんだろうな。

使いやすくあるべきだけど、
新しいフラグメントに合わせるか、
今までのダイアログライクにするか、
葛藤でもあったのかな・・


リンク:
Android Developers
Developer Collaboration Project


| | コメント (0) | トラックバック (0)

より以前の記事一覧