网站分享插件怎么做,地产公司网站建设,开发网站建设公司,百度seo按天计费因为最近在更新我的项目#xff0c;就想着把自己在项目中用到的一些的简单的与网络交互的方法总结一下#xff0c;所以最近Android网络编程方面的博文会比较多一些#xff0c;我尽量以最简单的方法给大家分享#xff0c;让大家明白易懂。如果有什么不对的地方#xff0c;还… 因为最近在更新我的项目就想着把自己在项目中用到的一些的简单的与网络交互的方法总结一下所以最近Android网络编程方面的博文会比较多一些我尽量以最简单的方法给大家分享让大家明白易懂。如果有什么不对的地方还请大家留言指出。 这次是利用PHP操作MySql将Android上面输入的数据插入到MySql中这里我已经给大家写好了PHP端的代码如果大家想要自己测试只需要将php端的代码复制即可Android端的代码得换包。OK下面我先给大家贴出来效果图 Android端 MySql数据库 执行程序之后的数据库 Android端的代码 MainActivity类 1 package com.example.insertphp;2 3 import java.util.ArrayList;4 import java.util.List;5 6 import org.apache.http.NameValuePair;7 import org.apache.http.message.BasicNameValuePair;8 import org.json.JSONObject;9
10 import android.app.Activity;
11 import android.os.Bundle;
12 import android.os.StrictMode;
13 import android.util.Log;
14 import android.view.View;
15 import android.view.View.OnClickListener;
16 import android.widget.Button;
17 import android.widget.EditText;
18
19 public class MainActivity extends Activity {
20
21 //声明接口地址
22 private String url http://10.17.64.8:8080/testregister/register.php;
23
24 private String a;
25 private String b;
26
27 private EditText et1;
28 private EditText et2;
29 private Button btn;
30
31
32
33 Override
34 protected void onCreate(Bundle savedInstanceState) {
35 super.onCreate(savedInstanceState);
36 setContentView(R.layout.activity_main);
37
38 et1 (EditText) findViewById(R.id.edtv);
39 et2 (EditText) findViewById(R.id.edt);
40 btn (Button) findViewById(R.id.bt);
41
42 btn.setOnClickListener(new OnClickListener() {
43
44 Override
45 public void onClick(View arg0) {
46
47 ListNameValuePair params new ArrayListNameValuePair();
48 //获取输入框中的内容
49 a et1.getText().toString();
50 b et2.getText().toString();
51
52 //替换键值对这里的键必须和接口中post传递的键一致
53 params.add(new BasicNameValuePair(name, a));
54 params.add(new BasicNameValuePair(password, b));
55
56 JSONParser jsonParser new JSONParser();
57
58 try{
59 JSONObject json jsonParser.makeHttpRequest(url,POST, params);
60 Log.v(uploadsucceed, uploadsucceed);
61
62 }catch(Exception e){
63 e.printStackTrace();
64 }
65
66
67 System.out.println(输入的第一个内容 a);
68 System.out.println(输入的第二个内容 b);
69
70 }
71 });
72
73 //下面的代码是必须加上的具体的意义还需要大家去探索吧这里不是主要讲的
74
75 StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder()
76 .detectDiskReads()
77 .detectDiskWrites()
78 .detectNetwork() // or .detectAll() for all detectable problems
79 .penaltyLog()
80 .build());
81
82 StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder()
83 .detectLeakedSqlLiteObjects()
84 .detectLeakedClosableObjects()
85 .penaltyLog()
86 .penaltyDeath()
87 .build());
88
89 }
90
91 } 注意这里的接口地址是我个人的本地服务器的地址你如果在自己电脑上测试必须更改地址查看自己本地的地址方法:win键R 然后输入cmd,之后在执行框中输入ipconfig/all在执行之后的结果中招IPv4就可以了。testregister是我的项目包register.php是我的php文件。 特别注意在将数据添加在list中时键值对中的键名必须与接口中POST传递的名称一致才可以不然会出现空数据的情况。 下面的代码是使用网络编程连接服务端的其中里面代码的意义我在http://www.cnblogs.com/bingbingliang-xiaomonv/p/5247223.html已经介绍过。 JSONParser类代码 1 package com.example.insertphp;2 3 import java.io.BufferedReader;4 import java.io.IOException;5 import java.io.InputStream;6 import java.io.InputStreamReader;7 import java.io.UnsupportedEncodingException;8 import java.util.List;9
10 import org.apache.http.HttpEntity;
11 import org.apache.http.HttpResponse;
12 import org.apache.http.NameValuePair;
13 import org.apache.http.client.ClientProtocolException;
14 import org.apache.http.client.entity.UrlEncodedFormEntity;
15 import org.apache.http.client.methods.HttpPost;
16 import org.apache.http.impl.client.DefaultHttpClient;
17 import org.apache.http.protocol.HTTP;
18 import org.json.JSONException;
19 import org.json.JSONObject;
20
21 import android.util.Log;
22
23 public class JSONParser {
24
25 static InputStream is null;
26 static JSONObject jObj null;
27 static String json ;
28 // constructor
29 public JSONParser() {
30 }
31 public JSONObject makeHttpRequest(String url, String method,
32 ListNameValuePair params) {
33 // Making HTTP request
34 try {
35 //使用POST请求
36 DefaultHttpClient httpClient new DefaultHttpClient();
37 HttpPost httpPost new HttpPost(url);
38 httpPost.setEntity(new UrlEncodedFormEntity(params,HTTP.UTF_8));
39 HttpResponse httpResponse httpClient.execute(httpPost);
40 HttpEntity httpEntity httpResponse.getEntity();
41 is httpEntity.getContent();
42 } catch (UnsupportedEncodingException e) {
43 e.printStackTrace();
44 } catch (ClientProtocolException e) {
45 e.printStackTrace();
46 } catch (IOException e) {
47 e.printStackTrace();
48 }
49 try {
50 BufferedReader reader new BufferedReader(new InputStreamReader(
51 is, UTF-8));
52 StringBuilder sb new StringBuilder();
53 String line null;
54 while ((line reader.readLine()) ! null) {
55 sb.append(line \n);
56 }
57 is.close();
58 json sb.toString();
59 } catch (Exception e) {
60 Log.e(Buffer Error, Error converting result e.toString());
61 Log.d(json, json.toString());
62 }
63 //转变为Json类型
64 try {
65 jObj new JSONObject(json);
66 } catch (JSONException e) {
67 Log.e(JSON Parser, Error parsing data e.toString());
68 }
69 // return JSON String
70 return jObj;
71 }
72
73 } 注意必要忘了在配置文件添加访问网络权限的代码 1 uses-permission android:nameandroid.permission.INTERNET/ 布局代码XML: 1 LinearLayout xmlns:androidhttp://schemas.android.com/apk/res/android2 xmlns:toolshttp://schemas.android.com/tools3 android:idid/LinearLayout14 android:layout_widthmatch_parent5 android:layout_heightmatch_parent6 android:orientationvertical7 tools:context.MainActivity 8 9
10 EditText
11 android:idid/edtv
12 android:layout_widthmatch_parent
13 android:layout_heightwrap_content
14 android:ems10
15
16 requestFocus /
17 /EditText
18
19 EditText
20 android:idid/edt
21 android:layout_widthmatch_parent
22 android:layout_heightwrap_content
23 android:ems10 /
24
25 Button
26 android:idid/bt
27 android:layout_widthwrap_content
28 android:layout_heightwrap_content
29 android:text提交 /
30
31 /LinearLayout 服务端代码 Conn.php连接数据库的代码 1 ?php2 //连接本地数据库localhost以及数据库账户root密码为空3 $con mysql_connect(localhost,root,);4 5 //设置字符集6 mysql_query(SET NAMES utf8);7 mysql_query(SET CHARACTER SET utf8);8 9 if(!$con){
10 die(mysql_error());
11 }
12 mysql_select_db(testregister,$con);
13 // echo 测试成功;
14
15 ? 操作数据库的代码 register.php: 1 ?php2 3 require Conn.php;4 5 $response array();6 7 //注意这里的POST传递的name必须和android端的键一致否则不会插入数据8 if(isset($_POST[name])){9 $nickname $_POST[name];
10 $password $_POST[password];
11 //执行Mysql插入语句
12 $query mysql_query(INSERT INTO test_register(nickname,password) VALUES ($nickname,$password));
13 // echo $query;
14 // echo 测试query;
15 if ($query) {
16 // successfully inserted into database
17 $response[success] 1;
18 $response[message] Product successfully created.;
19 echo json_encode($response);
20
21 } else {
22 // failed to insert row
23 $response[success] 0;
24 $response[message] Oops! An error occurred.;
25 // echoing JSON response
26 echo json_encode($response);
27 }
28
29 }
30
31 ? 说明echo只是为了当时测试用的。 如果在执行程序的过程中Logcat中出现下面情况就差不多对了。 为了测试方便我使用的是英文如果有使用中文的上述代码也可以如果你的不可以的话你就更改你的编码方式我这里是用的UTF-8这是最普遍的一般不会出现问题。 本人的水平有限就先写这些了如果有什么问题或者更好的方法还需要大神留言。我感激不尽。转载于:https://www.cnblogs.com/bingbingliang-xiaomonv/p/5294559.html