先导依赖 compile 'com.squareup.okhttp3:logging-interceptor:3.9.0' compile 'com.squareup.okhttp3:okhttp:3.9.0'compile 'com.google.code.gson:gson:2.8.2'
compile 'com.facebook.fresco:fresco:1.5.0'
compile 'com.youth.banner:banner:1.4.9'
<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> IModel层package com.example.cll.caolilujingdong.model; import com.example.cll.caolilujingdong.Bean.XiangBean; /** * Created by cll on 2017/11/9. */ public interface IXiangModel { void onSuexxc(XiangBean xiangBean);(Bean包要改) } Nodel层package com.example.cll.caolilujingdong.model; import android.content.Context; import com.example.cll.caolilujingdong.Bean.XiangBean; import com.example.cll.caolilujingdong.net.OkHttpUtils; import com.example.cll.caolilujingdong.net.OnNetListener; import java.io.IOException; /** * Created by cll on 2017/11/9. */ public class XiangModel { private Context context; public XiangModel(Context context) { this.context = context; } public void fenlei(final IXiangModel iXiangModel, int pid){ String url="https://www.zhaoapi.cn/product/getProductDetail?pid="+pid; OkHttpUtils.getInstance(context).doget(url, XiangBean.class, new OnNetListener() { @Override public void onSuccess(Object o) throws IOException { XiangBean xiangBean= (XiangBean) o; iXiangModel.onSuexxc(xiangBean); } @Override public void onError(IOException e) { } }); } }
Presenter层package com.example.cll.caolilujingdong.presenter; import android.content.Context; import com.example.cll.caolilujingdong.Bean.XiangBean; import com.example.cll.caolilujingdong.model.IXiangModel; import com.example.cll.caolilujingdong.model.XiangModel; import com.example.cll.caolilujingdong.view.IXiang; /** * Created by cll on 2017/11/9. */ public class XiangPresenter { private Context context; private IXiang iXiang; private final XiangModel xiangModel; public XiangPresenter(Context context, IXiang iXiang) { this.context = context; this.iXiang = iXiang; xiangModel = new XiangModel(context); } public void getWuxiian(){ int pid = iXiang.pid(); xiangModel.fenlei(new IXiangModel() { @Override public void onSuexxc(XiangBean xiangBean) { iXiang.getLunbo(xiangBean); } },pid); } }
View层package com.example.cll.caolilujingdong.view; import android.content.Context; import android.content.SharedPreferences; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; import android.widget.Toast; import com.example.cll.caolilujingdong.Bean.LoginBean; import com.example.cll.caolilujingdong.R; import com.example.cll.caolilujingdong.presenter.LoginPresenter; public class LoginActivity extends AppCompatActivity implements View.OnClickListener, ILoginListener { private EditText mEtName; private EditText mEtPwd; /** * 登录 */ private Button mBtLogin; private LoginPresenter loginPresenter; /** * × */ private TextView mGuan; private int uid; private String tfoken; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_login); initView(); } private void initView() { mEtName = (EditText) findViewById(R.id.et_name); mEtPwd = (EditText) findViewById(R.id.et_pwd); mBtLogin = (Button) findViewById(R.id.bt_login); mBtLogin.setOnClickListener(this); loginPresenter = new LoginPresenter(this); mGuan = (TextView) findViewById(R.id.guan); mGuan.setOnClickListener(this); } @Override public void onClick(View v) { switch (v.getId()) { case R.id.bt_login: loginPresenter.login(); SharedPreferences preferences = getSharedPreferences("user", Context.MODE_PRIVATE); SharedPreferences.Editor editor = preferences.edit(); editor.putString("token",tfoken); editor.putInt("name",uid); editor.commit(); break; case R.id.guan: finish(); break; } } @Override public String mobile() { return mEtName.getText().toString().trim(); } @Override public String pwd() { return mEtPwd.getText().toString().trim(); } @Override public void getlogin(LoginBean bean) { uid = bean.getData().getUid(); tfoken = bean.getData().getToken(); Toast.makeText(this, bean.getMsg(), Toast.LENGTH_SHORT).show(); } }
IView层package com.example.cll.caolilujingdong.view; import com.example.cll.caolilujingdong.Bean.LoginBean; /** * Created by cll on 2017/11/3. */ public interface ILoginListener { public String mobile(); public String pwd(); public void getlogin(LoginBean bean); }Adapter层package com.example.cll.caolilujingdong.Adapter; import android.content.Context; import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.TextView; import com.example.cll.caolilujingdong.R; import com.example.cll.caolilujingdong.Bean.ShouyeBean; import com.facebook.drawee.view.SimpleDraweeView; import java.util.List; /** * Created by cll on 2017/11/7. */ public class TuijianAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> { private Context context; private List<ShouyeBean.TuijianBean.ListBean> list; public TuijianAdapter(Context context, List<ShouyeBean.TuijianBean.ListBean> list) { this.context = context; this.list = list; } @Override public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View view = LayoutInflater.from(context).inflate(R.layout.tuixian, parent, false); return new MyAdapter(view); } @Override public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) { MyAdapter myAdapter= (MyAdapter) holder; String images = list.get(position).getImages(); String[] split = images.split("\\|"); String s = split[0]; myAdapter.iameg.setImageURI(s); myAdapter.zixun.setText(list.get(position).getTitle()); myAdapter.pirce.setText("¥"+list.get(position).getPrice()); } @Override public int getItemCount() { return list.size(); } class MyAdapter extends RecyclerView.ViewHolder{ private final TextView xing; private final TextView zixun; private final TextView pirce; private final SimpleDraweeView iameg; public MyAdapter(View itemView) { super(itemView); iameg = itemView.findViewById(R.id.diantu); pirce = itemView.findViewById(R.id.dianpcire); zixun = itemView.findViewById(R.id.zixun); xing = itemView.findViewById(R.id.xiangsi); } } }还要Apppackage com.example.cll.caolilujingdong.Adapter; import android.app.Application; import com.facebook.drawee.backends.pipeline.Fresco; /** * Created by cll on 2017/11/7. */ public class Appp extends Application { @Override public void onCreate() { super.onCreate(); Fresco.initialize(this); } }
简单的MVP框架
最新推荐文章于 2023-02-26 00:13:01 发布