GuideMap 登陆界面 详细文档(一)

登录界面文档
参考:http://blog.csdn.net/chenguang79/article/details/49444787
http://blog.csdn.net/mypanlong/article/details/44802697

主要类:LoginActivity   登录类
    RegisterActivity    注册类 
    untils/VolleyIO     Volley工具类
    untils/VolleyInterface  Volley接口
    untils/UserLoginSave   保存账户名类
    MyApplication 封装volley队列
    Bean/User   User数据类型
    Bean/LoginUser  静态数据存储用户信息,与界面显示关联


   设计思路是将volley读取和传送json数据的方法封装在volley工具类和接口里。
   通过gson将读取到的数据放入根据返回json值确定好的bean(user)里,然后存入静态的UserLoginSave类,该类与显示界面绑定。
   具体在LoginActivity/RegisterActivity中执行。同时以UserLoginSave为主实现记录登陆过的账户名。      

封装volley队列

public class MyApplication extends Application {
    public static RequestQueue queues;

    @Override
    public void onCreate() {
        super.onCreate();
        queues = Volley.newRequestQueue(getApplicationContext());
    }

    //获取请求队列
    public static RequestQueue getHttpQueues()
    {
        return queues;
    }
}

一、VolleyIO
//volley工具类

1、从服务器获取Json数据
 public static void JsonGet(String url,VolleyInterface vif) {

        JsonObjectRequest request=new JsonObjectRequest(Request.Method.GET, url, null,vif.loadingListener(),vif.errorListener());


        //为这个请求设置Tag
        request.setTag("GetJSOB001");
        //将请求添加入全局队列
        MyApplication.getHttpQueues().add(request);
    }
2、向服务器传送Json数据
public static void JSonPost(String url,String account,String password,String name,String phone,String mail,VolleyInterface vif){
        HashMap<String, String> hashMap=new HashMap<String,String>();
        hashMap.put("account",account);
        hashMap.put("password",password);
        hashMap.put("name",name);
        hashMap.put("phone",phone);
        hashMap.put("mail",mail);

        String RegisterUrl=url+ "account=" + account + "&" + "password=" + password+ "&"+"mail=" + mail + "&" + "phone=" + phone+  "&"+ "name=" + name;

        Log.e("tony", RegisterUrl);
        JSONObject jsonParams =new JSONObject(hashMap);
        JsonObjectRequest request=new JsonObjectRequest(Request.Method.POST, RegisterUrl, jsonParams , vif.loadingListener(),vif.errorListener());

        //为这个请求设置Tag
        request.setTag("PostJSOB001");
        //将请求添加入全局队列
        MyApplication.getHttpQueues().add(request);
    }

二、VolleyInterface 虚类
//Volley接口
1、接口构造
public VolleyInterface(Context context,Listener listener,ErrorListener errorListener)
2、成功和失败的回调
public abstract void onMySuccess(JSONObject result)
public abstract void onMyError(VolleyError error)

public Listener loadingListener(){
onMySuccess()
}
public ErrorListener errorListener(){
onMyError()
}

public abstract class VolleyInterface {
    public Context mContext;  
    public static Listener<JSONObject> mListener;
    public static ErrorListener mErrorListener;
    public VolleyInterface(Context context,Listener<JSONObject> listener,ErrorListener errorListener){
          this.mContext=context;
          this.mErrorListener=errorListener;
          this.mListener=listener;
    }

    public abstract void onMySuccess(JSONObject result);
    public abstract void onMyError(VolleyError error);

    public Listener<JSONObject> loadingListener(){
      mListener=new Listener<JSONObject>(){
          @Override
          public void onResponse(JSONObject response) {
              onMySuccess(response);
          }
      };
        return mListener;
    }

    public ErrorListener errorListener(){
        mErrorListener=new ErrorListener() {

            @Override
            public void onErrorResponse(VolleyError error) {
                onMyError(error);
            }
        };      
        return mErrorListener;      
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值