androidmysql資料庫文件
有點多請耐心看完。
希望能幫助你,還請及時採納謝謝。
一.前言
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平台如何上訪問mysql資料庫
直接使用普通的 java 資料庫連接方式即可。
❸ 怎樣讓Mysql資料庫與android系統中的SQLite資料庫進行數據同步
1、
自己寫一個方法,點擊或者啟動的時候,採用jdbc一條條的取數據來同步。如果有時間戳的列,那麼你很好同步。
2.
我們採用的是,local和伺服器都採用sqllite。需要同步的時候,直接把伺服器的db文件給拷貝下來,放到local就可以了。至於提交到伺服器。看你自己的設置了。取出來再jdbc傳上去吧
❹ 怎樣使Android程序調用mysql資料庫裡面的數據
1.首先需要安裝MySQLServer5.1和navicatformysql。這個安裝是很簡單的,網上很多教程,和安裝一般軟體差不多。只有在安裝MySQLServer5.1時,要注意選擇字元編碼為gb2312(中文)那個選項。
2.使用navicatformysql導入數據文件
a打開navicatformysql,和localhost本地資料庫連接,就可以看到剛才建立的資料庫和表,
b可以導入本地的txt數據文件,注意保持格式正確,
c下面一步要注意一下,如果資料庫中有中文數據,編碼格式一定要選擇是中文的GB2312,
d然後間隔符為空格(根據txt中的具體情況來定),
e並選擇目標表,將每一列一一對應,即可導入。
❺ Android 開發。。。如何連接到伺服器上的mysql資料庫
1、打開Tableau軟體。
❻ 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手機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驅動包
純工手打字,請採納哈