登录注册

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
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值