登录注册

okhttp

private Interceptor getAppInterceptor()

{

    Interceptor interceptor= new

Interceptor() {

        @Override

        public Response intercept(Chain

chain) throws IOException {

            Request request =

chain.request();

            Log.e("++++++","拦截前");

            Response response =

chain.proceed(request);

            Log.e("++++++","拦截后");

            return response;

        }

    };

    return interceptor;

}

//添加拦截器

 private OkHttp()

 {

     File file = new

File(Environment.getExternalStorageDirectory(), “cache1”);

     client = new OkHttpClient().newBuilder()

.readTimeout(3000,TimeUnit.SECONDS)

.connectTimeout(3000,TimeUnit.SECONDS)

.addInterceptor(getAppInterceptor())

             .cache(new

Cache(file,10*1024))

             .build();

 }

 //创建单例

public 

static OkHttp getInstance()

{

    if(instance == null)

    {

        synchronized (OkHttp.class)

        {

            if(null == instance)

            {

                instance = new OkHttp();

            }

        }

    }

    return instance;

}

//封装doget方法

public void doGet(String url, final Class

clazz, final NetCallBack netCallBack)

{

    // 2. 创建一个请求对象

    Request request = new Request.Builder()

            .get()

            .url(url)

            .build();

    //创建call对象

    Call call = client.newCall(request);

    call.enqueue(new Callback() {

        @Override

        public void onFailure(Call call,

IOException e) {

        }



        @Override

        public void onResponse(Call call,

Response response) throws IOException {

            String string =

response.body().string();

            Gson gson = new Gson();

            final Object o =

gson.fromJson(string, clazz);

            handler.post(new Runnable() {

                @Override

                public void run() {

netCallBack.LoadSuccess(o);

                }

            });

        }

    });

}

//封装dopost请求

public void doPost(String url, final Class

clazz, String name,String pwd, final NetCallBack netCallBack)

{

    //新建okhttp对象

    client = new OkHttpClient();

    /**

     * 通过体传值

     */

    FormBody build = new FormBody.Builder()

            .add("phone", name)

            .add("pwd", pwd)

            .build();

    Request request = new Request.Builder()

            .url(url)

            .post(build)

            .build();

    Call call = client.newCall(request);

    call.enqueue(new Callback() {

        @Override

        public void onFailure(Call call,

IOException e) {

        }



        @Override

        public void onResponse(Call call,

Response response) throws IOException {

            String string =

response.body().string();

            Gson gson = new Gson();

            final Object o = gson.fromJson(string,

clazz);

            handler.post(new Runnable() {

                @Override

                public void run() {

netCallBack.LoadSuccess(o);

                }

            });

        }

    });

}

public interface NetCallBack{

    void LoadSuccess(Object obj);

    void LoadFail();

}

}

---------------------------------------M层接口-----------------------------
interface Model_jiekou {
public void getLogin(String url,String name,String pwd,LoginCallback loginCallback);
interface LoginCallback{
void OnSuccess(String data);
}
public void getRegist(String url,String name,String pwd,RegistCallback registCallback);
interface RegistCallback{
void OnSuccess(String data);
}
public void getShow(String url,CallBacks callBacks);
interface CallBacks{
void OnSuccess(String data);
}
public void getXiang(String url,XiangCallBacks xiangCallBacks);
interface XiangCallBacks{
void OnSuccess(String data);
}
}
----------------------P层接口-------------------------
void getlogin(String name,String pwd);
void getresult(String name,String pwd);
void getshow(String id);
void getxiang(String id);

------------------------------------------------------P类-------------------------
public static String url =“http://172.17.8.100/small/user/v1/login”;
public static String urls =“http://172.17.8.100/small/user/v1/register”;
String purl = “http://172.17.8.100/small/commodity/v1/findCommodityByKeyword?&page=1&count=10&keyword=”;
public static String Xiang=“http://172.17.8.100/small/commodity/v1/findCommodityDetailsById?commodityId=”;
View_jiekou view;
Views_jiekou views_jiekou;
private Model_lei model_lei;
ShowActivity showActivity;
XiangActivity xiangActivity;

public Presenter_lei(XiangActivity xiangActivity) {
this.xiangActivity = xiangActivity;
model_lei = new Model_lei();
}

public Presenter_lei(ShowActivity showActivity) {
this.showActivity = showActivity;
model_lei = new Model_lei();
}

public Presenter_lei(View_jiekou view) {
this.view = view;
model_lei = new Model_lei();
}

public Presenter_lei(Views_jiekou views_jiekou) {
this.views_jiekou = views_jiekou;
model_lei = new Model_lei();
}

@Override
public void getlogin(String name, String pwd) {
model_lei.getLogin(url, name, pwd, new Model_jiekou.LoginCallback() {
@Override
public void OnSuccess(String data) {
view.getLoginword(data);
}
});

}

@Override
public void getresult(String name, String pwd) {
model_lei.getRegist(urls, name, pwd, new Model_jiekou.RegistCallback() {
@Override
public void OnSuccess(String data) {
views_jiekou.getresultts(data);
}
});
}

@Override
public void getshow(String id) {
model_lei.getShow(purl+id, new Model_jiekou.CallBacks() {
@Override
public void OnSuccess(String data) {
showActivity.getPass(data);
}
});
}

@Override
public void getxiang(String id) {
model_lei.getXiang(Xiang + id, new Model_jiekou.XiangCallBacks() {
@Override
public void OnSuccess(String data) {
xiangActivity.getPord(data);
}
});
}

---------------------------------------------V层----------------------
void getLoginword(String data);

---------------------------------------------Main层-----------------------------

super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
presenter_lei = new Presenter_lei(this);
edit1 = findViewById(R.id.edtixt_zhanghao);
edit2 = findViewById(R.id.edxt_mima);
button = findViewById(R.id.button);
textView = findViewById(R.id.text_zhuce);
textView.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        Intent intent =new Intent(MainActivity.this,ResulttActivity.class);
        startActivity(intent);
        finish();
    }
});
button.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        String name = edit1.getText().toString();
        String pwd = edit2.getText().toString();
        if (name.equals("")||pwd.equals("")){
            Toast.makeText(MainActivity.this,"账号或密码不能为空",Toast.LENGTH_SHORT).show();
        }
        else {
            presenter_lei.getlogin(name,pwd);
        }
    }
});

}

@Override
public void getLoginword(final String data) {
runOnUiThread(new Runnable() {
@Override
public void run() {
Gson gson =new Gson();
GoodsBean fromJson = gson.fromJson(data, GoodsBean.class);
String status = fromJson.getStatus();
if (status.equals(“0000”)){
Intent intent =new Intent(MainActivity.this,ShowActivity.class);
startActivity(intent);
finish();
}else {
Toast.makeText(MainActivity.this,“账号或密码错误”,Toast.LENGTH_SHORT).show();
}

    }
});

}

----------------------------------------------注册层-------------------------------------
super.onCreate(savedInstanceState);
setContentView(R.layout.result_layout);
editText1 = findViewById(R.id.zhuce_zhanghao);
editText2 = findViewById(R.id.zhuce_mima);
textView1 = findViewById(R.id.zhuce_text);
button1 = findViewById(R.id.zhuce_button);
presenter_lei = new Presenter_lei(this);
textView1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent =new Intent(ResulttActivity.this,MainActivity.class);
startActivity(intent);
finish();
}
});
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String name = editText1.getText().toString();
String pwd = editText2.getText().toString();
if (name.equals("")||pwd.equals("")){
Toast.makeText(ResulttActivity.this,“账号或密码不能为空”,Toast.LENGTH_SHORT).show();
}
else {
presenter_lei.getresult(name,pwd);
}
}
});

}

@Override
public void getresultts(final String data) {
runOnUiThread(new Runnable() {
@Override
public void run() {
Gson gson =new Gson();
RegsinBean regsinBean = gson.fromJson(data, RegsinBean.class);
String status = regsinBean.getStatus();
if (status.equals(“0000”)){
Intent intent =new Intent(ResulttActivity.this,MainActivity.class);
startActivity(intent);
finish();
}
else {
Toast.makeText(ResulttActivity.this,“账号或密码已经被注册”,Toast.LENGTH_SHORT).show(); }
}
});
------------------------------------------------------MyAdapter---------------------------
public class MyAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
List<ShowBean.ResultBean> list;
Context context;
int type1 = 0;
int type2= 1;
public MyAdapter(List<ShowBean.ResultBean> list, Context context) {
this.list = list;
this.context = context;
}

@Override
public int getItemViewType(int position) {
    if (position%2==0){
        return type1;
    }else {
        return type2;
    }
}

@NonNull
@Override
public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
    int type3 = getItemViewType(i);
    if (type3==type1){
        View view = LayoutInflater.from(context).inflate(R.layout.item_layout, null, false);
        Viewholder3 viewholder3 = new Viewholder3(view);
        return viewholder3;
    }else {
        View view = LayoutInflater.from(context).inflate(R.layout.item_layout3, null, false);
    Viewholder1 viewholder1 =new Viewholder1(view);
    return viewholder1;
    }
}

@Override
public void onBindViewHolder(@NonNull RecyclerView.ViewHolder viewHolder, int i) {
    if (viewHolder instanceof Viewholder3){
        ((Viewholder3)viewHolder).textView1.setText(list.get(i).getCommodityName());
        Glide.with(context).load(list.get(i).getMasterPic()).into(((Viewholder3)viewHolder).imageView1);
    }else if (viewHolder instanceof Viewholder1){
        Glide.with(context).load(list.get(i).getMasterPic()).into(((Viewholder1)viewHolder).imageView3);
        Toast.makeText(context, "", Toast.LENGTH_SHORT).show();
    }
}

@Override
public int getItemCount() {
    return list.size();
}
public class Viewholder3 extends RecyclerView.ViewHolder{
    TextView textView1;
    ImageView imageView1;
    public Viewholder3(@NonNull View itemView) {
        super(itemView);
        textView1 = itemView.findViewById(R.id.text1);
        imageView1 = itemView.findViewById(R.id.image1);
    }
}
public class Viewholder1 extends RecyclerView.ViewHolder{
    ImageView imageView3;
    public Viewholder1(@NonNull View itemView) {
        super(itemView);
        imageView3 = itemView.findViewById(R.id.image_3);
    }
}
-------------------------------------------------XiangActivity-----------------
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.xiang_layout);
banner = findViewById(R.id.f_banner);
recyclerView = findViewById(R.id.xiang_recycler);
Intent intent = getIntent();
String id = intent.getStringExtra("id");
presenter_lei = new Presenter_lei(this);
presenter_lei.getxiang(id);
Toast.makeText(XiangActivity.this,"ss"+id,Toast.LENGTH_SHORT).show();
linearLayoutManager = new LinearLayoutManager(XiangActivity.this,LinearLayoutManager.VERTICAL,false);
recyclerView.setLayoutManager(linearLayoutManager);

}

public void getPord(final String data) {
runOnUiThread(new Runnable() {
private ArrayList url;
@Override
public void run() {
Gson gson =new Gson();
XiangBean fromJson = gson.fromJson(data, XiangBean.class);
result = fromJson.getResult();
Log.i(“aaa”, “run: aa”+ result);
xiangAdapter = new XiangAdapter(XiangActivity.this,Collections.singletonList(result));
recyclerView.setAdapter(xiangAdapter);

        String picture = result.getPicture();
        String[] split = picture.split(",");
        url = new ArrayList<>();
        for (int i = 0; i < split.length; i++) {
            url.add(split[i]);
            url.get(i);
        }
        banner.setImagesUrl(url);
    }
});

}

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值