------------------------------网络请求 ------------- public class MyUtil {
public final Api api; //单例模式 private MyUtil(){ OkHttpClient okHttpClient = new OkHttpClient.Builder() .writeTimeout(5000, TimeUnit.SECONDS) .readTimeout(5000, TimeUnit.SECONDS) .connectTimeout(5000, TimeUnit.SECONDS) .addNetworkInterceptor(new Logg()) .build(); Retrofit build = new Retrofit.Builder() .baseUrl(Api.Url) .client(okHttpClient) .addConverterFactory(GsonConverterFactory.create()) .addCallAdapterFactory(RxJavaCallAdapterFactory.create()) .build(); api = build.create(Api.class); } private static class HttpUtil{ static MyUtil myUtil =new MyUtil(); } public static MyUtil getutil(){ return HttpUtil.myUtil; }private class Logg implements Interceptor{
@Override public Response intercept(Chain chain) throws IOException { SharedPreferences sp = MyApp.getContentInstace().getSharedPreferences("Login", Context.MODE_PRIVATE); Request request = chain.request(); Request.Builder header = request.newBuilder() .addHeader("userId", sp.getString("userId", "")) .addHeader("sessionId", sp.getString("sessionId", "")); Request build = header.build(); Response response = chain.proceed(build); Log.e("qwe1231111", "hou" + sp.getString("userId", "")); Log.e("qwe123", "hou" + response); return response; }} }
---------------------------------------获取 userid,sessionid* 注册请单文件------------------------- public class MyApp extends Application { private static Context context; @Override public void onCreate() { super.onCreate();
getInstance(); } public void getInstance() { context = getApplicationContext(); } public static Context getContentInstace(){ return context; }}
---------------------------------- 自定义view------------------- public class MyView extends LinearLayout implements View.OnClickListener { private int shu = 1; private TextView add,jian; private EditText editText; public MyView(Context context) { super(context); initView(context); }
public MyView(Context context, AttributeSet attrs) { super(context, attrs); initView(context); } public MyView(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); initView(context); } private void initView(Context context) { View view = View.inflate(context,R.layout.myview_item, null); add= view.findViewById(R.id.zidingyiadd); jian = view.findViewById(R.id.zidingyijian); editText = view.findViewById(R.id.zidingyiaedtext); add.setOnClickListener(this); jian.setOnClickListener(this); editText.setText(shu+""); addView(view); } @Override public void onClick(View v) { switch (v.getId()){ case R.id.zidingyiadd: shu++; editText.setText(shu+""); numCallBack.getBack(shu); break; case R.id.zidingyijian: if (shu>1){ shu--; editText.setText(shu+""); numCallBack.getBack(shu); }else { Toast.makeText(getContext(),"数量最少为一",Toast.LENGTH_SHORT).show(); } break; } } numCallBack numCallBack; public void setNumCallBack(numCallBack numCallBack){ this.numCallBack = numCallBack; } public interface numCallBack{ void getBack(int shu); }}
-------------------------------- 购物车 适配器---------------------- public class CarAdapter extends RecyclerView.Adapter<CarAdapter.ViewHolder> { Context context; ChaCarBean chaCarBean; CheckBox checkBox; TextView price; private int count = 0; private List<ChaCarBean.ResultBean> result;
public CarAdapter(Context context, ChaCarBean chaCarBean) { this.context = context; this.chaCarBean = chaCarBean; } @NonNull @Override public CarAdapter.ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) { View view = View.inflate(viewGroup.getContext(), R.layout.caritem_layout, null); return new ViewHolder(view); } @Override public void onBindViewHolder(@NonNull final CarAdapter.ViewHolder viewHolder, final int i) { Glide.with(context).load(chaCarBean.getResult().get(i).getPic()).into(viewHolder.imageView); viewHolder.name.setText(chaCarBean.getResult().get(i).getCommodityName()); viewHolder.price.setText(chaCarBean.getResult().get(i).getPrice()+""); viewHolder.caritem_check.setChecked(chaCarBean.getResult().get(i).isChecked()); viewHolder.caritem_check.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { result.get(i).setChecked(isChecked); boolean selectGoodsChe = selectGoodsChe(); checkBox.setChecked(selectGoodsChe); zongjia(); } }); viewHolder.myView.setNumCallBack(new MyView.numCallBack() { @Override public void getBack(int shu) { chaCarBean.getResult().get(i).setCount(shu); //shuliang = num; //Log.i("eeeee", "getBack: "+num); zongjia(); notifyDataSetChanged(); } }); result = chaCarBean.getResult(); } @Override public int getItemCount() { return chaCarBean.getResult().size(); } //Activity 的 复选框 public void setCheck(CheckBox car_chckbox) { this.checkBox = car_chckbox; checkBox.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { boolean checked = checkBox.isChecked(); selectAll(checked); } private void selectAll(boolean checked) { for (int i = 0; i < result.size(); i++) { result.get(i).setChecked(checked); } notifyDataSetChanged(); } }); } //Activity 的总价 public void setsum(TextView sum) { this.price = sum; notifyDataSetChanged(); } private boolean selectGoodsChe() { for (int i = 0; i < result.size(); i++) { boolean b = result.get(i).isChecked(); if (!b){ return false; } } return true; }private void zongjia(){ //初始化价钱 int sum = 0; for (int i = 0; i <result.size() ; i++) { boolean checked = chaCarBean.getResult().get(i).isChecked(); if (checked){ sum +=result.get(i).getCount()*result.get(i).getPrice(); } } price.setText(sum+"");
}
public List<ChaCarBean.ResultBean> getData(){ return result; } public class ViewHolder extends RecyclerView.ViewHolder { ImageView imageView; TextView name,price; CheckBox caritem_check; MyView myView; public ViewHolder(@NonNull View itemView) { super(itemView); imageView = itemView.findViewById(R.id.caritem_image); name = itemView.findViewById(R.id.caritem_name); price = itemView.findViewById(R.id.caritem_price); caritem_check = itemView.findViewById(R.id.caritem_check); myView = itemView.findViewById(R.id.caritem_myview); } }}
-------------------------------------------------- 订单----------------------- public class CloseActivity extends BaseActivity { @BindView(R.id.close_recycler) RecyclerView closeRecycler; @BindView(R.id.close_sumcount) TextView closeSumcount; @BindView(R.id.close_sumprice) TextView closeSumprice; @BindView(R.id.close_shouhuoname) TextView closeShouhuoname; @BindView(R.id.close_shouhuophone) TextView closeShouhuophone; @BindView(R.id.close_shouhuoaddress) TextView closeShouhuoaddress; @BindView(R.id.close_commit) Button closeCommit; private int count = 1; private List<ChaCarBean.ResultBean> list = new ArrayList<>(); List date = new ArrayList<>(); private int commodityId; private int id; private Persion persion; int sum = 0; private CloseAdapter closeAdapter; private int getsum;
@Override protected void bindEvent() { closeCommit.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { for (int i = 0; i < list.size(); i++) { commodityId = list.get(i).getCommodityId(); date.add(new DateBeans(list.get(i).getCommodityId(),list.get(i).getCount())); } Gson gson = new Gson(); String s = gson.toJson(date); CharSequence text = closeSumprice.getText(); Double aDouble = Double.valueOf((String) text); persion.getorder(s,aDouble,id); Intent intent = new Intent(CloseActivity.this,PayActivity.class); EventBus.getDefault().postSticky(text); startActivity(intent); } }); } @Override protected void initData() { } @Override protected void initView() { EventBus.getDefault().register(this); ButterKnife.bind(this); closeAdapter = new CloseAdapter(this, list); closeRecycler.setAdapter(closeAdapter); closeAdapter.setprice(closeSumprice); closeAdapter.setcount(closeSumcount); closeAdapter.notifyDataSetChanged(); LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this); closeRecycler.setLayoutManager(linearLayoutManager); persion = new Persion(this); persion.getclose(); } @Override protected int bindLayout() { return R.layout.activity_close; } @Subscribe(threadMode = ThreadMode.POSTING, sticky = true) public void onChuanzhi(List<ChaCarBean.ResultBean> list) { this.list = list; } public void getShow(Addressbean addressbean) { List<Addressbean.ResultBean> result = addressbean.getResult(); for (int i = 0; i < result.size(); i++) { if (result.get(i).getWhetherDefault() == 1) { closeShouhuoname.setText(result.get(i).getRealName()); closeShouhuophone.setText(result.get(i).getPhone()); closeShouhuoaddress.setText(result.get(i).getAddress()); id = result.get(i).getId(); } } } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // TODO: add setContentView(...) invocation ButterKnife.bind(this); } public void getOrder(CreatOrderBean orderBean) { Log.i("qweqeqewq","dadad"+orderBean.getMessage()); }}
--------------------------greendao ---------------- public class Frag3 extends Fragment { @BindView(R.id.car_recycler) RecyclerView carRecycler; Unbinder unbinder; @BindView(R.id.car_check) CheckBox carCheck; @BindView(R.id.iten_price) TextView itenPrice; ResultBeanDao dao; private List result; private MyAdapter myAdapter;
@Nullable @Override public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View inflate = inflater.inflate(R.layout.frag3, container, false); unbinder = ButterKnife.bind(this, inflate); dao = DaoMaster.newDevSession(getContext(),ResultBeanDao.TABLENAME).getResultBeanDao(); return inflate; } @Override public void onActivityCreated(@Nullable Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); if (isnetwork()) { Persions persions = new Persions(this); persions.onCarShow("1856", "15583146403631856"); } else { myAdapter.setAll(dao.loadAll()); myAdapter.notifyDataSetChanged(); } LinearLayoutManager linearLayoutManager = new LinearLayoutManager(getContext()); carRecycler.setLayoutManager(linearLayoutManager); } @Override public void onDestroyView() { super.onDestroyView(); unbinder.unbind(); } private boolean isnetwork() { ConnectivityManager connectivityManager = (ConnectivityManager) getContext().getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo info = connectivityManager.getActiveNetworkInfo(); if (info!= null) { info.isAvailable(); } return true; } public void getshow(GoodsBean goodsBean) { myAdapter = new MyAdapter(getContext()); myAdapter.setData(goodsBean); myAdapter.setCheck(carCheck); myAdapter.setSum(itenPrice); result = goodsBean.getResult(); dao.insertOrReplaceInTx(result); carRecycler.setAdapter(myAdapter); }}