團さん
こんにちは。
細川です。
Activty については、下記にまとめてあるので、1度ご覧いただければと思いま
す。
http://www.slideshare.net/pik256/android-34105130
Galaxy は Android といえないレベルの改造が施されているので、より使いづら
いかもしれません。
このあたりについては、下記の記事をご覧ください。
----------------------------------
サムスンが活用したのは「タッチウィズ」という自社端末専用スキン。これをア
ンドロイド上のすべてのソフトウエアの動きにかぶせ、アンドロイドとは認識で
きないようにした
それにより悪化してしまったことがある。サムスンは電話のダイヤル機能やカレ
ンダー、電子メールソフト、連絡先、お知らせ機能、音楽・動画プレーヤー、音
声認識などソフトウエアの大部分を自社のアプリに切り替え、アンドロイドの性
能を落とし始めた
アンドロイドに対抗するOS「Tizen(タイゼン)」を構築し始めた。タイゼン
はタッチウィズのインターフェースのおかげで、一般のユーザーにとってはほと
んど同じに見える
■グーグル、モトローラ使ってサムスンに2度の打撃
http://www.nikkei.com/article/DGXNASFK19033_Z10C14A2000000/
----------------------------------
> ソフトの用意するボタンと、ハード側にある
> いわゆる戻るボタンのようなものの使い分けが感覚的にわかりづらくて
> ついていけないんです。
基本的には「戻る」ボタンは、ハードのものだけ使用していれば良いです。
ですが、ソフト側に「戻る」ボタンがあるものは、
1)iPhone と同じ見た目にこだわったしきたりを知らない者が作った
2)iOS/Android クロス開発環境で作った
3)Unity などの 1 Activity だけしか使えない環境で作った
のいずれかになると思います。
1については、もう論外ですが、3については仕方ありません。
重要なのは2です。Delphi も何も考えずに作ると、そうなる可能性が高いです。
Delphi では TForm が Activity になるので、本来ソフトウェアの戻るボタンは
必要ありません。
ですが、画面遷移のアニメーション効果などを考えたときに、1枚の TForm で
済ませることは良くあります。
1枚の TForm で作ると、ハードウェアの戻るボタンは Activity を1枚戻すだ
けなので、TForm の状態はそのままで、前の Activity に戻ります。
次に、Delphi のアプリを立ち上げると(プロセスが残っていれば)以前の状態
が表示されてしまいます。
これを防ぐためには、状態を保存しておき OnShow/OnActivate などで表示を初
期状態に戻すなどの工夫が必要です。
(NativeActivity ではなく普通の Activity では onNewIntent が使えます)
ちなみに、Galaxy では Android に対して極悪非道な改造が施されているので、
static 変数は使用できないに等しいですが、Delphi は Native なため、Dalvik
周りの改造の影響を考えなくて済みます。
ですので、静的変数に状態を保存しておけます。
> たとえば、背後に回ったアクティビティは消されても仕方ありませんが
> とあるアプリから呼び出されたアクティビティだった場合は
> アプリのプロセスは残ったままと考えていいんでしょうか?
呼び出し元のアプリのプロセスは残ったままになるかもしれませんし、
LowMemory 状態であれば、消えているかもしれません。
そのために、onActivityResult があります…が、TForm では onActivityResult
は見せて貰えていません(com.embarcadero.FMXNativeActivty には
onActivityResult があり、たとえば TTakePhotoFromLibraryAction では、この
あたりの仕組みを使っています)。
で、ここが公開されていないので正攻法では、ほかのアプリケーションから値を
受ける事ができません。
面倒ですが、1クッション挟んで、Java の Activity(transparent)を
startActivity で呼び出して、そこからさらに startActivity をする、といっ
た面倒な手順が必要です。
ほかの Activity などが含まれた classes.dex を Delphi アプリケーションに
組み込む方法は、下記のエンバカデロ・Team Japan のブログにあります。
http://blogs.embarcadero.com/teamj/2014/03/12/4356/
MLホームページ:
http://www.freeml.com/delphi-users
----------------------------------------------------------------------
■東京を表す新ドメイン【.tokyo】先行登録開始■
[1]東京に関連するWebサイトと一目瞭然!
[2]先行登録はどなた様でもお申込み可能!
[3]今なら空きドメインが、たくさん!
http://ad.freeml.com/cgi-bin/sa.cgi?id=ljr0n
------------------------------------------------------[freeml byGMO]--