Androidプログラミングは、アプリケーションを携帯電話のメモリに強制的にインストールする方法を実現します.
2582 ワード
この例では、Androidプログラミングによるアプリケーションを携帯電話のメモリに強制的に装着する方法について説明します.皆さんの参考にしてください.具体的には以下の通りです.
Froyo(android 2.2,API Level:8)にandroid:installLocationを導入した.この属性を設定ことにより、開発者およびユーザがプログラムのインストール位置を決定することができる.
Android:installLocationはAndroid Manifestに所属する.XMLのmanifestノード次のようになります.
Android:installLocationは、「auto」、「internalOnly」、「preferExternal」の3つの値のいずれかに設定することができる.
Auto:プログラムは外部の記憶媒体(例えばSDカード)にインストール可能であるが、デフォルトでは携帯電話のメモリにインストールされる.携帯電話のメモリが空の場合、プログラムは外部記憶媒体にインストール.プログラムが携帯電話にインストール後、ユーザはプログラムを外部記憶媒体に置くかメモリに置くかを決定することができる.
internalOnly:デフォルト.この値を設定と、プログラムはメモリにしかインストールできません.メモリが空の場合、プログラムは正常にインストールできません.
preferExternal:プログラムを外部記憶媒体にインストールするが、システムはプログラムが必ず外部記憶媒体にインストールされることを保証しない.外部記憶媒体が不可または空の場合、プログラムはメモリにインストール.外部ストレージがこのメカニズムをサポートしていないため、プログラムがfor ward-lockingメカニズムを使用する場合もメモリにインストールされます.プログラムのインストール後、ユーザは、プログラムが外部にあるべきか内部にあるべきかを自由に切り替えることができる.
注意:プログラムがGoogle PlayのCopy Protection機能を使用する場合、メモリにインストールするしかありません.
プログラムが外部記憶媒体にインストールされた場合:
① .apkファイルは外部の記憶媒体に移動するが、プログラムのデータはメモリ②に保存される.apkファイルのコンテナは、ランダムに生成する鍵を用いて暗号化され、このプログラムをインストールする設定のみが外部記憶媒体に存在するデータを使用することができる.
警告:外部記憶媒体がアンインストールされると、その外部記憶媒体にインストールされているプログラムはすぐに終了します.
後方互換性:
Android:installLocationを宣言しましたが、android:minSdkValersonが8未満の場合、Froyo以下のAVDを使用してコンパイルします.これにより、Froyo以下のシステムではandroid:installLocationは無視され、Froyo以下のシステムでは指定したandroid:installLocationが使用されます.
プログラムが次のような動作をしている場合は、外部ストレージメディアにプログラムをインストールする必要はありません.
①サービスの実行中のサービスは終了する、外部記憶媒体が再ロードされた場合、サービスは再起動されない.②Alarm Serviceアラームサービスはキャンセルされ、開発者は外部記憶媒体の再ロード後にアラームサービスを再登録する必要がある.③Input Method Engines入力方式はシステム入力方式に変更され、外部記憶媒体が再ロードされた後、ユーザーはシステム設定により我々の入力方式を起動することができる④Live Wallpapers我々の動的壁紙はデフォルトの動的壁紙に置き換えられる.外部記憶媒体をリロード後、ユーザは交換できる.⑤Live Folders私たちのダイナミックフォルダが移動されます.⑥App Widgets私たちのウィジェットは削除されます.通常、システムが再起動した後、私たちのウィジェットしか使用できません.⑦Account ManagementがAccountManagerを使用して作成するアカウントは、記憶媒体が再ロードされるまで消滅する.⑧Sync Adapters外部記憶媒体が再ロードされた場合のみ、同期機能が使用可能⑨Device Administrators我々のDevice AdminReceiverが無効になる⑩傍受起動完了イベントシステムは外部記憶媒体をロードする前にACTION_を送信するBOOT_COMPLETED放送このため、外部の記憶媒体にインストールプログラムは、起動放送を受け付けない.
通常、上記の特性を使用しない限り、外部記憶媒体にプログラムをインストールすることができる.例えば、大きなゲームプログラム.私たちのAPKファイルが何M大きいかを真剣に考えなければならない.プログラムを外部の記憶媒体に移動して、ユーザーのメモリ節約を助けるかどうかを考えなければならない.
この文書がAndroidプログラムの設計に役立つことを願っています.
Froyo(android 2.2,API Level:8)にandroid:installLocationを導入した.この属性を設定ことにより、開発者およびユーザがプログラムのインストール位置を決定することができる.
Android:installLocationはAndroid Manifestに所属する.XMLのmanifestノード次のようになります.
. . .
Android:installLocationは、「auto」、「internalOnly」、「preferExternal」の3つの値のいずれかに設定することができる.
Auto:プログラムは外部の記憶媒体(例えばSDカード)にインストール可能であるが、デフォルトでは携帯電話のメモリにインストールされる.携帯電話のメモリが空の場合、プログラムは外部記憶媒体にインストール.プログラムが携帯電話にインストール後、ユーザはプログラムを外部記憶媒体に置くかメモリに置くかを決定することができる.
internalOnly:デフォルト.この値を設定と、プログラムはメモリにしかインストールできません.メモリが空の場合、プログラムは正常にインストールできません.
preferExternal:プログラムを外部記憶媒体にインストールするが、システムはプログラムが必ず外部記憶媒体にインストールされることを保証しない.外部記憶媒体が不可または空の場合、プログラムはメモリにインストール.外部ストレージがこのメカニズムをサポートしていないため、プログラムがfor ward-lockingメカニズムを使用する場合もメモリにインストールされます.プログラムのインストール後、ユーザは、プログラムが外部にあるべきか内部にあるべきかを自由に切り替えることができる.
注意:プログラムがGoogle PlayのCopy Protection機能を使用する場合、メモリにインストールするしかありません.
プログラムが外部記憶媒体にインストールされた場合:
① .apkファイルは外部の記憶媒体に移動するが、プログラムのデータはメモリ②に保存される.apkファイルのコンテナは、ランダムに生成する鍵を用いて暗号化され、このプログラムをインストールする設定のみが外部記憶媒体に存在するデータを使用することができる.
警告:外部記憶媒体がアンインストールされると、その外部記憶媒体にインストールされているプログラムはすぐに終了します.
後方互換性:
Android:installLocationを宣言しましたが、android:minSdkValersonが8未満の場合、Froyo以下のAVDを使用してコンパイルします.これにより、Froyo以下のシステムではandroid:installLocationは無視され、Froyo以下のシステムでは指定したandroid:installLocationが使用されます.
プログラムが次のような動作をしている場合は、外部ストレージメディアにプログラムをインストールする必要はありません.
①サービスの実行中のサービスは終了する、外部記憶媒体が再ロードされた場合、サービスは再起動されない.②Alarm Serviceアラームサービスはキャンセルされ、開発者は外部記憶媒体の再ロード後にアラームサービスを再登録する必要がある.③Input Method Engines入力方式はシステム入力方式に変更され、外部記憶媒体が再ロードされた後、ユーザーはシステム設定により我々の入力方式を起動することができる④Live Wallpapers我々の動的壁紙はデフォルトの動的壁紙に置き換えられる.外部記憶媒体をリロード後、ユーザは交換できる.⑤Live Folders私たちのダイナミックフォルダが移動されます.⑥App Widgets私たちのウィジェットは削除されます.通常、システムが再起動した後、私たちのウィジェットしか使用できません.⑦Account ManagementがAccountManagerを使用して作成するアカウントは、記憶媒体が再ロードされるまで消滅する.⑧Sync Adapters外部記憶媒体が再ロードされた場合のみ、同期機能が使用可能⑨Device Administrators我々のDevice AdminReceiverが無効になる⑩傍受起動完了イベントシステムは外部記憶媒体をロードする前にACTION_を送信するBOOT_COMPLETED放送このため、外部の記憶媒体にインストールプログラムは、起動放送を受け付けない.
通常、上記の特性を使用しない限り、外部記憶媒体にプログラムをインストールすることができる.例えば、大きなゲームプログラム.私たちのAPKファイルが何M大きいかを真剣に考えなければならない.プログラムを外部の記憶媒体に移動して、ユーザーのメモリ節約を助けるかどうかを考えなければならない.
この文書がAndroidプログラムの設計に役立つことを願っています.