zoukankan      html  css  js  c++  java
  • 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有错请指正,不喜勿喷,搞了一上午也很辛苦的

  • 相关阅读:
    This is a thoughtful essay
    MSSQL 模糊搜索全文(过程、函数、触发器等)
    MSSQL 高并发下生成连续不重复的订单号
    MSSQL sql numeric转字符串显示不补0
    iOS 开发之UIStackView的应用
    Java day 5
    Java day 4
    Java day 3-1
    Java day 3
    Java day 2
  • 原文地址:https://www.cnblogs.com/yuluhuang/p/3471135.html
Copyright © 2011-2022 走看看