ResultCode类设计

经常要使用到一些返回码,所以总结一下经验。

开发的时候,会根据条件返回错误码,通常策划还没有配置错误码的数据,应该保留后端和策划两套错误码:

/**
 * 后端与策划的结果码数据独立分来成两套,有利于维护
 * 
 * @author 林子豪
 *
 */
public enum ResultCode implements Serializable {

	SUCCESS(0, "成功"),
	EXCEPTION(1, "系统出错啦"),
	CONN_ERR(2, "连接失败"),
	PARAM_EMPTY(3, "缺少参数"),
	PAPAM_ILLEGAL(4, "参数格式非法"),
	DATA_EMPTY(5, "数据缺失"),
	DATA_NOT_FOUND(6, "没有找到匹配的数据"),
	CONDITION_NOT_MATCH(7, "没有找到匹配的数据"),
	DATA_ILLEGAL(8, "数据格式非法"),
	DATA_ERROR(9, "数据格式非法"),
	ERROR(10, "操作失败"),
	OPERATION_UNSUPPORTED(11, "当前版本不支持的操作"),
	LOGIN_REQUIRED(12, "需要登录"),
	SERVER_NOT_START(13, "服务器未启动"),
	TOKEN_ILLEGAL(14, "token验证不通过"),
	SERVER_RESTRICTED(15, "服务器维护中");

	private static final long serialVersionUID = 3952740639419677143L;

	private static final int CODE_S
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
很抱歉,由于篇幅和涉及的技术栈等原因,这里无法提供完整的代码。不过,我可以为你提供一些思路和代码示例,帮助你更好地理解如何实现这个应用。 1. 商品分 可以使用RecyclerView来展示商品分列表,使用Adapter来进行数据绑定。同时,也可以使用TabLayout来实现分标签的展示和切换。 ```xml <com.google.android.material.tabs.TabLayout android:id="@+id/tab_layout" android:layout_width="match_parent" android:layout_height="wrap_content" /> <androidx.recyclerview.widget.RecyclerView android:id="@+id/recycler_view" android:layout_width="match_parent" android:layout_height="match_parent" /> ``` ```java // 初始化TabLayout和ViewPager TabLayout tabLayout = findViewById(R.id.tab_layout); ViewPager viewPager = findViewById(R.id.view_pager); viewPager.setAdapter(new CategoryPagerAdapter(getSupportFragmentManager())); tabLayout.setupWithViewPager(viewPager); // Adapter中绑定数据 @Override public void onBindViewHolder(@NonNull ViewHolder holder, int position) { Category category = mCategoryList.get(position); holder.mNameTextView.setText(category.getName()); } // 点击事件处理 tabLayout.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() { @Override public void onTabSelected(TabLayout.Tab tab) { int position = tab.getPosition(); viewPager.setCurrentItem(position); } }); ``` 2. 商品展示 可以使用RecyclerView来展示商品列表,使用Adapter来进行数据绑定。同时,也可以使用Glide等图片加载库来加载商品图片。 ```xml <androidx.recyclerview.widget.RecyclerView android:id="@+id/recycler_view" android:layout_width="match_parent" android:layout_height="match_parent" /> ``` ```java // 初始化RecyclerView和Adapter RecyclerView recyclerView = findViewById(R.id.recycler_view); recyclerView.setLayoutManager(new LinearLayoutManager(this)); recyclerView.setAdapter(new ProductAdapter(mProductList)); // Adapter中绑定数据 @Override public void onBindViewHolder(@NonNull ViewHolder holder, int position) { Product product = mProductList.get(position); holder.mNameTextView.setText(product.getName()); holder.mPriceTextView.setText("¥" + product.getPrice()); Glide.with(holder.itemView.getContext()).load(product.getImageUrl()).into(holder.mImageView); } ``` 3. 购物车 可以使用RecyclerView来展示购物车中的商品列表,使用Adapter来进行数据绑定。同时,也可以使用SharedPreferences或者SQLite等方式来进行购物车数据的存储和管理。 ```xml <androidx.recyclerview.widget.RecyclerView android:id="@+id/recycler_view" android:layout_width="match_parent" android:layout_height="match_parent" /> ``` ```java // 初始化RecyclerView和Adapter RecyclerView recyclerView = findViewById(R.id.recycler_view); recyclerView.setLayoutManager(new LinearLayoutManager(this)); recyclerView.setAdapter(new CartAdapter(mCartList)); // Adapter中绑定数据 @Override public void onBindViewHolder(@NonNull ViewHolder holder, int position) { CartItem cartItem = mCartList.get(position); holder.mNameTextView.setText(cartItem.getProduct().getName()); holder.mPriceTextView.setText("¥" + cartItem.getProduct().getPrice()); holder.mQuantityTextView.setText(String.valueOf(cartItem.getQuantity())); } ``` 4. 订单管理 可以使用RecyclerView来展示订单列表,使用Adapter来进行数据绑定。同时,也可以使用SQLite或者其他数据库来进行订单数据的存储和管理。 ```xml <androidx.recyclerview.widget.RecyclerView android:id="@+id/recycler_view" android:layout_width="match_parent" android:layout_height="match_parent" /> ``` ```java // 初始化RecyclerView和Adapter RecyclerView recyclerView = findViewById(R.id.recycler_view); recyclerView.setLayoutManager(new LinearLayoutManager(this)); recyclerView.setAdapter(new OrderAdapter(mOrderList)); // Adapter中绑定数据 @Override public void onBindViewHolder(@NonNull ViewHolder holder, int position) { Order order = mOrderList.get(position); holder.mOrderNumberTextView.setText(order.getOrderNumber()); holder.mStatusTextView.setText(order.getStatus()); holder.mTotalPriceTextView.setText("¥" + order.getTotalPrice()); holder.mDateTextView.setText(order.getDate()); } ``` 5. 支付 可以使用支付宝SDK或者微信支付SDK等第三方支付库来进行支付操作。可以根据具体情况选择合适的库来使用。 ```java // 调用支付宝SDK进行支付 PayTask payTask = new PayTask(this); String result = payTask.pay(orderInfo, true); if (TextUtils.equals(resultCode, "9000")) { // 支付成功 } else { // 支付失败 } ``` 以上是一些示例代码,仅供参考。具体的实现方式需要根据自己的具体情况进行调整和完善。希望对你有所帮助。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值