Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了无法在我的Android应用程序中创建SQLite数据库大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用我的应用程序对象( Android building bloC)调用我的oncreate方法中的数据库构造函数.
我无法弄清楚为什么它无法创建.
这是我的代码的样子:

我的数据库类,DbHelper作为内部类:

package com.example.pharmacie;

import android.content.ContentValues;
import android.content.Context;
import android.database.@L_874_7@ite.@L_874_7@iteDatabase;
import android.database.@L_874_7@ite.@L_874_7@iteOpenHelper;
import android.util.Log;

public class PhData {
    private static final String TAG = PhData.class.getSimplename();

    private static final int version = 1;
    private static final String DATABASE = "ph_info.db";
    private static final String table = "ph_info";

    public static final String C_ID = "_id";
    public static final String C_CREATED_AT = "created_at";
    public static final String C_NAME = "Pharmacie ";
    public static final String C_TELE = " ";
    public static final String C_adress = "Tet";
    public static final String C_HAS_SHIFT = "yes"; // yes if night shift
    public static final String C_scheDULE = "YYYY-MM-DD";

    private static final String GET_all_ORDER_BY = C_CREATED_AT + " DESC";
    private static final String[] MAX_CREATED_AT_columNS = { "max("
            + PhData.C_CREATED_AT + ")" };    
    Context context;
    private DbHelper dbHelper;

    // Inner class: DbHelper implementations 
    class DbHelper extends @L_874_7@iteOpenHelper {

        public DbHelper() {
            super(context,DATABASE,null,VERSION);
            Log.d(tag,"Constructor called");
        }

        @Override
        public void onCreate(@L_874_7@iteDatabase db) {
            Log.d(tag,"CreaTing database: " + DATABASE);

            db.exec@L_874_7@("create table " + TABLE + " (" + C_ID
                    + " int priMary key," + C_CREATED_AT + " int," + C_NAME
                    + " text," + C_adress + " text,"
                    + C_HAS_SHIFT + " text," + C_scheDULE
                    + " text," + C_TELE + " text)");

            Log.d(tag,"database created");
        }

        @Override
        public void onUpgrade(@L_874_7@iteDatabase db,int oldVersion,int newVersion) {
            db.exec@L_874_7@("drop table " + TABLE);
            this.onCreate(db);
        }
    } // end of dbHelper class


    public PhData(Context context) {
        this.context = context;
        this.dbHelper = new DbHelper();
        Log.d(tag,"Initialized data");
    }

    public void close() {
        this.dbHelper.close();
    }

    public void insertOrIgnore(ContentValues values) {
        Log.d(tag,"insertOrIgnore on " + values);
        @L_874_7@iteDatabase db = this.dbHelper.getWritableDatabase();
        try {
            db.insertWithOnConflict(TABLE,values,@L_874_7@iteDatabase.CONFLICT_IGNORE);
        } finally {
            db.close();
        }
    }

    /**
     * deletes ALL the data
     */
    public void delete() {
        // Open Database
        @L_874_7@iteDatabase db = dbHelper.getWritableDatabase();

        // delete the data
        db.delete(TABLE,null);

        // Close Database
        db.close();
    }
}

这是我的应用程序类,我调用构造函数来创建我的数据库

package com.example.pharmacie;

import android.app.Application; import android.util.Log;

public class PharmacieApplication extends Application {
          private static final String TAG = PharmacieApplication.class.getSimplename();       PhData phData;

    @Override   public void onCreate() {        super.onCreate();
        phData = new PhData(this);
        Log.d(tag,"onCreated");    }

    @Override   public void onTerminate() {         super.onTerminate();
        Log.d(tag,"onTerminated");     }

}

这就是我在logcat中得到的:

04-20 03:15:05.968: D/PhData(368): Constructor called
04-20 03:15:05.968: D/PhData(368): Initialized data
04-20 03:15:05.968: D/PharmacieApplication(368): onCreated
04-20 03:15:06.568: D/JoursListActivity(368): onCreated

解决方法

在您要求访问数据库之前,实际上不会创建数据库.从 documentation

@H_502_43@

大佬总结

以上是大佬教程为你收集整理的无法在我的Android应用程序中创建SQLite数据库全部内容,希望文章能够帮你解决无法在我的Android应用程序中创建SQLite数据库所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。