2012-03-18 5 views
3

私は無料アプリと有料アプリの両方を持っています。ユーザーが最初にfree versionを試して、たとえば10 goldを取得してから有料版にアップグレードすると、彼はそれらを10 goldのままにしておき、新しいスタートをしないようにします。別のパッケージ/アプリ間でデータを保存する

アプリ間でデータを共有してアクセスする方法はありますか?そして、私はSD cardの根に保存したくありません。ユーザーが簡単にそれを変更できるからです。

答えて

1

私はいくつかのデベロッパーは有料のアプリを使って支払いをチェックするだけです(インストールされていれば支払っています)、無料版にすべてのコードを保存していると思います。 SDカードに書き込まれたデータを暗号化/復号化することもできます。これにより、ユーザーがこれらの保存を簡単にバックアップ/復元できるようになります(アプリが再インストールされた場合などに失われることはありません)。

+0

いいアイデアのように聞こえるよ!しかし有料版があれば、どうすれば無料版チェックをすることができますか? –

+0

Googleで最初のヒット:http://sites.google.com/site/androidhowto/how-to-1/detect-if-an-app-is-installedしかし、全体的に、あなたのユーザーに彼らのsavegames(または私たちが話しているもの)を管理します。あなたは彼らが失う/彼らのセーブを転送することができないようにしますか?あなたのSDカードに暗号化されたデータファイルを置いておけば、あなたの最良の方法です。 – Mario

+0

私が推測するような音 –

0

アプリケーションデータフォルダにファイルを作成できます。それをそこに保存します。

/data/data/your_complete_package/your_data_filename 

もちろん、この電話機に固有のもので暗号化する必要があります。

したがって、このファイルを別の電話機に移動して使用することはできません。

アプリケーションデータフォルダの下にあるファイルは、あなたのアプリケーションと共にアンインストールされることに注意してください。

0

私はAndroidのコンテンツプロバイダは、この問題を解決するかもしれないと思う: http://developer.android.com/guide/topics/providers/content-providers.html

コンテンツプロバイダは、データの構造化されたセットへのアクセスを管理します。それらはデータをカプセル化し、データセキュリティを定義するためのメカニズムを提供します。コンテンツプロバイダは、あるプロセスのデータを別のプロセスで実行されているコードと接続する標準のインターフェイスです。

アプリはContentProviderのを実装することができますし、エクスポートデータのURIは、あなたはちょうどあなたがGoogleの契約にアクセスする方法のように、のContentProviderを介してデータを共有することができ、あなたの自由な&有料版よりも、共有する必要があります。

BTW、ContentProviderはSQLite & XMLをサポートしていますので、必要に応じてメモリやSDカードに保存することができます。

0

私の解決方法は、ユーザー用のすべてのデータを保持する何らかのリモートサーバーを維持することです。ユーザーは、アプリケーションに入るときにログインし、サーバーで自分自身を認証し、すべてのデータを利用できるようにします。

すべてのローカルソリューションは永続的ではありません。ユーザーが自分のアプリを削除するとどうなりますか?電話が破損してアプリが回復不能な場合

どのアプリの有料ユーザーでも、有料のデータをさまざまなデバイスで持ち運びできるようにしたいと考えています。

問題にちょうど2セント...

関連する問題