2011-06-25 9 views
1

大きな(ish)データベースを持つPalm Preアプリがあります。私はアプリケーションをデータベースを作成させるのではなく、データベースを電話機に直接転送したいと思います。Palm PreにSqlite DBをプリロードすることは可能ですか?

私が試みたのは、簡単なpythonスクリプトを使用してPC上にsqliteファイルを作成してから、メディア/内部フォルダに空の拡張dbを作成してから、電話で作成したファイル。しかし、ファイルを読み込もうとすると「データベースディスクイメージが不正です」というエラーが表示されます。

このようなことに誰も成功しましたか?

編集:今、私のオリジナルのアイデアが実際に可能ではないことを、私の質問は次のようになります。それを複製することなく、大量のデータを使用してアプリケーションのDBを初期化するための最良の方法は何である(今私が情報を持つ配列と第一を持っていますアプリケーションが実行されて、データベースが作成されていっぱいになる)。ハイブリッドアプリケーションを使用するソリューションは私にとってはあまりにも多く、簡単で迅速なソリューションが必要です。

代わりに、おそらく 'Webサービス'に接続し、アプリケーションにデータをダウンロードすることです。

+0

私はそうではありませんが、この作業に本当に頼るべきではないことを指摘しておきます。しかし、SQLダンプからデータベースを作成することは、実行している問題の種類だけを避けることです。 –

答えて

3

JavaScriptコードから直接プリロードされたSQLiteデータベースにアクセスすることはできません.WebKitは内部的にSQLiteを使用していますが、データベースを独自のデータ構造に関連付けていくつかの制約を管理する必要があります。

C/C++コードが含まれているデータファイルにアクセスするためのサーバーとして機能したハイブリッドアプリケーションを作成できます。その静的バージョンのSQLiteをハイブリッドアプリで使用して、そのデータにアクセスし、IPCシステムを介してJSに送信することができます。このモデルは、デバイス上のQuickfofficeがハイブリッドを使ってMS Wordドキュメントを解析し、その表現をWebKitのレンダリングエンジンを使用してJSアプリケーションに送信する方法と似ています。

0

アプリに基本sqliteファイルを作成させてから、デスクトップにダウンロードしてバルクデータを追加することは可能でしょうか?おそらく、アプリを閉じてから電話に戻すべきです。カレンダーのようなビルトインアプリの場合、バックグラウンドプロセスが引き続きdbにアクセスしている可能性があるため、問題が発生する可能性があります。アップロード後に再起動しても解決するかもしれません。

+0

これは私が元々試みたもので、電話機で生成されたデータベースをコンピュータ上で開くことができませんでした。それは私にいくつかの「不正な形式の」エラーを与えました – rslite