Xutils请求服务器数据

2016-09-26  本文已影响211人  薛云龙

首先你要在自己安卓项目中引入Xutils框架的一些依赖。如果项目是通过Gradle构建的,只需要加上这一句:

compile 'org.xutils:xutils:3.3.36'

如图所示:


Paste_Image.png
//请求服务器    
RequestParams users = new RequestParams("http://192.168.90.58:8080/login");    
//封装json数据    
JSONObject user  = new JSONObject();          
user.put("username",username);
user.put("password",password);    
//设置传输数据为json格式
users.setAsJsonContent(true);    
users.addParameter("user",user);    
//提交数据(类似于前端的ajax请求,提交数据,并通过回调函数接收服务器响应的数据)
x.http().post(users, new Callback.CommonCallback<String>() {        
@Override        
public void onSuccess(String result) {            
    System.out.println(result);            
    int status = 0;           
    try {
        //服务器返回的是一个json封装的字符串,将其转换为json对象                
        JSONObject jsonObject =  new JSONObject(result);                
        status = jsonObject.getInt("status");         
        //吐司,测试一下
        Toast.makeText(x.app(),""+status,Toast.LENGTH_SHORT).show();  
    //如果状态码正确,这里得到              
    if(status == 1){                    
    Intent intent = new Intent();                    
    //登录 向 index 的跳转,通过bundle携带数据   
    Bundle bundle= new Bundle();
     bundle.putString("books",jsonObject.getJSONArray("books").toString());                     
    intent.putExtra("books",bundle);                    
    intent.setClass(MainActivity.this,IndexActivity.class);                    
    MainActivity.this.startActivity(intent);                
    } else if(status == 0){                    
    Toast.makeText(x.app(),"账号或密码错误",Toast.LENGTH_SHORT).show();                
    }           
  } catch (JSONException e) {                e.printStackTrace();            }                  
    System.out.println(status);        
  }        
  @Override        
  public void onError(Throwable ex, boolean isOnCallback) {        }        
  @Override        
  public void onCancelled(CancelledException cex) {        }        
  @Override        
  public void onFinished() {        }   
 });
}

至此,请求服务器数据的功能已经实现,当然实现这个功能的方法多种多样,这只是其中一种。其实,学习编程,到最后大家会发现,很多东西都是讲究个思想,方法只是方法。希望以后能够深入框架里边去学习别人编程的思想吧。

上一篇 下一篇

猜你喜欢

热点阅读