這種方式通常連接一個外部的數(shù)據(jù)庫,第一個參數(shù)就是數(shù)據(jù)庫文件,這個數(shù)據(jù)庫不是當(dāng)前項目中生成的,通常放在項目的Assets目錄下,當(dāng)然也可以在手機(jī)內(nèi),如上面參數(shù)那個目錄,前提是那個文件存在且你的程序有訪問權(quán)限。

成都創(chuàng)新互聯(lián)于2013年開始,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項目成都網(wǎng)站建設(shè)、成都網(wǎng)站制作網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元沽源做網(wǎng)站,已為上家服務(wù),為沽源各地企業(yè)和個人服務(wù),聯(lián)系電話:13518219792
另一種使用數(shù)據(jù)庫的方式是,自己創(chuàng)建數(shù)據(jù)庫并創(chuàng)建相應(yīng)的數(shù)據(jù)庫表,參考下面的代碼:
public class DatabaseHelper extends SQLiteOpenHelper {
//構(gòu)造,調(diào)用父類構(gòu)造,數(shù)據(jù)庫名字,版本號(傳入更大的版本號可以讓數(shù)據(jù)庫升級,onUpgrade被調(diào)用)
public DatabaseHelper(Context context) {
super(context, DatabaseConstant.DATABASE_NAME, null, DatabaseConstant.DATABASE_VERSION);
}
//數(shù)據(jù)庫創(chuàng)建時調(diào)用,里面執(zhí)行表創(chuàng)建語句.
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL(createVoucherTable());
}
//數(shù)據(jù)庫升級時調(diào)用,先刪除舊表,在調(diào)用onCreate創(chuàng)建表.
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("DROP TABLE IF EXISTS " + DatabaseConstant.TABLE_NAME);
onCreate(db);
}
//生成 創(chuàng)建表的SQL語句
private String createVoucherTable() {
StringBuffer sb = new StringBuffer();
sb.append(" CREATE TABLE ").append(DatabaseConstant.TABLE_NAME).append("( ").append(“ID”)
.append(" TEXT PRIMARY KEY, ")
.append(“USER_ID”).append(" INTEGER, ").append(“SMS_CONTENT”).append(" TEXT ) ");
return sb.toString();
}
} 繼承SQLiteOpenHelper并實現(xiàn)里面的方法.
之后:
//得到數(shù)據(jù)庫助手類
helper
=
new
DatabaseHelper(context);
//通過助手類,打開一個可讀寫的數(shù)據(jù)庫連接
SQLiteDatabase
database
=
helper.getReadableDatabase();
//查詢表中所有記錄
database.query(DatabaseConstant.TABLE_NAME,
null,
null,
null,
null,
null,
null);
不能與數(shù)據(jù)庫連接的
Android客戶端不能直接與服務(wù)器數(shù)據(jù)庫連接。數(shù)據(jù)庫是需要非常大的內(nèi)存,安裝之后有好幾G,連接數(shù)據(jù)庫要有一個像SQLServer里的webservice,這樣的一個橋梁來間接訪問。就是在服務(wù)器運(yùn)行一個服務(wù)端程序,該服務(wù)端程序通過接收來自android客戶端的指令,對數(shù)據(jù)庫進(jìn)行操作。
客戶端的http請求可以通過 HttpClient類實現(xiàn),在anddroid 4.0之后,客戶端的網(wǎng)絡(luò)請求已經(jīng)不被允許在主線程中運(yùn)行,所以還需注意另開啟一個子線程進(jìn)行網(wǎng)絡(luò)請求。
擴(kuò)展資料:
Android安全權(quán)限機(jī)制:
Android默認(rèn)設(shè)置下,所有應(yīng)用都沒有權(quán)限對其他應(yīng)用、系統(tǒng)或用戶進(jìn)行較大影響的操作。這其中包括讀寫用戶隱私數(shù)據(jù)(聯(lián)系人或電子郵件),讀寫其他應(yīng)用文件,訪問網(wǎng)絡(luò)或阻止設(shè)備待機(jī)等。安裝應(yīng)用時,在檢查程序簽名提及的權(quán)限,且經(jīng)過用戶確認(rèn)后,軟件包安裝器會給予應(yīng)用權(quán)限。
下載一款A(yù)ndroid應(yīng)用通常會要求如下的權(quán)限:撥打電話、發(fā)送短信或彩信、修改/刪除SD卡上的內(nèi)容、讀取聯(lián)系人的信息、讀取日程信的息,寫入日程數(shù)據(jù)、讀取電話狀態(tài)或識別碼、精確的(基于GPS)地理位置、模糊的(基于網(wǎng)絡(luò)獲取)地理位置、創(chuàng)建藍(lán)牙連接、
還有對互聯(lián)網(wǎng)的完全訪問、查看網(wǎng)絡(luò)狀態(tài),查看WiFi狀態(tài)、避免手機(jī)待機(jī)、修改系統(tǒng)全局設(shè)置、讀取同步設(shè)定、開機(jī)自啟動、重啟其他應(yīng)用、終止運(yùn)行中的應(yīng)用、設(shè)定偏好應(yīng)用、震動控制、拍攝圖片等。
參考資料來源:百度百科——Android
Android客戶端直接連接遠(yuǎn)程MySQL數(shù)據(jù)庫的方法如下:
String result = "";
//首先使用NameValuePair封裝將要查詢的年數(shù)和關(guān)鍵字綁定
ArrayListNameValuePair nameValuePairs = new ArrayListNameValuePair();
nameValuePairs.add(new BasicNameValuePair("year","1980"));
//使用HttpPost封裝整個SQL語句
//使用HttpClient發(fā)送HttpPost對象
try{
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("");
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
HttpResponse response = httpclient.execute(httppost);
HttpEntity entity = response.getEntity();
InputStream is = entity.getContent();
}catch(Exception e){
Log.e("log_tag", "Error in http connection "+e.toString());
}
//將HttpEntity轉(zhuǎn)化為String
try{
BufferedReader reader = new BufferedReader(new InputStreamReader(is,"iso-8859-1"),8);
StringBuilder sb = new StringBuilder();
String line = null;
while ((line = reader.readLine()) != null) {
sb.append(line + "\n");
}
is.close();
result=sb.toString();
}catch(Exception e){
Log.e("log_tag", "Error converting result "+e.toString());
}
//將String通過JSONArray解析成最終結(jié)果
try{
JSONArray jArray = new JSONArray(result);
for(int i=0;ijArray.length();i++){
JSONObject json_data = jArray.getJSONObject(i);
Log.i("log_tag","id: "+json_data.getInt("id")+
", name: "+json_data.getString("name")+
", sex: "+json_data.getInt("sex")+
", birthyear: "+json_data.getInt("birthyear")
);
}
}
}catch(JSONException e){
Log.e("log_tag", "Error parsing data "+e.toString());
}
雖然Android開發(fā)中可以直接連接數(shù)據(jù)庫,但是實際中卻不建議這么做,應(yīng)該使用服務(wù)器端中轉(zhuǎn)下完成。
通過cmd可對數(shù)據(jù)庫進(jìn)行訪問,現(xiàn)在開發(fā)android一般都用的eclipse+adt+sdk;進(jìn)入cmd輸入adb shell ,然后 cd /data/data 再ls 顯示所有的包名,cd 到你的包名,然后 cd databases 再ls 顯示你的數(shù)據(jù)庫名 ,最后 sqlite3 數(shù)據(jù)庫名 ,更多查看安卓巴士:
用Eclipse開發(fā)android,怎么連接到數(shù)據(jù)庫,解決辦法:
1.先將安卓手機(jī)連接到電腦上,安裝驅(qū)動(應(yīng)該是自動安裝并連接的),根據(jù)提示點擊安裝即可。安裝之后呢,右擊“計算機(jī)”—“管理”—–“設(shè)備管理器”中可以看到Android USB Devices。
2.打開Eclipse,在菜單中“windows”—“show view”—-選擇“Devices”(有時候device在other→android里才能找到)然后在Eclipse中的下面就能看到你的手機(jī)已經(jīng)連接上了。
3.創(chuàng)建一個Android項目,例如Helloword;運(yùn)行該程序,右鍵點擊項目名稱,選擇“運(yùn)行方式”—“Android Application”彈出窗口
4.選擇第一項,就可以用手機(jī)調(diào)試了。點確定即可。這時候你會發(fā)現(xiàn)你的手機(jī)已經(jīng)成功運(yùn)行你編寫的APP。
第二種辦法:
通過cmd可對數(shù)據(jù)庫進(jìn)行訪問,現(xiàn)在開發(fā)android一般都用的eclipse+adt+sdk。
進(jìn)入cmd輸入adbshell ,然后cd /data/data 再ls 顯示所有的包名,cd 到你的包名,然后 cd databases再ls顯示你的數(shù)據(jù)庫名 ,
最后sqlite3數(shù)據(jù)庫名 就可以對數(shù)據(jù)庫進(jìn)行操作了。
新聞標(biāo)題:android連接數(shù)據(jù)庫,androidstudio連接數(shù)據(jù)庫
網(wǎng)站路徑:http://chinadenli.net/article14/dsidsge.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)建站、全網(wǎng)營銷推廣、網(wǎng)站營銷、標(biāo)簽優(yōu)化、面包屑導(dǎo)航、網(wǎng)頁設(shè)計公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)