自学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 }
设置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 }
我的网站后台使用c#
1 if (context.Session.SessionID!=null) 2 {}
//判断是否为null
注销:
1 context.Session.RemoveAll();
初学android有错请指正,不喜勿喷,搞了一上午也很辛苦的