今天给大家介绍如何在Android系统通过php连接MySQL?在Android系统通过php连接mysql有两种方法,具体是怎样的流程,请看下面例子。
1.通过MySQL在windows下的配置中介绍第二种方法,在服务器机器上配置php和mysql环境,譬如我的服务器机器ip为:10.141.249.136
2.新建在test数据库下新建一个teacher表,表的内容如下:
Android通过PHP连接MySQL(读取)
3.在服务器机器上的phpnow安装目录E:\\PHPnow-1.5.5\\htdocs下新建一个test.php文件,文件内容如下:
$link=mysql_connect("127.0.0.1","root","123456");
mysql_query("SETNAMESutf8");
mysql_select_db("test",$link);
$sql=mysql_query("select*fromteacher",$link);
while($row=mysql_fetch_assoc($sql))
$output[]=$row;
print(json_encode($output));
mysql_close();
?>
4.新建一个AndroidjavaProject
需要修改的是一下三个文件:AndroidTestActivity.java、main.xml、AndroidManifest.xml
//AndroidTestActivity.java
packagecom.knight.android.test;//根据实际的工程需要,修改包的名称
importjava.io.BufferedReader;
importjava.io.InputStream;
importjava.io.InputStreamReader;
importjava.util.ArrayList;
importorg.apache.http.HttpEntity;
importorg.apache.http.HttpResponse;
importorg.apache.http.NameValuePair;
importorg.apache.http.client.HttpClient;
importorg.apache.http.client.methods.HttpGet;
importorg.apache.http.impl.client.DefaultHttpClient;
importorg.json.JSONArray;
importorg.json.JSONException;
importorg.json.JSONObject;
importandroid.app.Activity;
importandroid.net.ParseException;
importandroid.os.Bundle;
importandroid.util.Log;
importandroid.view.View;
importandroid.widget.Button;
importandroid.widget.EditText;
publicclassAndroidTestActivityextendsActivity{
JSONArrayjArray;
Stringresult=null;
InputStreamis=null;
StringBuildersb=null;
@Override
publicvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Buttonb1=(Button)findViewById(R.id.button1);
b1.setOnClickListener(newButton.OnClickListener(){
@Override
publicvoidonClick(Viewv){
//TODOAuto-generatedmethodstub
EditTexttv=(EditText)findViewById(R.id.editView);
ArrayList
//httpget
try{
HttpClienthttpclient=newDefaultHttpClient();
HttpGethttpget=newHttpGet(
"http://10.141.249.136/test.php");
HttpResponseresponse=httpclient.execute(httpget);
HttpEntityentity=response.getEntity();
is=entity.getContent();
}catch(Exceptione){
Log.e("log_tag","Errorinhttpconnection"+e.toString());
}
//convertresponsetostring
try{
BufferedReaderreader=newBufferedReader(
newInputStreamReader(is,"iso-8859-1"),8);
sb=newStringBuilder();
sb.append(reader.readLine()+"\\n");
Stringline="0";
while((line=reader.readLine())!=null){
sb.append(line+"\\n");
}
is.close();
result=sb.toString();
}catch(Exceptione){
Log.e("log_tag","Errorconvertingresult"+e.toString());
}
//paringdata
intct_id;
Stringct_name;
try{
jArray=newJSONArray(result);
JSONObjectjson_data=null;
for(inti=0;i json_data=jArray.getJSONObject(i); ct_id=json_data.getInt("id"); ct_name=json_data.getString("name"); tv.append(ct_name+"\\n"); } }catch(JSONExceptione1){ //Toast.makeText(getBaseContext(),"NoCityFound" //,Toast.LENGTH_LONG).show(); }catch(ParseExceptione1){ e1.printStackTrace(); } } }); } } layout/main.xml android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical">
¥798.00
¥199.00
¥199.00
¥65.00¥180.00
¥29.90