如何在android中创建数据库?

我需要一步一步的步骤来在Android中创建数据库

  • 如何从MySql服务器到Android应用程序?
  • 我应该不断打开()和关闭()我的SQL数据库还是打开它?
  • 按日期从sqlite按升序对列表进行排序
  • Room数据库中具有相同types对象的多个表
  • 我怎样才能检查我的sqlite表中是否有数据?
  • 什么是现有SQLite数据库的完整Android数据库助手类?
  • 如何将图像保存到数据库中
  • Android数据库损坏,但可以在SQLite Manager中打开。 可恢复?
  • 数据库在编程中很重要。 我们的许多代码总是使用数据进行处理和保存。 就像任何其他编程环境一样,Android也支持数据库编程。 您可以使用android, SQLiteDatabase支持的默认数据库。

    SQLiteDatabase中的数据库可以包含多个表。假设我们有一个数据库PERSONALDB和一个表BIODATABIODATA的结构是:

     _id integer code string name string gender string _id is for key increment, 

    codenamegender用于描述person

    当第一次调用程序时,我们必须确保打开数据库和表(如果存在)。如果不存在,那么我们必须创建一个数据库和一个表。 作为Android notepad sample ,这里是用于操作表Biodata的类PersonDbHelper

     import java.io.FileNotFoundException; import java.util.ArrayList; import java.util.List; import android.content.ContentValues; import android.content.Context; import android.database.Cursor; import android.database.SQLException; import android.database.sqlite.SQLiteDatabase; import android.util.Log; public class PersonDbHelper { class Row extends Object { public long _Id; public String code; public String name; public String gender; } private static final String DATABASE_CREATE = "create table BIODATA(_id integer primary key autoincrement, " + "code text not null," + "name text not null" +");"; private static final String DATABASE_NAME = "PERSONALDB"; private static final String DATABASE_TABLE = "BIODATA"; private static final int DATABASE_VERSION = 1; private SQLiteDatabase db; public PersonDbHelper(Context ctx) { try { db = ctx.openDatabase(DATABASE_NAME, null); } catch (FileNotFoundException e) { try { db = ctx.createDatabase(DATABASE_NAME, DATABASE_VERSION, 0, null); db.execSQL(DATABASE_CREATE); } catch (FileNotFoundException e1) { db = null; } } } public void close() { db.close(); } public void createRow(String code, String name) { ContentValues initialValues = new ContentValues(); initialValues.put("code", code); initialValues.put("name", name); db.insert(DATABASE_TABLE, null, initialValues); } public void deleteRow(long rowId) { db.delete(DATABASE_TABLE, "_id=" + rowId, null); } public List fetchAllRows() { ArrayList ret = new ArrayList(); try { Cursor c = db.query(DATABASE_TABLE, new String[] { "_id", "code", "name"}, null, null, null, null, null); int numRows = c.count(); c.first(); for (int i = 0; i < numRows; ++i) { Row row = new Row(); row._Id = c.getLong(0); row.code = c.getString(1); row.name = c.getString(2); ret.add(row); c.next(); } } catch (SQLException e) { Log.e("Exception on query", e.toString()); } return ret; } public Row fetchRow(long rowId) { Row row = new Row(); Cursor c = db.query(true, DATABASE_TABLE, new String[] { "_id", "code", "name"}, "_id=" + rowId, null, null, null, null); if (c.count() > 0) { c.first(); row._Id = c.getLong(0); row.code = c.getString(1); row.name = c.getString(2); return row; } else { row.rowId = -1; row.code = row.name= null; } return row; } public void updateRow(long rowId, String code, String name) { ContentValues args = new ContentValues(); args.put("code", code); args.put("name", name); db.update(DATABASE_TABLE, args, "_id=" + rowId, null); } public Cursor GetAllRows() { try { return db.query(DATABASE_TABLE, new String[] { "_id", "code", "name"}, null, null, null, null, null); } catch (SQLException e) { Log.e("Exception on query", e.toString()); return null; } } } 

    onCreate方法中,您只需要在下面给出一个命令来初始化数据库:…

     Db = new PersonDbHelper(this); 

    它将首先尝试打开’PersonalDB’。如果它不存在,那么它将创建一个数据库。 在这个’PersonDbHelper’类中,您有插入,删除,更新,查询表的方法。

    以下是对上述教程的引用:

    创建我的第一个android数据库

    你也可以通过:

    http://www.devx.com/wireless/Article/40842

    http://www.vogella.de/articles/AndroidSQLite/article.html

    希望这可以帮助。

    创建数据库:

     db= this.openOrCreateDatabase("db_hw3", MODE_PRIVATE, null); 

    这将起到作用: http : //www.devx.com/wireless/Article/40842/1954

    请注意,将所有数据访问权限包装到ContentProviders是一种很好的做法