當前位置:首頁 » 數據倉庫 » android建立資料庫
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

android建立資料庫

發布時間: 2022-10-03 11:42:36

『壹』 Android創建資料庫需要做哪些事情

創建一個類繼承資料庫幫助類,在其中寫資料庫創建,更新方法

『貳』 Android 創建資料庫的幾種方法

Android提供了5種方式來讓用戶保存持久化應用程序數據。根據自己的需求來做選擇,比如數據是否是應用程序私有的,是否能被其他程序訪問,需要多少數據存儲空間等,分別是:

①使用SharedPreferences存儲數據

②文件存儲數據

sqlite資料庫存儲數據

④使用ContentProvider存儲數據

⑤網路存儲數據

『叄』 如何在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對象。

『肆』 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 怎麼創建資料庫

SQLiteDatabase db=context.openOrCreateDatabase("/sdcard/abc.db", Context.MODE_PRIVATE, null);

db.execSQL("CREATE TABLE student(name varchar(20), class varchar(10) )");

請參考例子

『陸』 android怎麼鏈接資料庫mysql

有點多請耐心看完。
希望能幫助你,還請及時採納謝謝。
一.前言

android連接資料庫的方式有兩種,第一種是通過連接伺服器,再由伺服器讀取資料庫來實現數據的增刪改查,這也是我們常用的方式。第二種方式是android直接連接資料庫,這種方式非常耗手機內存,而且容易被反編譯造成安全隱患,所以在實際項目中不推薦使用。

二.准備工作

1.載入外部jar包

在Android工程中要使用jdbc的話,要導入jdbc的外部jar包,因為在Java的jdk中並沒有jdbc的api,我使用的jar包是mysql-connector-java-5.1.18-bin.jar包,網路上有使用mysql-connector-java-5.1.18-bin.jar包的,自己去用的時候發現不兼容,所以下載了比較新版本的,jar包可以去官網下載,也可以去網路,有很多前人們上傳的。

2.導入jar包的方式

方式一:

可以在項目的build.gradle文件中直接添加如下語句導入

compile files('libs/mysql-connector-java-5.1.18-bin.jar')
方式二:下載jar包復制到項目的libs目錄下,然後右鍵復制過來的jar包Add as libs

三.建立資料庫連接

protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_jdbc);
new Thread(runnable).start();
}

Handler myHandler=new Handler(){

public void handleMessage(Message msg) {
// TODO Auto-generated method stub
super.handleMessage(msg);
Bundle data=new Bundle();
data=msg.getData();

//System.out.println("id:"+data.get("id").toString()); //輸出第n行,列名為「id」的值
Log.e("TAG","id:"+data.get("id").toString());
TextView tv= (TextView) findViewById(R.id.jdbc);

//System.out.println("content:"+data.get("content").toString());
}
};

Runnable runnable=new Runnable() {
private Connection con = null;

@Override
public void run() {
// TODO Auto-generated method stub
try {
Class.forName("com.mysql.jdbc.Driver");
//引用代碼此處需要修改,address為數據IP,Port為埠號,DBName為數據名稱,UserName為資料庫登錄賬戶,Password為資料庫登錄密碼
con =
//DriverManager.getConnection("jdbc:mysql://192.168.1.202:3306/b2b", "root", "");
DriverManager.getConnection("jdbc:mysql://http://192.168.1.100/phpmyadmin/index.php:8086/b2b",
UserName,Password);

} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

try {
testConnection(con); //測試資料庫連接
} catch (java.sql.SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

public void testConnection(Connection con1) throws java.sql.SQLException {
try {
String sql = "select * from ecs_users"; //查詢表名為「oner_alarm」的所有內容
Statement stmt = con1.createStatement(); //創建Statement
ResultSet rs = stmt.executeQuery(sql); //ResultSet類似Cursor

//<code>ResultSet</code>最初指向第一行
Bundle bundle=new Bundle();
while (rs.next()) {
bundle.clear();
bundle.putString("id",rs.getString("userid"));
//bundle.putString("content",rs.getString("content"));
Message msg=new Message();
msg.setData(bundle);
myHandler.sendMessage(msg);
}

rs.close();
stmt.close();
} catch (SQLException e) {

} finally {
if (con1 != null)
try {
con1.close();
} catch (SQLException e) {}
}
}
};

注意:

在Android4.0之後,不允許在主線程中進行比較耗時的操作(連接資料庫就屬於比較耗時的操作),需要開一個新的線程來處理這種耗時的操作,沒新線程時,一直就是程序直接退出,開了一個新線程處理直接,就沒問題了。

當然,連接資料庫是需要網路的,千萬別忘了添加訪問網路許可權:

<uses-permission android:name=」android.permission.INTERNET」/>

四.bug點

1.導入的jar包一定要正確

2.連接資料庫一定要開啟新線程

3.資料庫的IP一定要是可以ping通的,區域網地址手機是訪問不了的

4.資料庫所在的伺服器是否開了防火牆,阻止了訪問
————————————————
版權聲明:本文為CSDN博主「shuaiyou_comon」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/shuaiyou_comon/article/details/75647355

『柒』 如何往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資料庫怎麼建立

如果要操作一些簡單的數據的話,用安卓手機自帶的SQLite資料庫就完全可以實現,SQLite是輕量級資料庫;如果操作大型的資料庫如Sql Server,就要聯網通過Web Service進行操作了。

『玖』 android怎麼在手機SD卡上創建SQLite資料庫

在sd卡上創建資料庫
通過android的sqliteopenhelper類的源碼,可以看到sqliteopenhelper類的getwritabledatabase
這個介面實際上調用的是context的openorcreatedatabase方法,而這個方法是不支持帶路徑的資料庫名
稱的,也就是說,用這個方法創建的資料庫只能放在/data/data/包名稱/
目錄下;要想在sd卡上創建資料庫
,我們可以調用sqlitedatabase類的openorcreatedatabase方法,這個方法是支持帶路徑的資料庫名稱的。