導航:首頁 > 數據處理 > 安卓怎麼創建資料庫

安卓怎麼創建資料庫

發布時間: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對象。

閱讀全文

與安卓怎麼創建資料庫相關的資料

熱點內容
督促程序的范圍是什麼 瀏覽:699
康寶萊代理人一般多少錢 瀏覽:448
殖民地模擬器怎麼和商人交易 瀏覽:692
外匯交易平台哪裡學 瀏覽:850
如何把技術掌握在自己手裡 瀏覽:618
易代理怎麼開通供應商 瀏覽:473
杭州二手裝載機交易市場在哪裡 瀏覽:971
helloworld程序什麼意思 瀏覽:680
手指評殘程序如何走 瀏覽:834
代理台灣金門高粱酒怎麼樣 瀏覽:828
教育技術如何推動新時代創新 瀏覽:232
技術倉儲包括哪些 瀏覽:57
南寧市哪裡有批發花生市場 瀏覽:558
德州技術學校都有什麼專業 瀏覽:975
央視新聞直播帶貨有哪些產品 瀏覽:497
唯品會豐胸產品怎麼樣 瀏覽:811
中科院深圳先進技術研究院什麼級別 瀏覽:297
交易盈利怎麼操作 瀏覽:553
商丘學小吃技術去哪裡 瀏覽:449
貨幣前三是什麼交易所 瀏覽:472