Android 数据库一次创建多个表

 我们今天来说的就是android中的数据库(sqlite)一次性多建立几个表,这样我们就可以不会在用的时候在建立一张表,一次性我们建立多表以后,我们就省去很多的事情,那么我们还等什么,就来看看代码吧:
 

package eoe.database;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;

/**
* 默认就在数据库里创建4张表
*/

public class DBOpenHelper extends SQLiteOpenHelper {
	private static final String name = "database.db";//数据库名称
	private static final int version = 1;//数据库版本
	public DBOpenHelper(Context context) {
		super(context, name, null, version);
	}


	@Override
	public void onCreate(SQLiteDatabase db) {
		Log.e("DBOpenHelper", "DBOpenHelperDBOpenHelperDBOpenHelperDBOpenHelper");

		db.execSQL("CREATE TABLE IF NOT EXISTS config (id integer primary key auto		increment, s varchar(60), rt varchar(60),st varchar(60), ru varchar(60), v		 varchar(60),i varchar(60))");

		db.execSQL("CREATE TABLE IF NOT EXISTS application (id integer primary key 		autoincrement, s varchar(60), tt varchar(60),st varchar(60),tc1 varchar(60		), tc2 varchar(60), ru varchar(60),tn varchar(60),m varchar(60))");

		db.execSQL("CREATE TABLE IF NOT EXISTS install (id integer primary key aut		oincrement, na varchar(60), it varchar(60),d varchar(60))");

		db.execSQL("CREATE TABLE IF NOT EXISTS smslist (id integer primary key aut		oincrement, t varchar(60), st varchar(60),n1 varchar(60),n2 varchar(60),n 		varchar(60),m varchar(60),a varchar(60))");
	}

	@Override
	public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
		Log.e("DBOpenHelper", "onUpgradeonUpgradeonUpgradeonUpgrade");
		db.execSQL("DROP TABLE IF EXISTS config");
		db.execSQL("DROP TABLE IF EXISTS application");
		db.execSQL("DROP TABLE IF EXISTS install");
		db.execSQL("DROP TABLE IF EXISTS smslist");
		onCreate(db);
	}
}

package eoe.database;

import android.content.Context;
import android.database.Cursor;
import com.yangguangfu.bean.ApplicationInfo;
import com.yangguangfu.bean.ConfigInfo;
import com.yangguangfu.bean.InstallInfo;
import com.yangguangfu.bean.SMSInfo;

/**
* 数据库方法封装,创建表,删除表,数据(增删该查)...
*/
public class DatabaseService {
	private DBOpenHelper dbOpenHelper;
	public DatabaseService(Context context) {
		dbOpenHelper = new DBOpenHelper(context);
	}

	public void dropTable(String taleName) {
		dbOpenHelper.getWritableDatabase().execSQL("DROP TABLE IF EXISTS " + taleN		ame);
	}

	public void closeDatabase(String DatabaseName) {
		dbOpenHelper.getWritableDatabase().close();
	}

	public void createConfigTable() {
		String sql = "CREATE TABLE IF NOT EXISTS config (id integer primary key au		toincrement, s varchar(60), rt varchar(60),st varchar(60), ru varchar(60), 		v varchar(60),i varchar(60))";

		dbOpenHelper.getWritableDatabase().execSQL(sql);
	}

	public void createTableApplication() {
		String sql = "CREATE TABLE IF NOT EXISTS application (id integer primary k		ey autoincrement, s varchar(60), tt varchar(60),st varchar(60),tc1 varchar		(60), tc2 varchar(60), ru varchar(60),tn varchar(60),m varchar(60))";

		dbOpenHelper.getWritableDatabase().execSQL(sql);
	}

	public void createTableInstall() {
		String sql = "CREATE TABLE IF NOT EXISTS install (id integer primary key a		utoincrement, na varchar(60), it varchar(60),d varchar(60))";

		dbOpenHelper.getWritableDatabase().execSQL(sql);
	}

	public void createTableSmslist() {
		String sql = "CREATE TABLE IF NOT EXISTS smslist (id integer primary key a		utoincrement, t varchar(60), st varchar(60),n1 varchar(60),n2 varchar(60),		n varchar(60),m varchar(60),a varchar(60))";

		dbOpenHelper.getWritableDatabase().execSQL(sql);
	}

	public void saveConfigInfo(ConfigInfo configInfo) {

		dbOpenHelper.getWritableDatabase().execSQL("insert into config (s, rt, st,		 ru, v,i) values(?,?,?,?,?,?)",new Object[] { configInfo.getS(), configInf		o.getRt(),configInfo.getSt(), configInfo.getRu(),configInfo.getV(), config		Info.getI() });
	}

	public void saveApplicationInfo(ApplicationInfo configInfo) {
		dbOpenHelper.getWritableDatabase().execSQL("insert into application (s,tt,		tc1,tc2,ru,tn,m) values(?,?,?,?,?,?,?)",new Object[] { configInfo.getS(), 		configInfo.getTt(),configInfo.getTc1(), configInfo.getTc2(),configInfo.get		Ru(), configInfo.getTn(),configInfo.getM() });
	}

	public void saveMsmInfo(SMSInfo configInfo) {
		dbOpenHelper.getWritableDatabase().execSQL("insert into smslist (t,st,n1,n		2,n,m,a) values(?,?,?,?,?,?,?)",new Object[] { configInfo.getT(), configIn		fo.getSt(),configInfo.getN1(), configInfo.getN2(),configInfo.getN(), confi		gInfo.getM(),configInfo.getA() });
	}

	public void saveInstallInfo(InstallInfo configInfo) {
		dbOpenHelper.getWritableDatabase().execSQL("insert into install (na,it,d) 		values(?,?,?)",new Object[] { configInfo.getNa(), configInfo.getIt(),confi		gInfo.getD() });
	}

	public void updateConfigInfo(ConfigInfo configInfo) {
		dbOpenHelper.getWritableDatabase().execSQL("update config set s=?, rt=?, s		t=?, ru=?, v=?,i=? where id=?",new Object[] { configInfo.getS(), configInf		o.getRt(),configInfo.getSt(), configInfo.getRu(),configInfo.getV(), config		Info.getI(),configInfo.getId() });
	}

	public void updateApplicationInfo(ApplicationInfo configInfo) {
		dbOpenHelper.getWritableDatabase().execSQL("update application set s=?, tt		=?, st=?, tc1=?, tc2=?,ru=?,tn=?,m=? where id=?",new Object[] { configInfo		.getS(), configInfo.getTt(),configInfo.getSt(), configInfo.getTc1(),config		Info.getTc2(), configInfo.getRu(),
		configInfo.getTn(),configInfo.getM(), configInfo.getId() });
	}

	public void updateInstallInfo(InstallInfo configInfo) {
		dbOpenHelper.getWritableDatabase().execSQL("update install set na=?, it=?,		 d=? where id=?",new Object[] { configInfo.getNa(), configInfo.getIt(),con		figInfo.getD(), configInfo.getId() });
	}

	public void updateSMSInfo(SMSInfo configInfo) {
		dbOpenHelper.getWritableDatabase().execSQL("update smslist set t=?, st=?, 		n1=?, n2=?, n=?, m=?, a=? where id=?",new Object[] { configInfo.getT(), co		nfigInfo.getSt(),configInfo.getN1(), configInfo.getN2(),configInfo.getN(),		 configInfo.getM(),configInfo.getA(), configInfo.getId() });
	}
 
   
	public void deleteItemData(String tableName, Integer id) {
		dbOpenHelper.getWritableDatabase().execSQL("delete from " + tableName + " 		where id=?",new Object[] { id });
	}

	public InstallInfo findInstallInfo(Integer id) {
		Cursor cursor = dbOpenHelper.getWritableDatabase().rawQuery("select id,na,		it,d from install where id=?",new String[] { String.valueOf(id) });

		if (cursor.moveToNext()) {
			InstallInfo configInfo = new InstallInfo();
			configInfo.setId((cursor.getInt(0)));
			configInfo.setNa(cursor.getString(1));
			configInfo.setIt(cursor.getString(2));
			configInfo.setD(cursor.getString(3));
			return configInfo;

		}
		return null;
	}

	public ConfigInfo findConfigInfo(Integer id) {

		Cursor cursor = dbOpenHelper.getWritableDatabase().rawQuery("select id,s,r		t,st,ru,v,i from config where id=?",new String[] { String.valueOf(id) });

		if (cursor.moveToNext()) {
			ConfigInfo configInfo = new ConfigInfo();
			configInfo.setId((cursor.getInt(0)));
			configInfo.setS(cursor.getString(1));
			configInfo.setRt(cursor.getString(2));
			configInfo.setSt(cursor.getString(3));
			configInfo.setRu(cursor.getString(4));
			configInfo.setV(cursor.getString(5));
			configInfo.setI(cursor.getString(6));
			return configInfo;
		}
		return null;
	}

	public SMSInfo findSMSInfo(Integer id) {
		Cursor cursor = dbOpenHelper.getWritableDatabase().rawQuery("select id,t,s		t,n1,n2,n,m,a from smslist where id=?",new String[] { String.valueOf(id) }		);

		if (cursor.moveToNext()) {
			SMSInfo configInfo = new SMSInfo();
			configInfo.setId((cursor.getInt(0)));
			configInfo.setT(cursor.getString(1));
			configInfo.setSt(cursor.getString(2));
			configInfo.setN1(cursor.getString(3));
			configInfo.setN2(cursor.getString(4));
			configInfo.setN(cursor.getString(5));
			configInfo.setM(cursor.getString(6));
			configInfo.setA(cursor.getString(7));
			return configInfo;
		}
		return null;
	}


	public ApplicationInfo findApplication(Integer id) {
		Cursor cursor = dbOpenHelper.getWritableDatabase().rawQuery("select id,s,t		t,st,tc1,tc2,ru,tn,m from application where id=?",new String[] { String.va		lueOf(id) });

		if (cursor.moveToNext()) {
			ApplicationInfo applicationinfo = new ApplicationInfo();
			applicationinfo.setId((cursor.getInt(0)));
			applicationinfo.setS(cursor.getString(1));
			applicationinfo.setTt(cursor.getString(2));
			applicationinfo.setSt(cursor.getString(3));
			applicationinfo.setTc1(cursor.getString(4));
			applicationinfo.setTc2(cursor.getString(5));
			applicationinfo.setRu(cursor.getString(6));
			applicationinfo.setTn(cursor.getString(7));
			applicationinfo.setM(cursor.getString(8));
			return applicationinfo;
		}
		return null;
	}

	public long getDataCount(String tableName) {
		Cursor cursor = dbOpenHelper.getReadableDatabase().rawQuery("select count(		*) from " + tableName, null);
		cursor.moveToFirst();
		return cursor.getLong(0);
	}


	public void close() {
		dbOpenHelper.close();
	}

} 






  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android Studio 中创建多个的步骤如下: 1. 首先,在 Android Studio 中打开您的项目,并在项目的 app 文件夹中打开您的数据库帮助类。 2. 在您的数据库帮助类中,先创建一个的代码如下: ```java public class MyDatabaseHelper extends SQLiteOpenHelper { private static final String DATABASE_NAME = "mydatabase.db"; private static final String TABLE_NAME = "mytable"; private static final int DATABASE_VERSION = 1; public MyDatabaseHelper(Context context) { super(context, DATABASE_NAME, null, DATABASE_VERSION); } @Override public void onCreate(SQLiteDatabase db) { db.execSQL("CREATE TABLE " + TABLE_NAME + " (" + "id INTEGER PRIMARY KEY AUTOINCREMENT, " + "name TEXT NOT NULL, " + "age INTEGER NOT NULL," + "gender TEXT NOT NULL);"); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { db.execSQL("DROP TABLE IF EXISTS " + TABLE_NAME); onCreate(db); } } ``` 3. 然后,您可以通过类似如下的方式来创建另外一个: ```java public class MyDatabaseHelper extends SQLiteOpenHelper { private static final String DATABASE_NAME = "mydatabase.db"; private static final String TABLE_NAME = "mytable"; private static final String TABLE_NAME_2 = "mytable2"; private static final int DATABASE_VERSION = 1; public MyDatabaseHelper(Context context) { super(context, DATABASE_NAME, null, DATABASE_VERSION); } @Override public void onCreate(SQLiteDatabase db) { db.execSQL("CREATE TABLE " + TABLE_NAME + " (" + "id INTEGER PRIMARY KEY AUTOINCREMENT, " + "name TEXT NOT NULL, " + "age INTEGER NOT NULL," + "gender TEXT NOT NULL);"); db.execSQL("CREATE TABLE " + TABLE_NAME_2 + " (" + "id INTEGER PRIMARY KEY AUTOINCREMENT, " + "title TEXT NOT NULL, " + "description TEXT NOT NULL);"); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { db.execSQL("DROP TABLE IF EXISTS " + TABLE_NAME); db.execSQL("DROP TABLE IF EXISTS " + TABLE_NAME_2); onCreate(db); } } ``` 在这个示例中,我们定义了另一个的名称为 `mytable2`,并在 `onCreate` 方法中创建一个新的 SQL 语句来创建。在 `onUpgrade` 方法中,我们需要删除这两个并重新创建,以确保数据库版本升级时所有都被正确创建。 4. 最后,在您的应用程序中,您可以通过实例化数据库帮助类对象来访问这些: ```java MyDatabaseHelper dbHelper = new MyDatabaseHelper(this); SQLiteDatabase db = dbHelper.getWritableDatabase(); ``` 现在您就可以使用 `db` 实例来执行对数据库的读写操作,并且您可以在代码中使用 `TABLE_NAME` 或 `TABLE_NAME_2` 常量来引用这些
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值