Titanium Appcelerator を使用して新聞/雑誌を表示するためのアプリを開発したいのですが、ユーザーがアプリ以外の方法でアクセスできない電話にデータを保存する方法に問題がありますか? そのデータにはどのような形式 (blob、pdf、プレーン テキスト) が必要ですか? それらはdbに保存する必要がありますか、それともファイルとして保存する必要がありますか? 以下に提案を投稿していただけますか?
1 に答える
Titanium には、データを保存するためのオプションがいくつかあります。まず、入力として取得したデータを確認する必要があります。それはJSONかPDFかプレーンテキストか何でもか。次のオプションが利用可能です: - 統合データベース (SQLite) を使用してデータを保存 - これは、入力データがテキストなどに変換できるプレーン テキストまたは json である場合に適しています。必要に応じて、BLOB データをデータベースに保存することもできます。- ファイル システムを使用してデータを保存する: iOS と Android の両方で (mobileweb ではないと思います)、ファイル ストレージにデータを永続的に保存できます。これは、入力データがバイナリ ファイル (pdf など) の場合に便利です。
ただし、どちらの場合も、ユーザーはデータを読み取れる場合と読み取れない場合があります。- iOS: ユーザーは、ファイルシステムに永続化されたドキュメントを読み取ることができ、おそらくデータベースにあるデータも読み取ることができます - Android: Android では、デバイスにルートアクセスがあるかどうかと、そのデータを保存する場所 (アプリ内) に依存すると思いますフォルダーまたは外部/内部の無料アクセス可能なストレージ)
どちらの場合も、このデータにアクセスするのは簡単ではありません。通常、一般ユーザーはそれを行いません。プロのユーザーにとって、このデータを読むのは簡単なはずです。では、ユーザーが読み取れないように、このデータを保護するにはどうすればよいでしょうか?
暗号化されたデータをデータベースに保存するか (データベースの暗号化はチタンではデフォルトで使用できないため、モジュールを使用するか、独自にデータを暗号化する必要があります)、暗号化して保存します (これもあなた次第です - 準備ができていません)。 -to-use メソッド) をファイルシステムに追加します。
私の意見では、最初の解決策がより良いものです。私は次のことを行います: - データを取得します (サーバーまたは他の場所から、データ型は関係ありません) - base64 に変換します (バイナリ ファイルに便利で必要ですが、プレーン テキストにも必要です) - 選択した暗号化アルゴリズムで base64 を暗号化します- データベースに保存
これには多くのメモリが必要になる可能性があるため、このデータを削除してスペースを節約するオプションを提供する必要があります。