Android與伺服器資料庫
⑴ 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 開發。。。如何連接到伺服器上的mysql資料庫
1、首先輸入代碼
public void SendByHttpClient(final String id, final String pw){
new Thread(new Runnable() {
@Override
public void run() {
try {
HttpClient httpclient=new DefaultHttpClient();
HttpPost httpPost=new HttpPost("http://web應用部署伺服器上的IP地址:/HttpClientDemo/Login");//伺服器地址,指向Servlet
List<NameValuePair> params=new ArrayList<NameValuePair>();//將id和pw裝入list
params.add(new BasicNameValuePair("ID",id));
params.add(new BasicNameValuePair("PW",pw));
final UrlEncodedFormEntity entity=new UrlEncodedFormEntity(params,"utf-8");//以UTF-8格式發送
httpPost.setEntity(entity);
HttpResponse httpResponse= httpclient.execute(httpPost);
if(httpResponse.getStatusLine().getStatusCode()==200)//在200毫秒之內接收到返回值
⑶ 如何實現android客戶端與服務端數據同步
android客戶端不能直接與伺服器資料庫連接,拿sqlserver來說,安裝之後有幾個G那麼大,android程序是跑在手機上的,想讓程序直接訪問sqlserver,那手機需要非常大的內存。但是可以通過webservice這樣一個橋梁來間接訪問SQLServer。
即在伺服器運行一個服務端程序,該服務端程序通過接收來自android客戶端的指令,對資料庫進行操作。客戶端與服務端直接的數據傳輸主要通過http協議發送和接收json數據或者xml數據,服務端接收到客戶端的json數據之後,進行json解析,再按一定的邏輯對資料庫進行增、刪、改、查。客戶端的http請求可以通過 HttpClient類實現,在anddroid 4.0之後,客戶端的網路請求已經不被允許在主線程中運行,所以題主還需注意另開啟一個子線程進行網路請求。
⑷ Android客戶端怎麼與伺服器資料庫連接
不能與資料庫連接的
Android客戶端不能直接與伺服器資料庫連接。資料庫是需要非常大的內存,安裝之後有好幾G,連接資料庫要有一個像SQLServer里的webservice,這樣的一個橋梁來間接訪問。就是在伺服器運行一個服務端程序,該服務端程序通過接收來自android客戶端的指令,對資料庫進行操作。
客戶端的http請求可以通過 HttpClient類實現,在anddroid 4.0之後,客戶端的網路請求已經不被允許在主線程中運行,所以還需注意另開啟一個子線程進行網路請求。
(4)Android與伺服器資料庫擴展閱讀:
Android安全許可權機制:
Android默認設置下,所有應用都沒有許可權對其他應用、系統或用戶進行較大影響的操作。這其中包括讀寫用戶隱私數據(聯系人或電子郵件),讀寫其他應用文件,訪問網路或阻止設備待機等。安裝應用時,在檢查程序簽名提及的許可權,且經過用戶確認後,軟體包安裝器會給予應用許可權。
下載一款Android應用通常會要求如下的許可權:撥打電話、發送簡訊或彩信、修改/刪除SD卡上的內容、讀取聯系人的信息、讀取日程信的息,寫入日程數據、讀取電話狀態或識別碼、精確的(基於GPS)地理位置、模糊的(基於網路獲取)地理位置、創建藍牙連接、
還有對互聯網的完全訪問、查看網路狀態,查看WiFi狀態、避免手機待機、修改系統全局設置、讀取同步設定、開機自啟動、重啟其他應用、終止運行中的應用、設定偏好應用、震動控制、拍攝圖片等。
⑸ android APP如何連接伺服器上的SQL資料庫,直接在手機上查詢、更新資料庫信息
後台操作資料庫的增刪改查,然後寫成介面,android端來調用介面,返回數據顯示就ok了
⑹ Android中怎麼通過與伺服器相連達到載入數據的功能伺服器和資料庫怎麼結合起來
這個需要有後台系統
Android通過後台系統上的介面
調用後台服務
然後後台服務再調用資料庫
然後後台服務把數據通過介面再傳回到Android端
⑺ Android 開發。。。如何連接到伺服器上的mysql資料庫
1、打開Tableau軟體。
⑻ Android一般採用什麼資料庫
Android一般採用sqlite資料庫作為數據存儲方案。
通常的資料庫有關系型數據如:ms ql ,mysql,oracle等,非關系型nosql資料庫 如mongodb,redis
android作為手機端的手機操作系統,是無法直接操作大型的關系型或是no sql類型的資料庫的。
從你的應用描述中景點等信息都可以選擇存儲在sqlite中。
但是圖片這些信息還是建議你存儲到伺服器上,以文件的形式存儲。
還有一種方式是在伺服器中使用任何的關系型和非關系型資料庫存儲你的所有數據,但是你的android應用需要通過api去訪問你的景點圖片信息。
⑼ 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