导航:首页 > 数据处理 > 安卓怎么创建数据库

安卓怎么创建数据库

发布时间:2022-11-07 01:19:58

① android如何创建数据库后不能在oncreate()中创建表吗

你好!
是用这个创建的,但是要用SQLiteOpenHelper类的getReadableDatabase()或者getWritableDatabase()函数才能触发onCreate
如果对你有帮助,望采纳。

② android怎么在手机SD卡上创建SQLite数据库

在sd卡上创建数据库
通过android的sqliteopenhelper类的源码,可以看到sqliteopenhelper类的getwritabledatabase
这个接口实际上调用的是context的openorcreatedatabase方法,而这个方法是不支持带路径的数据库名
称的,也就是说,用这个方法创建的数据库只能放在/data/data/包名称/
目录下;要想在sd卡上创建数据库
,我们可以调用sqlitedatabase类的openorcreatedatabase方法,这个方法是支持带路径的数据库名称的。

③ android怎么在手机SD卡上创建SQLite数据库

在SD卡上创建数据库
通过android的SQLiteOpenHelper类的源码,可以看到SQLiteOpenHelper类的getWritableDatabase
这个接口实际上调用的是Context的openOrCreateDatabase方法,而这个方法是不支持带路径的数据库名
称的,也就是说,用这个方法创建的数据库只能放在/data/data/包名称/ 目录下;要想在SD卡上创建数据库
,我们可以调用SQLiteDatabase类的openOrCreateDatabase方法,这个方法是支持带路径的数据库名称的。
那么下面的问题就是如何判断是否存在SD卡,已经如何获取SD卡的路径了?
判断是否存在SD卡:
android.os.Environment.MEDIA_MOUNTED.equals(
android.os.Environment.getExternalStorageState());
获取SD卡路径:String dbPath=android.os.Environment.getExternalStorageDirectory()
.getAbsolutePath();
在SD卡上创建数据库方法如下:
String dbPath=android.os.Environment.getExternalStorageDirectory()
.getAbsolutePath()+"/database";
File dbp=new File(dbPath);
File dbf=new File(dbPath+"/"+"test.db");

if(!dbp.exists()){
dbp.mkdir();
}

//数据库文件是否创建成功
boolean isFileCreateSuccess=false;

if(!dbf.exists()){
try{
isFileCreateSuccess=dbf.createNewFile();
}
catch(IOException ioex){

}

}
else{

isFileCreateSuccess=true;
}
if(isFileCreateSuccess)
db = SQLiteDatabase.openOrCreateDatabase(dbf, mFactory);

为了简便起见,我们可以用上述方法重写SQLiteOpenHelper类的getWritableDatabase方法,
其他逻辑参照SQLiteOpenHelper类即可。最后别忘了,加入SD卡的读写权限:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>。

④ android中怎样在sqlite中创建一个数据库然后在该数据库中创建两个表

public class DBOpenHelper extends SQLiteOpenHelper {
private static final String DATABASENAME = "test.db"; //数据库名称
private static final int DATABASEVERSION = 1;//数据库版本,大于0

public DBOpenHelper(Context context) {
super(context, DATABASENAME, null, DATABASEVERSION);
}

@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("CREATE TABLE person (personid integer primary key autoincrement, name varchar(20), amount integer)");//创建表 person

db.execSQL("CREATE TABLE peson2(personid integer primary key autoincrement, name varchar(20), amount integer)");//创建表 person2
}
}
这个是Android默认的数据库操作类,可以可以获得数据库操作对象,第一次使用时会调用onCreate方法,创建表格。第二次进行将不会被重复调用。

⑤ 安卓怎么使用sqllite创建数据库

onCreate()仅在数据库文件不存在需要创建时调用,否则不调用。
onUpgrade() 数据库升级时调用 (也即要创建的版本高于当前版本,就会调用这个函数)
改进构造函数,若程序仅仅使用一个数据库,则可以将构造函数里面原本的四个参数在super()中默认三个,

DatabaseHelper dbh = new DatabaseHelper

⑥ 如何往android中添加数据库

一、新建外部SQLite数据库
(1)下载并安装 SQLite可视化管理工具(SQLite Expert Pro) v3.4.17 破解版
http://www.cr173.com/soft/36343.html
(2)将你手头上的数据放到EXCEL表格中,保存为CSV格式的数据
(3)在此工具中按照你现有的数据格式新建数据库和表,如数据库为:contact.db,表为employee
(4)通过此工具菜单栏中Import/Export下的Import text file(CSV,TSC)功能,将你现有的CSV数据导入到你新建的数据表中(主要目的是省的一个一个的录入了)
二、在eclipse中新建一个android app工程,并在新建的工程文件夹点右键new->folder,在res文件夹下新建raw文件夹(如果有就不用新建了)
三、用鼠标将新建的SQLite数据库文件contact.db拖动到新建工程的res下的raw文件下,出现提示,选择
四、程序代码
private static final String DATABASE_PATH = "/data/data/你的主程序包路径(如:com.szair.contact)/databases";
private static final int DATABASE_VERSION = 0;
private static final String DATABASE_NAME = "contact.db";
private static String outFileName = DATABASE_PATH + "/" + DATABASE_NAME;
try {
buildDatabase();//见下
} catch (Exception e) {
e.printStackTrace();
}
//SQLiteDatabase对象
SQLiteDatabase db=SQLiteDatabase.openDatabase(outFileName, null,SQLiteDatabase.NO_LOCALIZED_COLLATORS);
String t="SELECT 字段名1,字段名2 FROM employee WHERE **** ORDER BY ***";
Cursor c =db.rawQuery(t, null);
if(c.moveToFirst()){
for(int i=0;i
{
String zian1=c.getString(0);//字段1的数据
String zian2=c.getString(1);//字段1的数据
}
}
------------------------------------------------
//前面用到的buildDatabase方法
private void buildDatabase() throws Exception{
InputStream myInput = getResources().openRawResource(R.raw.sz_contact);
File file = new File(outFileName);
File dir = new File(DATABASE_PATH);
if (!dir.exists()) {
if (!dir.mkdir()) {
throw new Exception("创建失败");
}
}

if (!file.exists()) {
try {
OutputStream myOutput = new FileOutputStream(outFileName);

byte[] buffer = new byte[1024];
int length;
while ((length = myInput.read(buffer))>0){
myOutput.write(buffer, 0, length);
}
myOutput.close();
myInput.close();
} catch (Exception e) {
e.printStackTrace();
}

}
}
五、程序发布
按照以上方式,可以将外部建的SQLite数据库成功的发布出来

⑦ android stio用sqlite怎么创建数据库

1.使用intelij idea创建一个andorid项目

2.创建如下工具类:
MyDBHelper.java
package com.amos.android_database;

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

/**
* Created by amosli on 14-6-10.
*/
public class MyDBHelper extends SQLiteOpenHelper{
/**
* 创建数据库的构造方法
* @param context 应用程序上下文
* name 数据库的名字
* factory 查询数据库的游标工厂一般情况下用sdk默认的
* version 数据库的版本一般大于0
*/
public MyDBHelper(Context context) {
super(context, "test.db", null, 4);
}
private String tag = "MyDBHelper.class";
/**
* 在数据库第一次创建时会执行
* @param db
*/
@Override
public void onCreate(SQLiteDatabase db) {
Log.d(tag,"onCreate.....");
//创建一个数据库
db.execSQL("create table person (personid integer primary key autoincrement ,name varchar(30) )");

}

/**
* 更新数据的时候调用的方法
* @param db
* @param oldVersion
* @param newVersion
*/
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
Log.d(tag,"onUpgrade*******");
//增加一列
db.execSQL("alter table person add phone varchar(13) null");

}
}

MyActivity.java
package com.amos.android_database;

import android.app.Activity;
import android.os.Bundle;

public class MyActivity extends Activity {
/**
* Called when the activity is first created.
*/
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
MyDBHelper myDBHelper = new MyDBHelper(this);
myDBHelper.getReadableDatabase();
myDBHelper.close();

}
}

3.打开生成的test.db
1).下载安装SQLiteStudio(SQLite的可视化工具)
下载地址:http://www.sqlitestudio.pl/
安装:
chmod 777 sqlitestudio-2.1.5.bin

./sqlitestudio-2.1.5.bin

执行上面的linux命令,第一句是赋权限,第二句是打开工具
2)从avd中导出test.db

打开DDMS,从data/data/com.amos.andriod_database/databases下导出test.db
3).用sqlitestudio打开test.db
添加数据库

选择test.db

执行onCreate方法时创建的person表

执行onUpgrade方法更新语句的时候

⑧ 如何在android自带的sqlite3中创建一个数据库文件,请大虾门详细指导

Android中提供4种数据存储的方法:(1)SharedPreferences,用键值对的方式来存储数据,是一种轻量级的存储机制,可以存储一些属性等。(2)Files:文件输入输出流的方式存储数据,FileInputStream和FileOutputStream。在Android中,文件是一个应用程序私有的,一个应用程序无法读写其他应用程序的文件。写入SD卡除外。(3)SQLite(4)网络(这个不算吧~~~--!)。
SQLite:
(1)创建和打开数据库可以使用方法openOrCreateDatabase,它会自动去检测是否存在数据库,如果存在则打开,如果不存在则创建一个数据库;成功返回一个SQliteDatabase对象。(2)创建一张表通过SQL语句实现,调用sqliteDatabase对象的execSQL方法,执行创建表的SQL语句。
(3)向数据表中添加一条记录可以直接通过SQL语句实现,也可以使用ContentValue对象,ContentValue对象是一个Map,Key是字段名,Value是值。Cv.put(key,value);然后调用sqliteDatabase对象的
insert(tableName,null,cv)方法插入数据。
(4)删除数据可以直接执行SQL,也可以执行sqliteDatabase的delete方法。
(5)同理修改数据也是执行SQL或调用update方法,需要传入ContenValue的对象表示修改的内容。
(6)关闭数据库sqliteDatabase.close();
(7)删除指定表调用SQL语句即可。
(8)查询:在Android中查询数据是通过Cursor类来实现的,当我们使用SQLiteDatabase.query()方法时,会得到一个Cursor对象,Cursor对象指向的是每条数据。例如cur.moveToFirst();cur.moveToNext();等。在实际开发中,为了能够更好地管理和维护数据库,我们会封装一个继承自SQLiteOpenHelper类的数据库操作类。SQLiteOpenHelper的构造方法中分别需要传入Context、数据库名称、CursorFactory(一般默认null)、数据库版本号。在SQLiteOpenHelper中首先执行的是onCreate方法(当数据库第一次被创建时)。在构造函数中并没有真正创建数据库,而是调用getWriteableDatabase或者getReadableDatabase方法时才真正去创建数据库,并且返回一个SQLiteDatabase对象。

阅读全文

与安卓怎么创建数据库相关的资料

热点内容
德州技术学校都有什么专业 浏览:975
央视新闻直播带货有哪些产品 浏览:497
唯品会丰胸产品怎么样 浏览:811
中科院深圳先进技术研究院什么级别 浏览:297
交易盈利怎么操作 浏览:553
商丘学小吃技术去哪里 浏览:449
货币前三是什么交易所 浏览:472
如何代理新款酒 浏览:578
信息量大不敢想象怎么办 浏览:871
发信息拒收了怎么回事 浏览:348
亚太财险旗下代理公司有哪个 浏览:787
刚体转动数据保留多少位 浏览:40
微信上的配乐朗诵小程序叫什么 浏览:837
国际货运代理的经营范围包括哪些 浏览:570
收银机的程序在哪里 浏览:982
太原综合市场是什么意思 浏览:228
浏览器移动数据很慢为什么 浏览:526
数据库字段对应的实体类怎么写 浏览:96
连锁市场规划如何列名单 浏览:403
为什么给客户配置存款产品 浏览:694