------------------------------网络请求 -------------
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);
}
}