diff --git a/.idea/misc.xml b/.idea/misc.xml index d8c3351..d56d8a8 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -3,11 +3,11 @@ diff --git a/app/build.gradle b/app/build.gradle index 48d8a4d..ab5dbe7 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -4,6 +4,9 @@ plugins { android { compileSdk 32 + viewBinding { + enabled = true + } defaultConfig { applicationId "com.android" diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index a150842..a103552 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -26,31 +26,35 @@ android:theme="@style/Theme.Android_Couser_Design" tools:targetApi="31"> + - - + android:exported="false" + android:launchMode="singleTask"> + + - - + + + android:exported="true" + android:launchMode="singleTask"> - - + + - - + + - + \ No newline at end of file diff --git a/app/src/main/java/com/android/activity/ConfirmPurchaseActivity.java b/app/src/main/java/com/android/activity/ConfirmPurchaseActivity.java new file mode 100644 index 0000000..f32457f --- /dev/null +++ b/app/src/main/java/com/android/activity/ConfirmPurchaseActivity.java @@ -0,0 +1,129 @@ +package com.android.activity; + +import androidx.appcompat.app.AppCompatActivity; + +import android.content.Intent; +import android.os.Bundle; +import android.util.Log; +import android.view.View; + +import com.android.R; +import com.android.bean.Good; +import com.android.bean.ResponseData; +import com.android.bean.User; +import com.android.bean.postBean.UserPurchase; +import com.android.databinding.ActivityConfirmPurchaseBinding; +import com.android.databinding.ActivityMainBinding; +import com.android.model.purchase.GoodsTradeListener; +import com.android.model.purchase.GoodsTradingModel; +import com.android.model.purchase.GoodsTradingModelimpl; +import com.android.utils.ToastUtil; +import com.bumptech.glide.Glide; + +import org.greenrobot.eventbus.EventBus; +import org.greenrobot.eventbus.Subscribe; +import org.greenrobot.eventbus.ThreadMode; + +public class ConfirmPurchaseActivity extends AppCompatActivity implements View.OnClickListener, GoodsTradeListener { + private Good goods; + private User user; + private GoodsTradingModel tradingModel; + private UserPurchase userPurchase; + + //视图绑定 + private ActivityConfirmPurchaseBinding binding; + private View view; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + //注册eventbus + EventBus.getDefault().register(this); + +// setContentView(R.layout.activity_confirm_purchase); + //初始化binding + binding = ActivityConfirmPurchaseBinding.inflate(getLayoutInflater()); + view = binding.getRoot(); + setContentView(view); + + //初始化View + initView(); + tradingModel = new GoodsTradingModelimpl(); + //设置购买按钮监听器 + binding.btnConfirm.setOnClickListener(this); + + } + + private void initView() { + if (goods != null){ + binding.tvPrice.setText(goods.getPrice().toString()); + binding.tvTotalPrice.setText(goods.getPrice().toString()); + binding.tvDesc.setText(goods.getContent()); + binding.tvAddress.setText(goods.getAddr()); + Glide.with(this) + .load(goods.getImageUrlList().get(0)) + .into(binding.ivPic); + } + } + + + //拿取点进来的商品数据 + @Subscribe(threadMode = ThreadMode.MAIN,sticky = true) + public void getGoods(Good data){ + if(data != null){ + this.goods = data; + Log.e("Goods",goods.getImageUrlList().get(0).toString()); + }else { + Log.e("Goods","获取失败"); + + } + } + //拿取点进来的用户数据 + @Subscribe(threadMode = ThreadMode.POSTING,sticky = true) + public void getLoginUser(ResponseData responseData){ + this.user = responseData.getData(); + } + + @Override + protected void onDestroy() { + + //解注eventbus + super.onDestroy(); + EventBus.getDefault().unregister(this); + } + + @Override + public void onClick(View v) { + switch (v.getId()){ + case R.id.btn_confirm: + onPurchase(); + Log.e("1",goods.getId().toString()); + + break; + } + } + + private void onPurchase() { + userPurchase = new UserPurchase(); + userPurchase.setGoodsId(goods.getId()); + userPurchase.setPrice(goods.getPrice()); + userPurchase.setBuyerId(user.getId()); + userPurchase.setSellerId(goods.gettUserId()); + tradingModel.goodsTrading(this,userPurchase); + } + + @Override + public void onSuccessGoodsTrading(ResponseData responseData) { + Log.e("ConfirmPurchaseActivity",String.valueOf(responseData.getCode())); + if(responseData.getCode() == 200){ + ToastUtil.showMsg(this,"购买商品成功"); + Intent intent = new Intent(this, HomePageActivity.class); + startActivity(intent); + } + } + + @Override + public void onFail(ResponseData responseData) { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/android/activity/GoodsDetailsActivity.java b/app/src/main/java/com/android/activity/GoodsDetailsActivity.java index 7307fe9..121ae1a 100644 --- a/app/src/main/java/com/android/activity/GoodsDetailsActivity.java +++ b/app/src/main/java/com/android/activity/GoodsDetailsActivity.java @@ -2,18 +2,47 @@ package com.android.activity; import androidx.appcompat.app.AppCompatActivity; +import android.content.Intent; import android.os.Bundle; import android.util.Log; +import android.view.View; +import android.widget.Button; +import android.widget.ImageView; +import android.widget.TextView; import com.android.R; import com.android.bean.Good; +import com.android.bean.ResponseData; +import com.android.bean.User; +import com.bumptech.glide.Glide; import org.greenrobot.eventbus.EventBus; import org.greenrobot.eventbus.Subscribe; import org.greenrobot.eventbus.ThreadMode; -public class GoodsDetailsActivity extends AppCompatActivity { - private Good good; +public class GoodsDetailsActivity extends AppCompatActivity implements View.OnClickListener{ + private Good goods; + private User user; + + private ImageView ivHeadPortrait; + private TextView tvUsrName; + private TextView tvLocation; + private TextView tvPrice; + private TextView tvDesc; + private ImageView ivPic; + private Button btnComment; + private Button btnCollect; + private Button btnTalk; + private Button btnCart; + + private String headPortrait; + private String usrName; + private String location; + private String price; + private String desc; + private String picUrl; + + @Override protected void onCreate(Bundle savedInstanceState) { @@ -21,19 +50,74 @@ public class GoodsDetailsActivity extends AppCompatActivity { setContentView(R.layout.activity_goods_details); //注册EventBus EventBus.getDefault().register(this); + + initData(); + initView(); + //点击购物车按钮 + purchase(); + } + + private void purchase() { + btnCart.setOnClickListener(this); + } + + private void initData() { + if (goods != null){ + usrName = goods.getUsername(); + location = goods.getAddr(); + price = goods.getPrice().toString(); + desc = goods.getContent(); + picUrl = goods.getImageUrlList().get(0).toString(); + + } + } - //拿取数据 + private void initView() { + tvUsrName = findViewById(R.id.tv_username); + tvLocation = findViewById(R.id.tv_location); + tvPrice = findViewById(R.id.tv_price); + tvDesc = findViewById(R.id.tv_desc); + ivPic = findViewById(R.id.iv_pic); + btnCart = findViewById(R.id.btn_buy_cart); + btnComment = findViewById(R.id.btn_comment); + btnCollect = findViewById(R.id.btn_collect); + btnTalk = findViewById(R.id.btn_talk); + + if (usrName != null) + tvUsrName.setText(usrName); + if (location != null) + tvLocation.setText(location); + if (price != null) + tvPrice.setText(price); + if (desc != null) + tvDesc.setText(desc); + if (picUrl != null){ + Glide.with(this) + .load(picUrl) + .into(ivPic); + } + + + + } + + //拿取点进来的商品数据 @Subscribe(threadMode = ThreadMode.MAIN,sticky = true) public void getGoods(Good data){ if(data != null){ - this.good = data; - Log.e("GoodsDetailsActivity",good.getContent()); + this.goods = data; + Log.e("Goods",goods.getImageUrlList().get(0).toString()); }else { - Log.e("GoodsDetailsActivity","获取失败"); + Log.e("Goods","获取失败"); } } + //拿取点进来的用户数据 + @Subscribe(threadMode = ThreadMode.POSTING,sticky = true) + public void getLoginUser(ResponseData responseData){ + this.user = responseData.getData(); + } @@ -43,4 +127,14 @@ public class GoodsDetailsActivity extends AppCompatActivity { EventBus.getDefault().unregister(this); super.onDestroy(); } + + @Override + public void onClick(View v) { + switch (v.getId()){ + case R.id.btn_buy_cart: + Intent intent = new Intent(this,ConfirmPurchaseActivity.class); + startActivity(intent); + break; + } + } } \ No newline at end of file diff --git a/app/src/main/java/com/android/activity/HomePageActivity.java b/app/src/main/java/com/android/activity/HomePageActivity.java index e669fa4..6f4013f 100644 --- a/app/src/main/java/com/android/activity/HomePageActivity.java +++ b/app/src/main/java/com/android/activity/HomePageActivity.java @@ -13,7 +13,7 @@ import com.android.R; import com.android.activity.fragment.HomePageFragment; import com.android.activity.fragment.MessagePageFragment; import com.android.activity.fragment.MyPageFragment; -import com.android.activity.fragment.ShopCarPageFragment; +import com.android.activity.fragment.PublishProductFragment; import com.google.android.material.bottomnavigation.BottomNavigationView; import com.google.android.material.navigation.NavigationBarView; import com.google.android.material.navigation.NavigationView; @@ -71,7 +71,7 @@ public class HomePageActivity extends AppCompatActivity implements BottomNavigat break; case R.id.item_shop: - fragmentTransaction.replace(R.id.fragment_container, new ShopCarPageFragment()); + fragmentTransaction.replace(R.id.fragment_container, new PublishProductFragment()); fragmentTransaction.commit(); break; case R.id.item_home: diff --git a/app/src/main/java/com/android/activity/fragment/GoodsTypeFragment.java b/app/src/main/java/com/android/activity/fragment/GoodsTypeFragment.java index c000893..a14ab76 100644 --- a/app/src/main/java/com/android/activity/fragment/GoodsTypeFragment.java +++ b/app/src/main/java/com/android/activity/fragment/GoodsTypeFragment.java @@ -24,7 +24,6 @@ import com.android.activity.adapter.StaggerAdapter; import com.android.bean.Good; import com.android.bean.ResponseData; import com.android.bean.User; -import com.android.utils.eventBus.EventMsg; import org.greenrobot.eventbus.EventBus; import org.greenrobot.eventbus.Subscribe; diff --git a/app/src/main/java/com/android/activity/fragment/HomePageFragment.java b/app/src/main/java/com/android/activity/fragment/HomePageFragment.java index 51e3386..03e901e 100644 --- a/app/src/main/java/com/android/activity/fragment/HomePageFragment.java +++ b/app/src/main/java/com/android/activity/fragment/HomePageFragment.java @@ -24,7 +24,6 @@ import com.android.bean.ResponseData; import com.android.bean.User; import com.android.model.goods.GoodsListener; import com.android.model.goods.GoodsModelimpl; -import com.android.utils.eventBus.EventMsg; import com.google.android.material.tabs.TabLayout; import com.google.android.material.tabs.TabLayoutMediator; diff --git a/app/src/main/java/com/android/activity/fragment/ShopCarPageFragment.java b/app/src/main/java/com/android/activity/fragment/PublishProductFragment.java similarity index 81% rename from app/src/main/java/com/android/activity/fragment/ShopCarPageFragment.java rename to app/src/main/java/com/android/activity/fragment/PublishProductFragment.java index 0bda762..ad13358 100644 --- a/app/src/main/java/com/android/activity/fragment/ShopCarPageFragment.java +++ b/app/src/main/java/com/android/activity/fragment/PublishProductFragment.java @@ -12,10 +12,9 @@ import com.android.R; /** * A simple {@link Fragment} subclass. - * Use the {@link ShopCarPageFragment#newInstance} factory method to * create an instance of this fragment. */ -public class ShopCarPageFragment extends Fragment { +public class PublishProductFragment extends Fragment { // TODO: Rename parameter arguments, choose names that match // the fragment initialization parameters, e.g. ARG_ITEM_NUMBER @@ -26,7 +25,7 @@ public class ShopCarPageFragment extends Fragment { private String mParam1; private String mParam2; - public ShopCarPageFragment() { + public PublishProductFragment() { // Required empty public constructor } @@ -39,8 +38,8 @@ public class ShopCarPageFragment extends Fragment { * @return A new instance of fragment ShopPageFragment. */ // TODO: Rename and change types and number of parameters - public static ShopCarPageFragment newInstance(String param1, String param2) { - ShopCarPageFragment fragment = new ShopCarPageFragment(); + public static PublishProductFragment newInstance(String param1, String param2) { + PublishProductFragment fragment = new PublishProductFragment(); Bundle args = new Bundle(); args.putString(ARG_PARAM1, param1); args.putString(ARG_PARAM2, param2); @@ -61,6 +60,6 @@ public class ShopCarPageFragment extends Fragment { public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // Inflate the layout for this fragment - return inflater.inflate(R.layout.fragment_shop_page, container, false); + return inflater.inflate(R.layout.fragment_publish_page, container, false); } } \ No newline at end of file diff --git a/app/src/main/java/com/android/bean/postBean/UserPurchase.java b/app/src/main/java/com/android/bean/postBean/UserPurchase.java new file mode 100644 index 0000000..099e382 --- /dev/null +++ b/app/src/main/java/com/android/bean/postBean/UserPurchase.java @@ -0,0 +1,49 @@ +package com.android.bean.postBean; + +import com.google.gson.annotations.SerializedName; + +public class UserPurchase { + @SerializedName("buyerId") + private Long buyerId; + @SerializedName("goodsId") + private Long goodsId; + @SerializedName("price") + private Integer price; + @SerializedName("sellerId") + private Long sellerId; + + public UserPurchase() { + } + + public Long getBuyerId() { + return buyerId; + } + + public void setBuyerId(Long buyerId) { + this.buyerId = buyerId; + } + + public Long getGoodsId() { + return goodsId; + } + + public void setGoodsId(Long goodsId) { + this.goodsId = goodsId; + } + + public Integer getPrice() { + return price; + } + + public void setPrice(Integer price) { + this.price = price; + } + + public Long getSellerId() { + return sellerId; + } + + public void setSellerId(Long sellerId) { + this.sellerId = sellerId; + } +} diff --git a/app/src/main/java/com/android/model/goods/GoodsHttp_interface.java b/app/src/main/java/com/android/model/goods/GoodsHttp_interface.java index 022de25..fb8df8c 100644 --- a/app/src/main/java/com/android/model/goods/GoodsHttp_interface.java +++ b/app/src/main/java/com/android/model/goods/GoodsHttp_interface.java @@ -1,6 +1,5 @@ package com.android.model.goods; -import com.android.bean.Good; import com.android.bean.GoodRecords; import com.android.bean.GoodsType; import com.android.bean.ResponseData; @@ -8,7 +7,6 @@ import com.android.bean.ResponseData; import java.util.List; import java.util.Map; -import io.reactivex.rxjava3.annotations.NonNull; import io.reactivex.rxjava3.core.Observable; import retrofit2.http.GET; import retrofit2.http.Headers; diff --git a/app/src/main/java/com/android/model/goods/GoodsModelimpl.java b/app/src/main/java/com/android/model/goods/GoodsModelimpl.java index 7431dd1..fffba95 100644 --- a/app/src/main/java/com/android/model/goods/GoodsModelimpl.java +++ b/app/src/main/java/com/android/model/goods/GoodsModelimpl.java @@ -10,6 +10,7 @@ import com.android.bean.GoodsType; import com.android.bean.ResponseData; import com.android.bean.User; import com.android.model.login.LoginListener; +import com.android.utils.constraint.Constants; import java.util.List; import java.util.Map; @@ -39,10 +40,11 @@ public class GoodsModelimpl implements GoodsModel{ @Override public void getAllGoodsType(GoodsListener goodsListener) { Retrofit retrofit = new Retrofit.Builder() - .baseUrl("http://47.107.52.7:88/member/") + .baseUrl(Constants.BASE_URL) .addConverterFactory(GsonConverterFactory.create()) .addCallAdapterFactory(RxJava3CallAdapterFactory.create()) .build(); + GoodsHttp_interface httpInterface = retrofit.create(GoodsHttp_interface.class); Observable>> observable @@ -77,7 +79,7 @@ public class GoodsModelimpl implements GoodsModel{ @Override public void getAllGood(GoodsListener goodsListener) { Retrofit retrofit = new Retrofit.Builder() - .baseUrl("http://47.107.52.7:88/member/") + .baseUrl(Constants.BASE_URL) .addConverterFactory(GsonConverterFactory.create()) .addCallAdapterFactory(RxJava3CallAdapterFactory.create()) .build(); @@ -88,7 +90,7 @@ public class GoodsModelimpl implements GoodsModel{ Observable> observable - = httpInterface.sendGetAllGood(6l, map); + = httpInterface.sendGetAllGood(user.getId(), map); observable.subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) diff --git a/app/src/main/java/com/android/model/login/LoginModelImpl.java b/app/src/main/java/com/android/model/login/LoginModelImpl.java index cc3c4c3..1607a27 100644 --- a/app/src/main/java/com/android/model/login/LoginModelImpl.java +++ b/app/src/main/java/com/android/model/login/LoginModelImpl.java @@ -4,6 +4,7 @@ import android.util.Log; import com.android.bean.ResponseData; import com.android.bean.User; +import com.android.utils.constraint.Constants; import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers; import io.reactivex.rxjava3.annotations.NonNull; @@ -27,7 +28,7 @@ public class LoginModelImpl implements LoginModel{ @Override public void longin(String account,String phoneCode,final LoginListener loginListener) { Retrofit retrofit = new Retrofit.Builder() - .baseUrl("http://47.107.52.7:88/member/") + .baseUrl(Constants.BASE_URL) .addConverterFactory(GsonConverterFactory.create()) .addCallAdapterFactory(RxJava3CallAdapterFactory.create()) .build(); @@ -73,7 +74,7 @@ public class LoginModelImpl implements LoginModel{ @Override public void sendVerifyCode(String phoneNumber,final LoginListener loginListener) { Retrofit retrofit = new Retrofit.Builder() - .baseUrl("http://47.107.52.7:88/member/") + .baseUrl(Constants.BASE_URL) .addCallAdapterFactory(RxJava3CallAdapterFactory.create()) .addConverterFactory(GsonConverterFactory.create()) .build(); @@ -116,7 +117,7 @@ public class LoginModelImpl implements LoginModel{ @Override public void registerUser(String phoneNumber, String code,final LoginListener loginListener) { Retrofit retrofit = new Retrofit.Builder() - .baseUrl("http://47.107.52.7:88/member/") + .baseUrl(Constants.BASE_URL) .addCallAdapterFactory(RxJava3CallAdapterFactory.create()) .addConverterFactory(GsonConverterFactory.create()) .build(); diff --git a/app/src/main/java/com/android/model/purchase/GoodsTradeListener.java b/app/src/main/java/com/android/model/purchase/GoodsTradeListener.java new file mode 100644 index 0000000..4c98192 --- /dev/null +++ b/app/src/main/java/com/android/model/purchase/GoodsTradeListener.java @@ -0,0 +1,8 @@ +package com.android.model.purchase; + +import com.android.bean.ResponseData; + +public interface GoodsTradeListener { + void onSuccessGoodsTrading(ResponseData responseData); + void onFail(ResponseData responseData); +} diff --git a/app/src/main/java/com/android/model/purchase/GoodsTradingModel.java b/app/src/main/java/com/android/model/purchase/GoodsTradingModel.java new file mode 100644 index 0000000..ce95de2 --- /dev/null +++ b/app/src/main/java/com/android/model/purchase/GoodsTradingModel.java @@ -0,0 +1,8 @@ +package com.android.model.purchase; + +import com.android.bean.postBean.UserPurchase; + +public interface GoodsTradingModel { + void goodsTrading(GoodsTradeListener goodsTradeListener, + UserPurchase userPurchase); +} diff --git a/app/src/main/java/com/android/model/purchase/GoodsTradingModelimpl.java b/app/src/main/java/com/android/model/purchase/GoodsTradingModelimpl.java new file mode 100644 index 0000000..81d5982 --- /dev/null +++ b/app/src/main/java/com/android/model/purchase/GoodsTradingModelimpl.java @@ -0,0 +1,70 @@ +package com.android.model.purchase; + +import android.util.Log; + +import com.android.bean.ResponseData; +import com.android.bean.postBean.UserPurchase; +import com.android.utils.constraint.Constants; + +import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers; +import io.reactivex.rxjava3.annotations.NonNull; +import io.reactivex.rxjava3.core.Observable; +import io.reactivex.rxjava3.core.Observer; +import io.reactivex.rxjava3.disposables.Disposable; +import io.reactivex.rxjava3.schedulers.Schedulers; +import retrofit2.Retrofit; +import retrofit2.adapter.rxjava3.RxJava3CallAdapterFactory; +import retrofit2.converter.gson.GsonConverterFactory; + +public class GoodsTradingModelimpl implements GoodsTradingModel{ + @Override + public void goodsTrading(GoodsTradeListener goodsTradeListener, + UserPurchase userPurchase) { + Retrofit retrofit = new Retrofit.Builder() + .baseUrl("http://47.107.52.7:88/member/") + .addConverterFactory(GsonConverterFactory.create()) + .addCallAdapterFactory(RxJava3CallAdapterFactory.create()) + .build(); + + Purchase_interface anInterface + = retrofit.create(Purchase_interface.class); + Log.e("getBuyerId",userPurchase.getBuyerId().toString()); + Log.e("getGoodsId",userPurchase.getGoodsId().toString()); + Log.e("getPrice",userPurchase.getPrice().toString()); + Log.e("sellerId",userPurchase.getSellerId().toString()); + + + Observable> observable + = anInterface.sendTrading(userPurchase.getBuyerId(),userPurchase.getGoodsId(), + userPurchase.getPrice(),userPurchase.getSellerId()); + + observable + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new Observer>() { + @Override + public void onSubscribe(@NonNull Disposable d) { + } + + @Override + public void onNext(@NonNull ResponseData responseData) { + goodsTradeListener.onSuccessGoodsTrading(responseData); + + } + + @Override + public void onError(@NonNull Throwable e) { + Log.e("GoodsTradingModelimpl","请求错误"); + Log.e("GoodsTradingModelimpl",e.toString()); + + } + + @Override + public void onComplete() { + + } + }); + + + } +} diff --git a/app/src/main/java/com/android/model/purchase/Purchase_interface.java b/app/src/main/java/com/android/model/purchase/Purchase_interface.java new file mode 100644 index 0000000..950f85d --- /dev/null +++ b/app/src/main/java/com/android/model/purchase/Purchase_interface.java @@ -0,0 +1,24 @@ +package com.android.model.purchase; + +import com.android.bean.ResponseData; +import com.android.bean.postBean.UserPurchase; + +import io.reactivex.rxjava3.core.Observable; +import retrofit2.http.Body; +import retrofit2.http.Field; +import retrofit2.http.FormUrlEncoded; +import retrofit2.http.GET; +import retrofit2.http.Headers; +import retrofit2.http.POST; +import retrofit2.http.Query; + +public interface Purchase_interface { + @FormUrlEncoded + @POST("tran/trading") + @Headers({"appId:b34ac21286ae45938add627b418a4871", + "appSecret:67526def9de11d4a64f5e80e60ed3372eea69"}) + Observable> sendTrading(@Field("buyerId") Long buyerId, + @Field("goodsId") Long goodsId, + @Field("price") Integer price, + @Field("sellerId") Long sellerId); +} diff --git a/app/src/main/java/com/android/utils/ToastUtil.java b/app/src/main/java/com/android/utils/ToastUtil.java new file mode 100644 index 0000000..0059a7c --- /dev/null +++ b/app/src/main/java/com/android/utils/ToastUtil.java @@ -0,0 +1,18 @@ +package com.android.utils; + +import android.content.Context; +import android.widget.Toast; + +public class ToastUtil { + + public static Toast mToast; + public static void showMsg(Context context, String msg) + { + if(mToast == null){ + mToast = Toast.makeText(context, msg, Toast.LENGTH_LONG); + }else{ + mToast.setText(msg); + } + mToast.show(); + } +} diff --git a/app/src/main/java/com/android/utils/constraint/LoginConstraint.java b/app/src/main/java/com/android/utils/constraint/Constants.java similarity index 90% rename from app/src/main/java/com/android/utils/constraint/LoginConstraint.java rename to app/src/main/java/com/android/utils/constraint/Constants.java index c5edc01..51e38a0 100644 --- a/app/src/main/java/com/android/utils/constraint/LoginConstraint.java +++ b/app/src/main/java/com/android/utils/constraint/Constants.java @@ -1,6 +1,6 @@ package com.android.utils.constraint; -public class LoginConstraint { +public class Constants { public static final String AppId_VALUE = "appId:b34ac21286ae45938add627b418a4871"; public static final String AppSecret_VALUE = "appId:b34ac21286ae45938add627b418a4871"; public static final String BASE_URL = "http://47.107.52.7:88/member/"; diff --git a/app/src/main/java/com/android/utils/eventBus/EventMsg.java b/app/src/main/java/com/android/utils/eventBus/EventMsg.java deleted file mode 100644 index 72de536..0000000 --- a/app/src/main/java/com/android/utils/eventBus/EventMsg.java +++ /dev/null @@ -1,41 +0,0 @@ -package com.android.utils.eventBus; - -import com.android.bean.Good; - -import java.util.List; - -public class EventMsg { - private String msg; - private int status; - private T data; - - public EventMsg(String msg, int status, T data) { - this.msg = msg; - this.status = status; - this.data = data; - } - - public String getMsg() { - return msg; - } - - public void setMsg(String msg) { - this.msg = msg; - } - - public int getStatus() { - return status; - } - - public void setStatus(int status) { - this.status = status; - } - - public T getData() { - return data; - } - - public void setData(T data) { - this.data = data; - } -} diff --git a/app/src/main/res/drawable/addimageiv.png b/app/src/main/res/drawable/addimageiv.png new file mode 100644 index 0000000..d22de20 Binary files /dev/null and b/app/src/main/res/drawable/addimageiv.png differ diff --git a/app/src/main/res/drawable/addiv.png b/app/src/main/res/drawable/addiv.png new file mode 100644 index 0000000..b5bc004 Binary files /dev/null and b/app/src/main/res/drawable/addiv.png differ diff --git a/app/src/main/res/drawable/cart.png b/app/src/main/res/drawable/cart.png new file mode 100644 index 0000000..9e9dc0f Binary files /dev/null and b/app/src/main/res/drawable/cart.png differ diff --git a/app/src/main/res/drawable/chat.png b/app/src/main/res/drawable/chat.png new file mode 100644 index 0000000..c681bdf Binary files /dev/null and b/app/src/main/res/drawable/chat.png differ diff --git a/app/src/main/res/drawable/collect.png b/app/src/main/res/drawable/collect.png new file mode 100644 index 0000000..080ca3f Binary files /dev/null and b/app/src/main/res/drawable/collect.png differ diff --git a/app/src/main/res/drawable/comment.png b/app/src/main/res/drawable/comment.png new file mode 100644 index 0000000..be30ad6 Binary files /dev/null and b/app/src/main/res/drawable/comment.png differ diff --git a/app/src/main/res/drawable/head_portrait.png b/app/src/main/res/drawable/head_portrait.png new file mode 100644 index 0000000..80508e5 Binary files /dev/null and b/app/src/main/res/drawable/head_portrait.png differ diff --git a/app/src/main/res/drawable/home_fill.png b/app/src/main/res/drawable/home_fill.png new file mode 100644 index 0000000..2f14c65 Binary files /dev/null and b/app/src/main/res/drawable/home_fill.png differ diff --git a/app/src/main/res/drawable/logo.jpg b/app/src/main/res/drawable/logo.jpg new file mode 100644 index 0000000..78c4425 Binary files /dev/null and b/app/src/main/res/drawable/logo.jpg differ diff --git a/app/src/main/res/drawable/message_fill.png b/app/src/main/res/drawable/message_fill.png new file mode 100644 index 0000000..d24e17c Binary files /dev/null and b/app/src/main/res/drawable/message_fill.png differ diff --git a/app/src/main/res/drawable/monneyiv.png b/app/src/main/res/drawable/monneyiv.png new file mode 100644 index 0000000..96f38d3 Binary files /dev/null and b/app/src/main/res/drawable/monneyiv.png differ diff --git a/app/src/main/res/drawable/my_fill.png b/app/src/main/res/drawable/my_fill.png new file mode 100644 index 0000000..19c6655 Binary files /dev/null and b/app/src/main/res/drawable/my_fill.png differ diff --git a/app/src/main/res/drawable/price.png b/app/src/main/res/drawable/price.png new file mode 100644 index 0000000..8797cc2 Binary files /dev/null and b/app/src/main/res/drawable/price.png differ diff --git a/app/src/main/res/drawable/publishgoods.png b/app/src/main/res/drawable/publishgoods.png new file mode 100644 index 0000000..a8b4e08 Binary files /dev/null and b/app/src/main/res/drawable/publishgoods.png differ diff --git a/app/src/main/res/drawable/release_orange.png b/app/src/main/res/drawable/release_orange.png new file mode 100644 index 0000000..da5d07b Binary files /dev/null and b/app/src/main/res/drawable/release_orange.png differ diff --git a/app/src/main/res/drawable/releasefinal.png b/app/src/main/res/drawable/releasefinal.png new file mode 100644 index 0000000..85b4f22 Binary files /dev/null and b/app/src/main/res/drawable/releasefinal.png differ diff --git a/app/src/main/res/drawable/releasehome.png b/app/src/main/res/drawable/releasehome.png new file mode 100644 index 0000000..efd2bb8 Binary files /dev/null and b/app/src/main/res/drawable/releasehome.png differ diff --git a/app/src/main/res/drawable/releaseiv.png b/app/src/main/res/drawable/releaseiv.png new file mode 100644 index 0000000..646af07 Binary files /dev/null and b/app/src/main/res/drawable/releaseiv.png differ diff --git a/app/src/main/res/drawable/zan.png b/app/src/main/res/drawable/zan.png new file mode 100644 index 0000000..3a61bf4 Binary files /dev/null and b/app/src/main/res/drawable/zan.png differ diff --git a/app/src/main/res/layout/activity_confirm_purchase.xml b/app/src/main/res/layout/activity_confirm_purchase.xml new file mode 100644 index 0000000..054bd68 --- /dev/null +++ b/app/src/main/res/layout/activity_confirm_purchase.xml @@ -0,0 +1,130 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +