安卓连接mysql数据库,如何将Android应用程序连接到MySQL数据库

1,如何将Android应用程序连接到MySQL数据库1.首先需要安装MySQL Server 5.1和navicat for mysql 。这个安装是很简单的,网上很多教程,和安装一般软件差不多 。只有在安装MySQL Server 5.1时,要注意选择字符编码为gb2312(中文)那个选项 。【安卓连接mysql数据库,如何将Android应用程序连接到MySQL数据库】
2,android连接mysql数据库这个,不建议你用Android程序去直连MySQL数据库,不是做不到,而是我觉得这样做不好,出于安全等方面考虑,(这篇博文:http://www.ways2u.com/?post=197有实现方法),你的数据库地址,用户名密码,查询SQL什么的都存在程序里,很容易被反编译等方法看到 。我建议你和你那做网页前端的商量一下,让他们把表示层和数据层逻辑分开,数据层对应网页的表示层提供接口 , 同时在为你的Android手机端提供一个接口,简介访问数据库,这接口可以2端都保持一致,比如XML+RPC或者json等等,Android端也有现成的东西能直接用,既安全又省事 。
3,android怎么连接本地的mysql数据库android获取数据不是要从服务器上面去获取吗?而服务器的数据从哪里?肯定是是从数据库上去读取咯 。所以你用服务器去mysql数据库读取出数据!用android程序去直连mysql数据库 , 觉得这样做不好,出于安全等方面考虑 。数据库地址,用户名密码,查询sql什么的都存在程序里,很容易被反编译等方法看到 。建议把表示层和数据层逻辑分开 , 数据层对应网页的表示层提供接口,同时在为android手机端提供一个接口,简介访问数据库,这接口可以2端都保持一致,比如xml+rpc或者json等等,android端也有现成的东西能直接用 , 既安全又省事 。android 链接mysql数据库实例:package com.hl;import java.sql.drivermanager;import java.sql.resultset;import com.mysql.jdbc.connection;import com.mysql.jdbc.statement;import android.app.activity;import android.os.bundle;import android.view.view;import android.view.view.onclicklistener;import android.widget.button;import android.widget.textview;public class androidmsql extends activity@overridepublic void oncreate(bundle savedinstancestate)super.oncreate(savedinstancestate);setcontentview(r.layout.main);button btn=(button)findviewbyid(r.id.btn);btn.setonclicklistener(new onclicklistener()@overridepublic void onclick(view v)sqlcon();}});}private void msettext(string str)textview txt=(textview)findviewbyid(r.id.txt);txt.settext(str);}private void sqlcon()tryclass.forname("com.mysql.jdbc.driver");} catch (exception e)e.printstacktrace();}trystring url ="jdbc:mysql://192.168.142.128:3306/mysql?user=zzfeihua&password=12345&useunicode=true&characterencoding=utf-8";//链接数据库语句connection conn= (connection) drivermanager.getconnection(url); //链接数据库statement stmt=(statement) conn.createstatement(resultset.type_scroll_sensitive,resultset.concur_updatable);string sql="select * from user";//查询user表语句resultset rs=stmt.executequery(sql);//执行查询stringbuilder str=new stringbuilder();while(rs.next())str.append(rs.getstring(1)+"\n");}msettext(str.tostring());rs.close();
4,android怎么用JDBC方法连接mysql数据库1:mysql-connector-java-5.1.10-bin.jar导入2:编译会有警告 , 因为android和上面的jar不兼容,但不影响运行 。用android程序去直连mysql数据库,觉得这样做不好,出于安全等方面考虑 。数据库地址,用户名密码,查询sql什么的都存在程序里,很容易被反编译等方法看到 。建议把表示层和数据层逻辑分开,数据层对应网页的表示层提供接口 , 同时在为android手机端提供一个接口,简介访问数据库,这接口可以2端都保持一致,比如xml+rpc或者json等等 , android端也有现成的东西能直接用,既安全又省事 。android 链接mysql数据库实例:package com.hl;import java.sql.drivermanager;import java.sql.resultset;import com.mysql.jdbc.connection;import com.mysql.jdbc.statement;import android.app.activity;import android.os.bundle;import android.view.view;import android.view.view.onclicklistener;import android.widget.button;import android.widget.textview;public class androidmsql extends activity@overridepublic void oncreate(bundle savedinstancestate)super.oncreate(savedinstancestate);setcontentview(r.layout.main);button btn=(button)findviewbyid(r.id.btn);btn.setonclicklistener(new onclicklistener()@overridepublic void onclick(view v)sqlcon();}});}private void msettext(string str)textview txt=(textview)findviewbyid(r.id.txt);txt.settext(str);}private void sqlcon()tryclass.forname("com.mysql.jdbc.driver");} catch (exception e)e.printstacktrace();}trystring url ="jdbc:mysql://192.168.142.128:3306/mysql?user=zzfeihua&password=12345&useunicode=true&characterencoding=utf-8";//链接数据库语句connection conn= (connection) drivermanager.getconnection(url); //链接数据库statement stmt=(statement) conn.createstatement(resultset.type_scroll_sensitive,resultset.concur_updatable);string sql="select * from user";//查询user表语句resultset rs=stmt.executequery(sql);//执行查询stringbuilder str=new stringbuilder();while(rs.next())str.append(rs.getstring(1)+"\n");}msettext(str.tostring());rs.close();5,请问Android怎样连接远程MySQL数据库Android客户端直接连接远程MySQL数据库的方法如下:String result = "";//首先使用NameValuePair封装将要查询的年数和关键字绑定ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();nameValuePairs.add(new BasicNameValuePair("year","1980"));//使用HttpPost封装整个SQL语句//使用HttpClient发送HttpPost对象tryHttpClient 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转化为StringtryBufferedReader 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解析成最终结果tryJSONArray jArray = new JSONArray(result);for(int i=0;i<jArray.length();i++)JSONObject json_data = http://www.lisdn.com/gkrj/shjy/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开发中可以直接连接数据库,但是实际中却不建议这么做,应该使用服务器端中转下完成 。没直接连接过数据库 。我是连接的servlet然后给它查询语句,servlet查询后以xml形式返回数据 。安卓用HttpClient连接servlet,HttpClient使用详情百度有 。用android程序去直连mysql数据库,觉得这样做不好,出于安全等方面考虑 。数据库地址,用户名密码,查询sql什么的都存在程序里,很容易被反编译等方法看到 。建议把表示层和数据层逻辑分开,数据层对应网页的表示层提供接口,同时在为android手机端提供一个接口 , 简介访问数据库,这接口可以2端都保持一致,比如xml+rpc或者json等等,android端也有现成的东西能直接用,既安全又省事 。android 链接mysql数据库实例:package com.hl;import java.sql.drivermanager;import java.sql.resultset;import com.mysql.jdbc.connection;import com.mysql.jdbc.statement;import android.app.activity;import android.os.bundle;import android.view.view;import android.view.view.onclicklistener;import android.widget.button;import android.widget.textview;public class androidmsql extends activity@overridepublic void oncreate(bundle savedinstancestate)super.oncreate(savedinstancestate);setcontentview(r.layout.main);button btn=(button)findviewbyid(r.id.btn);btn.setonclicklistener(new onclicklistener()@overridepublic void onclick(view v)sqlcon();}});}private void msettext(string str)textview txt=(textview)findviewbyid(r.id.txt);txt.settext(str);}private void sqlcon()tryclass.forname("com.mysql.jdbc.driver");} catch (exception e)e.printstacktrace();}trystring url ="jdbc:mysql://192.168.142.128:3306/mysql?user=zzfeihua&password=12345&useunicode=true&characterencoding=utf-8";//链接数据库语句connection conn= (connection) drivermanager.getconnection(url); //链接数据库statement stmt=(statement) conn.createstatement(resultset.type_scroll_sensitive,resultset.concur_updatable);string sql="select * from user";//查询user表语句resultset rs=stmt.executequery(sql);//执行查询stringbuilder str=new stringbuilder();while(rs.next())str.append(rs.getstring(1)+"\n");}msettext(str.tostring());rs.close();

    推荐阅读