android 客户端和web服务器交互----为网站开发Android客户端

自学android ,刚刚制作了登陆页面

参考http://blog.csdn.net/wjw_java_android/article/details/9763557

Android客户端如何与服务器交互呢?

参考http://blog.umeng.com/index.php/2012/01/2012-1-5/ 

从那两幅图中可知Android客户端与服务器交互和我们在浏览器中提交数据一样--通过url【get/post】

那呢如何保证安全性呢?

参考http://www.cnblogs.com/japanbbq/archive/2011/09/01/2161650.html 

和浏览器访问一样,我们通过session/cookie

不希望大家没搞懂问题而只想着ctrl+c,【注意注释】

 1 package sqSystem.login;
 2 
 3 import sqSystem.listview.sq.shequmanage;
 4 
 5 import com.example.httpjson.R;
 6 import com.example.httpjson.http.HttpUtils;
 7 
 8 import android.app.Activity;
 9 import android.content.Intent;
10 import android.os.Bundle;
11 import android.util.Log;
12 import android.view.View;
13 import android.view.Window;
14 import android.widget.Button;
15 import android.widget.EditText;
16 import android.widget.Toast;
17 import android.view.View.OnClickListener;
18 
19 public class login extends Activity {
20 
21 @Override
22 protected void onCreate(Bundle savedInstanceState) {
23 super.onCreate(savedInstanceState);
24 setContentView(R.layout.login);
25 
26 Button button = (Button) findViewById(R.id.signin_button);
27 button.setOnClickListener(new OnClickListener() { // 点击登录按钮产生点击事件
28 @Override
29 public void onClick(View v) {
30 EditText user = (EditText) findViewById(R.id.username_edit);// 获取activity_login的用户输入框
31 EditText pass = (EditText) findViewById(R.id.password_edit);// 获取activity_login的密码输入框
32 
33 String u = user.getText().toString().trim();//从输入框获得数据
34 String p = pass.getText().toString().trim();
35 String path = "“;//验证登陆的代码
36 String string = HttpUtils.Login(path);//HttpUtils(自定义,获取服务器返回的数据)
37 
38 if (string != "flase") {
39 Toast.makeText(login.this, "登陆成功", 1).show();//弹出提示框
40 Intent intent = new Intent(login.this, shequmanage.class);
41 startActivity(intent);
42 } else {
43 Toast.makeText(login.this, "登陆失败", 1).show();
44 }
45 }
46 });
47 }
48 }
View Code

设置session

参考http://blog.sina.com.cn/s/blog_5a6f39cf01018oj6.html

 1 public static String Login(String url_path) {
 2 try {
 3 URL url = new URL(url_path);
 4 HttpURLConnection connection = (HttpURLConnection) url
 5 .openConnection();
 6 connection.setConnectTimeout(5000);
 7 connection.setRequestMethod("GET");
 8 connection.setDoInput(true);
 9 int code = connection.getResponseCode();
10 if (code == 200) {
11 String cookieval = connection.getHeaderField("set-cookie");
12 Log.i("cookieval", cookieval);
13 String sessionid;
14 if (cookieval != null) {
15 sessionid = cookieval.substring(0, cookieval.indexOf(";"));
16 connection.setRequestProperty("Cookie", sessionid);
17 }
18 }
19 } catch (Exception e) {
20 // TODO: handle exception
21 }
22 return "";
23 }
View Code

我的网站后台使用c#

1 if (context.Session.SessionID!=null)
2 {}
View Code

//判断是否为null

注销:

1 context.Session.RemoveAll();
View Code

初学android有错请指正,不喜勿喷,搞了一上午也很辛苦的

原文地址:https://www.cnblogs.com/yuluhuang/p/3471135.html