做了个登陆和注册,写下里,后面做参考用!

网上方法很多,由于菜鸟级别,一直没是成功,后来经多方努力,总结如下:

服务端方法: 

  一  、参数获取

        //GET请求参数获取
        //method = Request.QueryString["method"];
        //name = Request.QueryString["str_Name"];
        //psw = Request.QueryString["str_Psw"];
        //email = Request.QueryString["Email"];

        //POST请求参数获取
        method = Request.Form["method"];
        name = Request.Form["Name"];
        psw = Request.Form["Password"];
        email = Request.Form["Email"];

二、方法

   注册:

 public void RegistMsg(String UserName, String Password, String Emailbox)
    {
        String conn = "Server=.;DataBase=XCRain;user=sa;password=123";
        SqlConnection connection = new SqlConnection(conn);
        SqlCommand command = new SqlCommand("INSERT INTO registMsg VALUES ('" + UserName + "','" + Password + "','" +Emailbox + "')", connection);
        command.Connection.Open();
        command.ExecuteNonQuery();
        Response.Write("{\"returnResult\":{\"desc\":\"注册成功\",\"result_code\":2}}");//输出JSON格式
    }

登陆:

 public void  LoginMsg(String UserName, String UserPassword, String Emailbox)
    {
        String conn = "Server=10.19.1.48;DataBase=XCRain;user=sa;password=123";
        SqlConnection connection = new SqlConnection(conn);
        SqlCommand command = new SqlCommand("SELECT * FROM registMsg WHERE Name='"+UserName+"'"+"AND Password='"+UserPassword+"'"+"AND Email='"+Emailbox+"'", connection);
        command.Connection.Open();
        command.ExecuteNonQuery();
        object  count = command.ExecuteScalar();     //这个着实费了时间,判断数据库中有无记录的
        if(count==null)
        {
            Response.Write("{\"returnResult\":{\"desc\":\"没有此用户\",\"result_code\":0}}");
        }
        if(count!=null)
        {
            Response.Write("{\"returnResult\":{\"desc\":\"登陆成功\",\"result_code\":1}}");
        }

    }

 

三、客户端请求

              EditText loginName=(EditText)findViewById(R.id.inputName);
              EditText loginPsw=(EditText)findViewById(R.id.inputPsw);
              EditText loginEmail=(EditText)findViewById(R.id.inputEmail);
              String str_Name=loginName.getText().toString().trim();
              String str_Psw=loginPsw.getText().toString().trim();
              String Email=loginEmail.getText().toString().trim();   //trim()最好加上,我就因为每加而多了空格导致不成功,一直没发现,日!

       //POST请求
           try
           {
            String url=service_url;
            HttpPost request=new HttpPost(url);
            Listparams=new ArrayList ();
            params.add(new BasicNameValuePair("method",method));
            params.add(new BasicNameValuePair("Name",str_Name));
            params.add(new BasicNameValuePair("Password",str_Psw));
            params.add(new BasicNameValuePair("Email",Email));
            request.setEntity(new UrlEncodedFormEntity(params,HTTP.UTF_8));
            HttpResponse response=new DefaultHttpClient().execute(request);
            if (HttpStatus.SC_OK == response.getStatusLine().getStatusCode())
               {
                       String strResult = EntityUtils.toString(response.getEntity()); 
                      JSONObject jsonObj = new JSONObject(strResult).getJSONObject("returnResult");  
                      String   Desc = jsonObj.getString("desc");

             }

            catch(Exception e)
           {
            e.printStackTrace();
           }     
    一般都采用POST请求,get请求参数都在url中,不安全

   下面是GET请求

//           String url=service_url+"?method="+method+"&str_Name="+str_Name+"&str_Psw="+str_Psw+"&Email="+Email;
//           try
//           {
//             HttpGet request = new HttpGet(url);
//             HttpClient httpClient = new DefaultHttpClient();
//                HttpResponse response = httpClient.execute(request);
//               if (HttpStatus.SC_OK == response.getStatusLine().getStatusCode())
//                  {
//                 String strResult = EntityUtils.toString(response.getEntity()); 
//                 JSONObject jsonObj = new JSONObject(strResult).getJSONObject("returnRsult");  
//                 String   Desc = jsonObj.getString("desc");
//              }
//           catch(Exception e)
//               {
//              e.printStackTrace();
//            }
      

 url参数可以动态添加
//              StringBuilder sb=new StringBuilder();
//              sb.append(service_url);
//              sb.append("?method="+method);
//              sb.append("&str_Name"+Name);
//              sb.append("&str_Psw"+Password);
//              String str=sb.toString();  //要转化成字符串!!!!!!一定要注意!!!

总结:

      导致一直不成功的原因很多,第一大原因是不认真,很多时候是由于自己马虎代码写错,并且一直找不吃原因,最头疼那些不报错却不成功的时候了

      获取EditText文本时,没加trim(),也是好久才发现

      源码关联失败,网上的方法也试了,不行,最后重新换了个android.jar包,我觉得不是包的原因,应该还是代码错误

      开始我是注册POST请求,登陆GET请求,丫的也不成功,不知道为啥,难道不能同时发送两个请求?我觉得可以,以后再试试。

更多相关文章

  1. android Launcher之获取安装的app列表的两种方法
  2. Android(安卓)4.4从图库选择图片,获取图片路径并裁剪
  3. [android]android自动化测试三之设定AVD各项参数
  4. Android系列之SQLite与Android(安卓)Studio的数据交互
  5. android获取本地图片或拍照图片
  6. Android(安卓)使用Post与Get方法进行表单提交数据
  7. Android之旅十三 android中的数据传递方法
  8. Android(安卓)获取屏幕的多种宽高信息的示例代码
  9. android 获得手机号相关

随机推荐

  1. 对Android中Tab的使用总结
  2. Mac安装Homebrew
  3. Sublime Text3解决There are no packages
  4. 利用 JavaScript 构建命令行应用
  5. 详解uni-app中的样式
  6. 如何用vue实现网页截图你知道吗
  7. JavaScript中二维数组的创建技巧
  8. PHP基础 -(二)分支与循环、php模板语法
  9. 彻底学会快速部署vue框架,一篇就够了
  10. 变量与函数