導航:首頁 > 編程大全 > 安卓通過網路訪問資料庫

安卓通過網路訪問資料庫

發布時間:2023-08-02 23:08:50

Ⅰ 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訪問其他資料庫需要什麼許可權

android訪問其他資料庫需要什麼許可權

如果您需要讓某些登錄用戶具有不同的訪問許可權,請確保用戶資料庫表格包含一個特定的列,該列指定每個用戶的訪問許可權(「來賓」、「用戶」、「管理員」等)。每個用戶的訪問許可權應該由站點管理員在資料庫中輸入。
在大多數資料庫應用程序中,每當新建一個記錄時,可以將一個列設置為默認值。將該默認值設置為站點上最常用的訪問許可權(例如「來賓」);然後手動更改例外的情況(例如,將「來賓」更改為「管理員」)。用戶現在即可訪問所有管理員頁。
確保資料庫中的每個用戶都具有單一的訪問許可權(例如「來賓」或「管理員」),而不是多項許可權(例如「用戶、管理員」)。如果要為您的頁設置多項訪問許可權(例如,所有來賓和管理員都可以查看該頁),則在頁級別(而不是在資料庫級別)設置這些許可權。

訪問lync資料庫需要什麼許可權

安裝 Lync Server 2010 的用戶必須具有 Schema Admins 組許可權,當然還必須要具備 Domain Admins組許可權 和 Enterprise Admins組許可權。
1.安裝
2.安裝拓撲生成器
3.生成拓撲
然後選擇拓撲文件存放位置
主SIP域,一般為主域名 例如 contoso.
有沒有額外的域,如果沒有直接下一步
每個部署必須至少聚友一個站點。如果您的部署具有多個站點,以後可以使用「新建站點」向導添加其他站點。
定義一個相應版本的FQDN名稱
當前前端伺服器池中的伺服器FQDN名稱
勾選功能
安裝SQL伺服器的 FQDN名稱
定義一個共享文件夾,用於存放會議PPT等文件,注意:此共享不要在前端伺服器上。
公網域名
如果有,需要指定PSTN的網關IP地址
4. AD准備完成後,需要做兩方面的准備
1.需要把管理Lync的賬號加入 SCAdminitrator組 和 RTCUniversalServerAdmins 組
2.在DNS中添加A記錄
pool.contoso.
admin.contoso. 指向前端伺服器
meet.contoso. 會議
dialin.contoso. 電話撥入

android 怎麼訪問其他運用的資料庫

按照Android的流程,創建資料庫的程序應該提高一個Provider,這樣另外的程序就可以通過這個Provider來訪問這個資料庫了。

mysql創建資料庫需要什麼許可權

你都不是安全登錄的,沒有建庫的許可權,重新退出mysql,
在cmd下執行 mysql -u root -p密碼<img id="selectsearch-icon" src=:img../img/iknow/qb/select-search.png alt="搜索">

伺服器,ACC資料庫C盤需要什麼許可權?

許可權必須是系統管理員administrator的完全控制

如何直接用SQL語句訪問其他資料庫

select * from openrowset( 'SQLOLEDB ', 'sql伺服器名 ' '用戶名 ' '密碼 ',資料庫名.dbo.表名)

什麼是許可權?用戶訪問資料庫有哪些許可權?

許可權 是指為了保證職責的有效履行,任職者必須具備的,對某事項進行決策的范圍和程度。它常常用「具有批准……事項的許可權」來進行表達。例如,具有批准預算外5000元以內的禮品費支出的許可權。
只有在需要讓某些登錄用戶具有不同的訪問許可權時,該構造塊才是必需的。如果您只是要求用戶登錄,則不需要存儲訪問許可權。
如果您需要讓某些登錄用戶具有不同的訪問許可權,請確保用戶資料庫表格包含一個特定的列,該列指定每個用戶的訪問許可權(「來賓」、「用戶」、「管理員」等)。每個用戶的訪問許可權應該由站點管理員在資料庫中輸入。
在大多數資料庫應用程序中,每當新建一個記錄時,可以將一個列設置為默認值。將該默認值設置為站點上最常用的訪問許可權(例如「來賓」);然後手動更改例外的情況(例如,將「來賓」更改為「管理員」)。用戶現在即可訪問所有管理員頁。
確保資料庫中的每個用戶都具有單一的訪問許可權(例如「來賓」或「管理員」),而不是多項許可權(例如「用戶、管理員」)。如果要為您的頁設置多項訪問許可權(例如,所有來賓和管理員都可以查看該頁),則在頁級別(而不是在資料庫級別)設置這些許可權。

db2資料庫用戶建緩沖池需要什麼許可權

PrintPreviewDialog pPDlg;
exec_prefix='NONE'PACKAGE='libevent'
PACKAGE_BUGREPORT=''
PACKAGE_NAME=''
PACKAGE_STRING=''
PACKAGE_TARNAME=''
PACKAGE_URL=''
PACKAGE_VERSION=''
PATH_SEPARATOR=':'

Android資料庫許可權!

資料庫支持,無論生命線的大小每一個應用程序,除非你的應用程序只能處理簡單的數據,你需要一個資料庫系統來存儲你的結構化數據,使用SQLite資料庫,這是一個開源的Android,支持多操作系統的SQL資料庫廣泛應用於許多領域,如Mozilla Firefox是使用SQLite的存儲配置數據,iPhone還使用SQLite來存儲數據。
在Android中,您創建一個應用程序的資料庫,只有它可以訪問,其他應用程序無法訪問位於Android設備/數據/數據/ /資料庫文件夾中的資料庫,在這篇文章中,您將學習如何創建和使用在Android的資料庫。
SQLite資料庫
使用Eclipse創建一個Android項目,命名資料庫,如圖1:
中國1資料庫 - 使用Eclipse創建新項目的Android
創建最佳實踐DBAdapter資料庫的輔助類
操作是創建一個輔助類,它封裝了訪問資料庫的所有復雜性,調用代碼來講它是透明的,所以我創建了一個幫手DBAdapter類,創建,打開,關閉和使用SQLite資料庫它。
首先,在src /文件夾(在本實施例中的src / .learn2develop.Database)下一個DBAdapter.java文件中的溶液。
在DBAdapter.java文件要使用導入所有的命名空間:
- 軟體包.learn2develop.Databases;
中國進口android.content.ContentValues;
進口android.content.Context;
進口android.database.Cursor;
進口android.database.SQLException;
進口android.database.sqlite.SQLiteDatabase;
進口android.database.sqlite .SQLiteOpenHelper;
進口android.util.Log;
公共類DBAdapter
{}

中國接下來,創建一個資料庫,名為bookstitles,如圖所示領域。
中國2資料庫欄位酒店在DBAdapter.java文件,如清單1
文件清單1中定義的常量定義DBAdapter.java不斷
包.learn2develop.Database;

進口android.content.ContentValues;
進口android.content。語境;
進口android.database.Cursor;
進口android.database.SQLException;
進口android.database.sqlite.SQLiteDatabase;
進口android.database.sqlite.SQLiteOpenHelper;
進口android.util.Log;
公共類DBAdapter
{
公共靜態最後弦樂KEY_ROWID = _id;
公共靜態最後弦樂KEY_ISBN = ISBN;
公共靜態最後弦樂KEY_TITLE =稱號;
公共靜態最後弦樂KEY_PUBLISHER =發行;
私有靜態最後字元串變數= DBAdapter;
私有靜態最後弦樂DATABASE_NAME =書籍;
私有靜態最後弦樂DATABASE_TABLE =職稱;
私有靜態最終詮釋DATABASE_VERSION = 1;
私有靜態最後弦樂DATABASE_CREATE =
創建表的標題(_id整數主鍵自動增量,
+ ISBN文本不為空,標題文本不為空,
+出版商文字NOT NULL); ;
私人最終上下文語境;
}

DATABASE_CREATE常數包括標題表創建SQL語句。
在DBAdapter類,你可以擴展SQLiteOpenHelper類,這是一款Android輔助類,主要用於創建資料庫和版本管理。事實上,你可以覆蓋的onCreate()和onUpgrade()方法,如清單2所示清單2.
DBAdapter類,涵蓋了SQLiteOpenHelper的onCreate()和onUpgrade()方法登錄到到網擴展類 - 軟體包.learn2develop.Database;
中國進口的Android。 content.ContentValues;
進口android.content.Context;
進口android.database.Cursor;
進口android.database.SQLException;
進口android.database.sqlite.SQLiteDatabase;
進口android.database.sqlite.SQLiteOpenHelper;
進口android.util.Log;
公共類DBAdapter
{
公共靜態最後弦樂KEY_ROWID = _id;
公共靜態最後弦樂KEY_ISBN = ISBN;
公共靜態最後弦樂KEY_TITLE =稱號;
公共靜態最後弦樂KEY_PUBLISHER =發行;
私有靜態最後字元串變數= DBAdapter;
私有靜態最後弦樂DATABASE_NAME =書籍;
私有靜態最後弦樂DATABASE_TABLE =職稱;
私有靜態最終詮釋DATABASE_VERSION = 1;
私有靜態最後弦樂DATABASE_CREATE =
創建表的標題(_id整數主鍵自動增量,
+ ISBN文本不為空,標題文本不為空,
+出版商文字NOT NULL);;
私人最終上下文語境;
私人DatabaseHelper DBHelper;
私人SQLiteDatabase分貝;
公共DBAdapter(上下文CTX){

this.context = CTX;
DBHelper =新DatabaseHelper(上下文);
}
私有靜態類DatabaseHelper擴展SQLiteOpenHelper
{
DatabaseHelper(上下文環境){

超(背景下,DATABASE_NAME,空,DATABASE_VERSION);
}
覆蓋
公共無效的onCreate(SQLiteDatabase DB){

db.execSQL(DATABASE_CREATE);
}
覆蓋
公共無效onUpgrade(SQLiteDatabase分貝,INT oldVersion,
INT NEWVERSION){

Log.w(TAG,從版本升級資料庫?+ oldVersion
?+到
+ NEWVERSION +,這將銷毀所有舊的數據);
db.execSQL(「DROP TABLE IF EXISTS標題」);
的onCreate(DB);
}}

}

的onCreate()方法創建一個新的資料庫,onUpgrade()方法用於升級資料庫,它可以通過檢查DATABASE_VERSION常數值來定義?實現,為onUpgrade()方法,只是簡單地刪除表,然後只創建一個表。

Ⅲ 請問Android怎樣連接遠程MySQL資料庫

Android客戶端直接連接遠程資料庫的方法如下:

String result = "";
//首先使用NameValuePair封裝將要查詢的年數和關鍵字綁定
ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
nameValuePairs.add(new BasicNameValuePair("year","1980"));

//使用HttpPost封裝整個SQL語句
//使用HttpClient發送HttpPost對象
try{
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("http://example.com/getAllPeopleBornAfter.php");
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轉化為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解析成最終結果
try{
JSONArray jArray = new JSONArray(result);
for(int i=0;i<jArray.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開發中可以直接連接資料庫,但是實際中卻不建議這么做,應該使用伺服器端中轉下完成。

Ⅳ Android 開發。。。如何連接到伺服器上的mysql資料庫

1、打開Tableau軟體。

Ⅳ Android手機app 鏈接伺服器的mysql 讀取資料庫

手機是不能直接去連接你伺服器的mysql資料庫

請在你的服務端寫代碼去連接mysql數據吧

Mysql連接方法

1. 載入資料庫驅動:Class.forName("org.gjt.mm.mysql.Driver"); //載入資料庫驅動

String url = "jdbc:mysql://localhost:3306/test";

String user = "root";

String passowrd = "123456";

2. 獲取資料庫連接Connection con數=DriverManager.getConnection(url,user,password)

3. 獲取SQL執行器 PreparedStatement prepare = con.prepareStatement("SQL語句")

4. 執行SQL語句,得到結果集 ResultSet result = prepare.executeQuery();

while(result.next()){

//讀取結果

}

最後不要忘記導入jdbc驅動包

純工手打字,請採納哈


Ⅵ Android客戶端怎麼與伺服器資料庫連接

不能與資料庫連接的

Android客戶端不能直接與伺服器資料庫連接。資料庫是需要非常大的內存,安裝之後有好幾G,連接資料庫要有一個像SQLServer里的webservice,這樣的一個橋梁來間接訪問。就是在伺服器運行一個服務端程序,該服務端程序通過接收來自android客戶端的指令,對資料庫進行操作。

客戶端的http請求可以通過 HttpClient類實現,在anddroid 4.0之後,客戶端的網路請求已經不被允許在主線程中運行,所以還需注意另開啟一個子線程進行網路請求。

(6)安卓通過網路訪問資料庫擴展閱讀:

Android安全許可權機制:

Android默認設置下,所有應用都沒有許可權對其他應用、系統或用戶進行較大影響的操作。這其中包括讀寫用戶隱私數據(聯系人或電子郵件),讀寫其他應用文件,訪問網路或阻止設備待機等。安裝應用時,在檢查程序簽名提及的許可權,且經過用戶確認後,軟體包安裝器會給予應用許可權。

下載一款Android應用通常會要求如下的許可權:撥打電話、發送簡訊或彩信、修改/刪除SD卡上的內容、讀取聯系人的信息、讀取日程信的息,寫入日程數據、讀取電話狀態或識別碼、精確的(基於GPS)地理位置、模糊的(基於網路獲取)地理位置、創建藍牙連接、

還有對互聯網的完全訪問、查看網路狀態,查看WiFi狀態、避免手機待機、修改系統全局設置、讀取同步設定、開機自啟動、重啟其他應用、終止運行中的應用、設定偏好應用、震動控制、拍攝圖片等。

閱讀全文

與安卓通過網路訪問資料庫相關的資料

熱點內容
文件保存後在哪裡可以找到 瀏覽:478
docm是什麼文件 瀏覽:142
js可以設置emptytext 瀏覽:479
從數據字典中查詢具體是什麼表 瀏覽:608
觸摸屏通道導入總是出現文件路徑 瀏覽:363
怎麼給app改大圖標 瀏覽:289
怎麼新建資料庫用戶 瀏覽:449
win10家庭版文件夾共享 瀏覽:291
win10更改系統繁體 瀏覽:541
wifi密碼只有六位數 瀏覽:814
聯通app怎麼控制家裡的寬頻 瀏覽:567
貪食首飾升級材料 瀏覽:946
圍棋網路教學 瀏覽:212
java構造函數線程安全 瀏覽:151
蘋果時間怎麼跑到側面去了 瀏覽:34
微信動態表情噴血 瀏覽:318
ps部分文件損壞無法解壓怎麼辦 瀏覽:724
部落沖突4本對應升級表 瀏覽:180
廣數m01如何編程 瀏覽:892
支付寶釣魚網站源碼 瀏覽:704

友情鏈接