文档章节

android以json实现http登录demo

墨梅
 墨梅
发布于 2014/05/06 18:12
字数 394
阅读 1.2W
收藏 3

码上生花,ECharts 作品展示赛正式启动!>>>

直接上代码

LoginActivity.java

 package LoginActivity.activity;
import LoginActivity.bean.StringUtils;
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.util.Log;
import android.view.View;
import android.view.inputmethod.InputMethodManager;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import com.example.haierloginactivity.R;
public class haierLoginActivity extends Activity {
 private Button btjButton;
 private EditText uname;
 private EditText password;
 private InputMethodManager in;
 
 public void onCreate (Bundle savedInstanceState){
  super.onCreate(savedInstanceState);
  setContentView(R.layout.main);
  
  in = (InputMethodManager)getSystemService(INPUT_METHOD_SERVICE);
  btjButton = (Button)findViewById(R.id.button);
  uname = (EditText)findViewById(R.id.username);
  password = (EditText)findViewById(R.id.password);
  
  btjButton.setOnClickListener(new View.OnClickListener() {
   
   @Override
   public void onClick(View v) {
    // TODO Auto-generated method stub
    in.hideSoftInputFromWindow(v.getWindowToken(), 0);
    
    String name = uname.getText().toString();
    String pwd = password.getText().toString();
    if(StringUtils.isEmpty(name)){
     Toast.makeText(v.getContext(), R.string.login_uname_null, Toast.LENGTH_SHORT);
     return;
    }
    if(StringUtils.isEmpty(pwd)){
     Toast.makeText(v.getContext(), R.string.login_pwd_null, Toast.LENGTH_SHORT);
     return;
    }
    
    login(name, pwd);
   }
  });
 }
 
 private void login(final String name, final String pwd){
  final Handler handler = new Handler() {
   public void handleMessage(Message msg) {
    if(msg.what == 1){
     //提示登陆成功
     Toast.makeText(haierLoginActivity.this, R.string.msg_login_success, Toast.LENGTH_SHORT).show();
     finish();
    }else if(msg.what == 0){
     Log.i(name, msg.toString());
    }else if(msg.what == -1){
     Log.i("==============", msg.toString());
    }
   }
  };
  new Thread(){
   public void run() {
    Message msg =new Message();
    try {
     post po = new post();
     String infoo = po.logina(name, pwd);
     
                 if(infoo != null){
                  msg.what = 1;//成功
                  msg.obj = infoo;
                 }else{
                  msg.what = 0;//失败
                  msg.obj = "2";
                 }
             } catch (Exception e) {
              e.printStackTrace();
        msg.what = -1;
        msg.obj = e;
             }
    handler.sendMessage(msg);
   }
  }.start();
 }
 
}

post.java

 package LoginActivity.activity;
import java.io.IOException;
import org.apache.http.HttpResponse;
import org.apache.http.ParseException;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.client.HttpClient;
import org.apache.http.util.EntityUtils;
import org.json.JSONException;
import org.json.JSONObject;
import android.util.Log;
public class post {
 public String logina(String name, String pwd)throws ParseException, IOException, JSONException{
  HttpClient httpClient = new DefaultHttpClient();
  String strurl = "//此处改成自己的url";
  HttpPost request = new HttpPost(strurl);
  request.addHeader("Accept","application/json");
  request.addHeader("Content-Type","application/json");//还可以自定义增加header
  JSONObject param = new JSONObject();//定义json对象
  param.put("sequenceId", "87620056570355357690");
  param.put("accType", "0");
  param.put("loginId", name);
  param.put("password", pwd);
  //param.put("thirdpartyAppId", "");
  //param.put("thirdpartyAccessToken", "");
  param.put("loginType", "1");
  Log.i("===========", param.toString());
  StringEntity se = new StringEntity(param.toString());
  request.setEntity(se);//发送数据
  HttpResponse httpResponse = httpClient.execute(request);//获得相应
  int code = httpResponse.getStatusLine().getStatusCode();
  System.out.print(code);
  String result = EntityUtils.toString(httpResponse.getEntity());
  JSONObject result1 = new JSONObject(result);
  String info = (String) result1.get("retInfo");
  Log.i("=============", info);
  return info;
 }
}

要记得给设备访问网络权限

<uses-permission android:name="android.permission.INTERNET"></uses-permission>

© 著作权归作者所有

墨梅
粉丝 16
博文 218
码字总数 43367
作品 0
杭州
后端工程师
私信 提问
加载中
请先登录后再评论。
Android MVP 模式 项目初体验(一)

版权声明:本文出自veidy的博客,转载必须注明出处 转载请注明出处:http://my.oschina.net/aibenben/blog/381274 之前大家听得最多的是MVC,去年去中兴面试的时候被问到MVP,当时脑子里面第...

veidy
2015/03/02
1.4W
15
Android使用友盟集成QQ、微信、微博等第三方登录

前言 最近项目需要加入第三方分享和登录功能,之前其他项目的第三方分享和登录一直都使用ShareSDK实现的。为了统一使用友盟的全家桶,所以三方分享和登录也就选择了友盟。这里记录一下完整的...

慕前端7069444
2018/05/21
0
0
android + php 后台开发

android+php 安卓与服务器的数据交互 在我们进行android开发的时候,避免不了的要进行登录注册,个人信息获取,数据交互等等这一系列的操作。这样就需要进行android端与服务器端进行数据的交...

osc_hssgzmz0
2018/05/04
5
0
Android与IIS身份验证——Form验证

内容摘要 前言 设计思路 ASP.NET服务器端 Android客户端 运行结果 上篇《Android与IIS身份验证——基本验证》实现了Android客户端与IIS的简单验证。而这种验证方式虽然使用起来比较简单,但是...

长平狐
2012/06/11
563
0
使用基于Android网络通信的OkHttp库实现Get和Post方式简单操作服务器JSON格式数据

目录 前言 1 Get方式和Post方式接口说明 2 OkHttp库简单介绍及环境配置 3 具体实现 前言 本文具体实现思路和大部分代码参考自《第一行代码》第2版,作者:郭霖;但是文中讲解部分和POST请求方...

osc_9l5vqi8m
2018/03/04
1
0

没有更多内容

加载失败,请刷新页面

加载更多

Beta冲刺--Day2

2020/05/29 这个作业属于哪个课程 2020春S班软件工程实践 这个作业要求在哪里 团队作业第六次——beta冲刺+事后诸葛亮 团队名称 云玩家$ 这个作业的目标 beta冲刺,测试和完善已有的项目 作业...

osc_taer599u
30分钟前
15
0
题解 [SDOI2010]猪国杀

题目链接 代码成功卡到600行以内 曾经发誓一天切掉的我打了两周。。。 先看题 要点还是挺多的,即使是像我这样熟悉三国杀的同(wán)学( jiā),也要认真看。 首先是基本牌的部分。 杀:在...

osc_4p2c0ecc
32分钟前
17
0
Beta冲刺--Day3

2020/05/30 这个作业属于哪个课程 2020春S班软件工程实践 这个作业要求在哪里 团队作业第六次——beta冲刺+事后诸葛亮 团队名称 云玩家$ 这个作业的目标 beta冲刺,测试和完善已有的项目 作业...

osc_sejhgcp0
33分钟前
23
0
vue3.0提前了解系列----一些普通用法和api的使用

今天给大家说说vue3.0 composition api里面一些剩余的普通api的使用 provide & inject provide和inject用于在一些高阶组件中常用,在2.x中也有一样的api那么在compositionapi中怎么用呢? 仅...

osc_kvcz9ju6
35分钟前
5
0
Beta冲刺--Day4

2020/05/31 这个作业属于哪个课程 2020春S班软件工程实践 这个作业要求在哪里 团队作业第六次——beta冲刺+事后诸葛亮 团队名称 云玩家$ 这个作业的目标 beta冲刺,测试和完善已有的项目 作业...

osc_ze3jj3wd
36分钟前
26
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部