sql >> データベース >  >> RDS >> SQLite

アプリケーションが起動するたびにSQLiteテーブルを作成する必要が本当にありますか?

    ここであなたは誤解していると思います。 SQLiteOpenHelperオブジェクトが構築されると、SQLiteデータベースが存在するかどうかがチェックされ、存在しない場合は、その onCreate()が呼び出されます。 メソッド(通常、開発者はデータベースの作成SQLを実装します)

    更新:
    @Clay Shannon:EclipseとAndroidプロジェクトが機能するメカニズムについて説明します。 Eclipseを使用してAndroidプロジェクトをプログラミングするとします。新しいプロジェクトは、ワークスペースにプロジェクトフォルダを作成します(この場合、 C:\ aXX3&Space \ Android \ worksheet プロジェクトフォルダはOnDemandAndAutomatic_Project )。このフォルダーには、src、bin、assets、resなどのいくつかのサブフォルダーが含まれます。各フォルダーには独自の役割があり、アセットフォルダーに興味がありますか? Assetsフォルダーは、htmlファイル、サウンドファイル、画像ファイル、テキストファイルなどの参照ファイル(resフォルダーに配置できないまたは配置したくない)を含めるために使用されます。Eclipseがプロジェクトからapkをビルドする場合、これらのファイルもapkに含まれています。 Androidデバイスにapkをインストールすると、apkがAndroidシステムフォルダーにコピーされ、Dharmendraが述べたようにアプリデータを含むフォルダーも作成されます: / data / data / {packagename} / (com.google.appなどのパッケージ名。このパスはデバイスのAndroid OS用であり、Windows用ではありません。)

    ここでのケースは、既存のデータベースを使用する場合です。そのため、データベースが存在するかどうかをチェックする関数を実装する必要があります。存在しない場合は、データベースをデータベースパスにコピーします / data / data / {パッケージ名}/databases / 、アプリの起動時にその関数を呼び出します。そして、それを行う方法は、すでにここで回答されています。既存のデータベースをあるアプリから別のアプリにコピーする方法。 http://www.wiseandroid.com/post/2010/06/14/Android-Beginners-Intro-to-Resources-and-Assets.aspx <がわからない場合に備えて、アセットファイルにアクセスするためのリファレンスもあります。 br />

    今、あなたがあなたの問題を解決できることを願っています。 :既存のデータベースはSQLiteデータベースである必要があります。そうでない場合、正しいパスにコピーしてもアプリはそれを認識しません。



    1. Apache 2.2、MySQL 5.0、およびPHP5を使用したFreeBSD6.0へのWebサーバーのインストール–パート3

    2. Spring Batch ORA-08177:単一のジョブを実行している場合、このトランザクションへのアクセスをシリアル化できません、SERIALIZED分離レベル

    3. MySQLデータ-ページングを実装する最良の方法は?

    4. SQL(ORACLE):ORDERBYおよびLIMIT