赞
踩
目录
网络资源模板--基于Android Studio 水果商城
用户端
1.1 账号注册登录功能;
1.2 浏览商品及查看商品详情;分类查询;关键字查询;
1.3 添加购物车及购物车商品结算;移除商品;选择支付方式进行付款;
1.4 个人信息查看及更新;密码更新;
1.5 我的订单;查看订单,订单号查询;
1.6 浏览记录;统计浏览过的商品信息;
管理员端
2.1 账号登陆功能;
2.2 商品查看及修改;分类查询;关键字查询;
2.3 商品上架;
2.4 用户订单;用户订单查询;订单号查询;
2.5 个人信息查看及更新;密码修改;
2.6 用户管理;用户信息增删改查;
1.所有页面效果图
这个代码是一个Android应用的活动类,用于添加水果信息。它包括一个标题栏、文本输入框、下拉菜单、图像显示等组件。用户可以输入水果的标题、发布单位、图片地址、类型和描述信息。在保存水果信息时,会检查输入的信息是否为空,以及标题是否已存在,然后将数据保存到本地数据库中。
总体而言,这段代码的功能是实现了水果信息的添加和编辑,并在保存时进行了一些简单的验证和处理,如检查标题是否为空以及是否已存在相同的标题。
- <?xml version="1.0" encoding="utf-8"?>
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:orientation="vertical" android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:background="@color/colorWhite">
- <!--标题栏-->
- <LinearLayout
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:background="@drawable/bg_border_bottom">
- <com.example.fruit.widget.ActionBar
- android:id="@+id/myActionBar"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"/>
- </LinearLayout>
- <ImageView
- android:layout_gravity="center"
- android:layout_width="match_parent"
- android:layout_height="100dp"
- android:layout_marginTop="0dp"
- android:layout_marginBottom="10dp"
- android:src="@drawable/a1" />
-
-
- <!--表单布局-->
- <ScrollView
- android:layout_width="match_parent"
- android:layout_height="wrap_content">
- <LinearLayout
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:paddingLeft="20dp"
- android:paddingRight="20dp"
- android:orientation="vertical">
- <!--账号-->
- <LinearLayout
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:background="@drawable/bg_border_bottom"
- android:paddingTop="15dp"
- android:paddingBottom="15dp"
- android:orientation="horizontal">
- <!--TextView 文本 html的p标签-->
- <TextView
- android:layout_width="70dp"
- android:layout_height="wrap_content"
- android:gravity="start"
- android:text="标题:"
- android:textColor="#000000"
- android:textSize="14dp" />
-
- <EditText
- android:id="@+id/title"
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:layout_weight="2"
- android:background="@null"
- android:textSize="14dp"
-
- android:singleLine="true"
- android:hint="请输入标题" />
- </LinearLayout>
-
- <LinearLayout
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:orientation="horizontal">
- <LinearLayout
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:layout_weight="1"
- android:background="@drawable/bg_border_bottom"
- android:paddingTop="15dp"
- android:paddingBottom="15dp"
- android:orientation="horizontal">
- <!--TextView 文本 html的p标签-->
- <TextView
- android:layout_width="70dp"
- android:layout_height="wrap_content"
- android:gravity="start"
- android:text="图片:"
- android:textColor="#000000"
- android:textSize="14dp" />
-
- <EditText
- android:id="@+id/img"
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:layout_weight="2"
- android:background="@null"
- android:textSize="14dp"
- android:singleLine="true"
- android:hint="请输入图片地址" />
- </LinearLayout>
- <ImageView
- android:id="@+id/iv_img"
- android:layout_width="50dp"
- android:layout_height="match_parent"
- android:layout_marginLeft="10dp"/>
- </LinearLayout>
- <LinearLayout
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:background="@drawable/bg_border_bottom"
- android:paddingTop="15dp"
- android:paddingBottom="15dp"
- android:orientation="horizontal">
- <!--TextView 文本 html的p标签-->
- <TextView
- android:layout_width="70dp"
- android:layout_height="wrap_content"
- android:gravity="start"
- android:text="类型:"
- android:textColor="#000000"
- android:textSize="14dp" />
- <Spinner
- android:id="@+id/type"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:entries="@array/type"/>
- </LinearLayout>
- <LinearLayout
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:background="@drawable/bg_border_bottom"
- android:paddingTop="15dp"
- android:paddingBottom="15dp"
- android:orientation="horizontal">
- <!--TextView 文本 html的p标签-->
- <TextView
- android:layout_width="70dp"
- android:layout_height="wrap_content"
- android:gravity="start"
- android:text="价格:"
- android:textColor="#000000"
- android:textSize="14dp" />
- <EditText
- android:id="@+id/issuer"
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:layout_weight="2"
- android:background="@null"
- android:textSize="14dp"
- android:singleLine="true"
- android:hint="请输入价格" />
- </LinearLayout>
- <!--描述-->
- <LinearLayout
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:background="@drawable/bg_border_bottom"
- android:paddingTop="15dp"
- android:orientation="vertical">
- <!--TextView 文本 html的p标签-->
- <TextView
- android:layout_width="70dp"
- android:layout_height="wrap_content"
- android:gravity="start"
- android:textColor="#000000"
- android:text="商品描述:"
- android:textSize="14dp" />
- <EditText
- android:id="@+id/content"
- android:layout_width="match_parent"
- android:layout_marginTop="10dp"
- android:padding="10dp"
- android:layout_height="match_parent"
- android:background="@drawable/bg_border_bottom"
- android:textSize="14dp"
- android:hint="请输入商品信息" />
- </LinearLayout>
- <!--注册按钮-->
- <Button
- android:onClick="save"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_marginTop="50dp"
- android:background="@drawable/btn_border_fill"
- android:textColor="@color/colorWhite"
- android:layout_marginBottom="20dp"
- android:textSize="22dp"
- android:textAllCaps="false"
- android:text="保存"/>
- </LinearLayout>
- </ScrollView>
-
- </LinearLayout>
这段代码是一个Android应用中的活动(Activity),用于显示水果的详细信息。让我来总结一下:
1. 导入了必要的类和库。
2. 创建了一个继承自AppCompatActivity的FruitDetailActivity类。
3. 在onCreate()方法中,设置了布局文件,并找到了布局中的各个视图组件。
4. 设置了标题栏ActionBar,包括左侧返回按钮的点击事件处理。
5. 通过Intent获取传递过来的Fruit对象,并将其属性设置到对应的视图中,包括标题、上架时间、内容和发布者等。
6. 使用Glide库加载水果的图片,并设置到ImageView中。
7. 根据用户浏览记录和购物车中的商品情况,动态设置了收藏按钮和取消收藏按钮的可见性。
8. 实现了收藏按钮和取消收藏按钮的点击事件处理,分别添加和删除购物车中的商品,并显示相应的Toast提示消息。
这段代码的功能主要是展示商品详情,并提供了收藏和取消收藏的功能。
- package com.example.fruit.ui.activity;
-
- import android.app.Activity;
- import android.os.Bundle;
- import android.view.View;
- import android.widget.Button;
- import android.widget.ImageView;
- import android.widget.TextView;
- import android.widget.Toast;
-
- import androidx.annotation.Nullable;
- import androidx.appcompat.app.AppCompatActivity;
-
- import com.bumptech.glide.Glide;
- import com.bumptech.glide.load.engine.DiskCacheStrategy;
- import com.example.fruit.R;
- import com.example.fruit.bean.Browse;
- import com.example.fruit.bean.Car;
- import com.example.fruit.bean.Fruit;
- import com.example.fruit.util.SPUtils;
- import com.example.fruit.widget.ActionBar;
-
- import org.litepal.crud.DataSupport;
-
- import java.text.SimpleDateFormat;
- import java.util.Date;
-
-
- /**
- * 水果明细信息
- */
- public class FruitDetailActivity extends AppCompatActivity {
- private Activity mActivity;
- private ImageView ivImg;
- private TextView tvTitle;
- private TextView tvDate;
- private TextView tvContent;
- private TextView tvIssuer;
- private Button btnCollect;
- private Button btnCancel;
- private ActionBar mActionBar;//标题栏
- private SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- @Override
- protected void onCreate(@Nullable Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- mActivity = this;
- setContentView(R.layout.activity_fruit_detail);
- ivImg = findViewById(R.id.img);
- tvTitle= findViewById(R.id.title);
- tvDate = findViewById(R.id.date);
- tvContent = findViewById(R.id.content);
- tvIssuer = findViewById(R.id.issuer);
- btnCollect = findViewById(R.id.btn_collect);
- btnCancel = findViewById(R.id.btn_cancel);
- mActionBar = findViewById(R.id.myActionBar);
- //侧滑菜单
- mActionBar.setData(mActivity,"商品详情", R.drawable.ic_back, 0, 0, getResources().getColor(R.color.colorPrimary), new ActionBar.ActionBarClickListener() {
- @Override
- public void onLeftClick() {
- finish();
- }
-
- @Override
- public void onRightClick() {
- }
- });
- Fruit fruit = (Fruit) getIntent().getSerializableExtra("fruit");
- tvTitle.setText(fruit.getTitle());
- tvDate.setText(String.format("上架时间:%s",fruit.getDate()));
- tvContent.setText(fruit.getContent());
- tvIssuer.setText(String.format("¥ %s",fruit.getIssuer()));
- Glide.with(mActivity)
- .asBitmap()
- .skipMemoryCache(true)
- .load(fruit.getImg())
- .diskCacheStrategy(DiskCacheStrategy.NONE)
- .into(ivImg);
- String account = (String) SPUtils.get(mActivity,SPUtils.ACCOUNT,"");
- //浏览记录
- Browse browse = DataSupport.where("account = ? and title = ?",account,fruit.getTitle()).findFirst(Browse.class);//浏览记录
- if (browse == null) {//不存在该条浏览记录 新增记录
- Browse browse1 = new Browse(account,fruit.getTitle());
- browse1.save();
- }
-
- Boolean isAdmin = (Boolean) SPUtils.get(mActivity,SPUtils.IS_ADMIN,false);
- if (!isAdmin){
- Car order = DataSupport.where("account = ? and title = ?",account,fruit.getTitle()).findFirst(Car.class);
- btnCollect.setVisibility(order!=null?View.GONE:View.VISIBLE);
- btnCancel.setVisibility(order!=null?View.VISIBLE:View.GONE);
- }
- //收藏
- btnCollect.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- Car car = new Car(fruit.getIssuer(),account,fruit.getTitle(),"S"+System.currentTimeMillis(),account,sf.format(new Date()));
- car.save();
- Toast.makeText(mActivity,"加入购物车成功", Toast.LENGTH_SHORT).show();
- btnCollect.setVisibility(View.GONE);
- btnCancel.setVisibility(View.VISIBLE);
- }
- });
- //取消收藏
- btnCancel.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- Car order = DataSupport.where("account = ? and title = ?",account,fruit.getTitle()).findFirst(Car.class);
- order.delete();
- Toast.makeText(mActivity,"已从购物车移除", Toast.LENGTH_SHORT).show();
- btnCollect.setVisibility(View.VISIBLE);
- btnCancel.setVisibility(View.GONE);
- }
- });
- }
- }
这段代码是一个名为 UserFragment 的 Android Fragment 类,用于显示用户个人中心界面。在 onCreateView 方法中初始化了界面布局,并在 initView 方法中设置了各个功能按钮的点击事件处理逻辑。具体功能包括个人信息、用户管理、账号安全、浏览记录、我的订单等。同时根据用户是否为管理员,动态显示或隐藏相应的功能按钮。点击联系客服时会显示一个 Toast 提示,点击退出登录时会清除用户数据并跳转到登录界面。
- package com.example.fruit.ui.fragment;
-
- import android.app.Activity;
- import android.app.Fragment;
- import android.content.Context;
- import android.content.Intent;
- import android.net.Uri;
- import android.os.Bundle;
- import android.view.LayoutInflater;
- import android.view.View;
- import android.view.ViewGroup;
- import android.widget.Button;
- import android.widget.LinearLayout;
- import android.widget.Toast;
-
- import com.example.fruit.bean.Browse;
- import com.example.fruit.ui.activity.BrowseActivity;
- import com.example.fruit.ui.activity.ManageActivity;
- import com.example.fruit.MyApplication;
- import com.example.fruit.ui.activity.OrderActivity;
- import com.example.fruit.R;
- import com.example.fruit.ui.activity.LoginActivity;
- import com.example.fruit.ui.activity.PasswordActivity;
- import com.example.fruit.ui.activity.PersonActivity;
- import com.example.fruit.util.SPUtils;
-
- /**
- * 个人中心
- */
- public class UserFragment extends Fragment {
- private Activity mActivity;
- private LinearLayout llPerson;
- private LinearLayout llSecurity;
-
- private LinearLayout llFavorite;
- private LinearLayout llBrowse;
- private LinearLayout order;
- private LinearLayout manage;
- private Button btnLogout;
- @Override
- public void onAttach(Context context) {
- super.onAttach(context);
- mActivity = (Activity) context;
- }
-
- @Override
- public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
- View view = inflater.inflate(R.layout.fragment_user,container,false);
- llPerson = view.findViewById(R.id.person);
- llSecurity = view.findViewById(R.id.security);
- llBrowse = view.findViewById(R.id.browse);
- order = view.findViewById(R.id.order);
- manage = view.findViewById(R.id.manage);
- btnLogout = view.findViewById(R.id.logout);
- llFavorite = view.findViewById(R.id.favorite);
- initView();
- return view;
- }
-
- private void initView() {
- Boolean isAdmin = (Boolean) SPUtils.get(mActivity,SPUtils.IS_ADMIN,false);
-
- llFavorite.setVisibility(isAdmin?View.GONE:View.VISIBLE);
- order.setVisibility(isAdmin?View.GONE:View.VISIBLE);
- llBrowse.setVisibility(isAdmin?View.GONE:View.VISIBLE);
- manage.setVisibility(isAdmin?View.VISIBLE:View.GONE);
- //个人信息
- llPerson.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- //跳转页面
- Intent intent = new Intent(mActivity, PersonActivity.class);
- startActivity(intent);
- }
- });
- //用户管理
- manage.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- //跳转页面
- Intent intent = new Intent(mActivity, ManageActivity.class);
- startActivity(intent);
- }
- });
- //账号安全
- llSecurity.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- //跳转页面
- Intent intent = new Intent(mActivity, PasswordActivity.class);
- startActivity(intent);
- }
- });
- //浏览记录
- llBrowse.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- //跳转页面
- Intent intent = new Intent(mActivity, BrowseActivity.class);
- startActivity(intent);
- }
- });
-
- //我的订单
- order.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- //跳转页面
- Intent intent = new Intent(mActivity, OrderActivity.class);
- startActivity(intent);
- }
- });
- //联系客服
- llFavorite.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- //跳转页面
- //跳转到我的资料卡
- Toast.makeText(mActivity, "请联系QQ:123", Toast.LENGTH_SHORT).show();
- }
- });
- //退出登录
- btnLogout.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- MyApplication.Instance.getMainActivity().finish();
- SPUtils.remove(mActivity,SPUtils.IS_ADMIN);
- SPUtils.remove(mActivity,SPUtils.ACCOUNT);
- startActivity(new Intent(mActivity, LoginActivity.class));
- }
- });
- }
- }
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小惠珠哦/article/detail/968841
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。