用户名
Email
论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
应用中心
帖子
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
IT评测·应用市场-qidao123.com技术社区
»
论坛
›
软件与程序人生
›
移动端开发
›
基于Android Studio 蜜雪冰城(奶茶饮品点餐)—原创 ...
基于Android Studio 蜜雪冰城(奶茶饮品点餐)—原创
莱莱
论坛元老
|
2025-1-3 19:50:40
|
显示全部楼层
|
阅读模式
楼主
主题
1892
|
帖子
1892
|
积分
5676
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
目录
一、项目演示
二、
开发
情况
三、项目详情
四、项目完备源码
一、项目演示
本项目素材、数据和布局页面参考均来自《蜜雪冰城》,在此特别声明感谢!
基于Android Studio 蜜雪冰城(奶茶饮品)—原创
二、
开发
情况
三、项目详情
1.启动页
这段代码是一个简朴的Android应用程序启动活动(Activity),详细功能如下:
1. **耽误进入登录页面:**
- 在 `onCreate()` 方法中,使用 `Handler` 和 `Runnable` 实现了一个耽误实行的功能,耽误时间为3秒。
- `runnable` 对象的 `run()` 方法调用了 `tomainActive()` 方法,在耽误结束后启动 `LoginRegisterActivity` 并关闭当前的 `StartActivity`。
2. **计时器功能:**
- 界说了一个内部类 `TimeCount`,继续自 `CountDownTimer`,用于实行一个四秒的倒计时利用,每隔一秒触发一次。
- `onFinish()` 方法中,倒计时结束后移除了 `handler` 中的 `runnable` 对象,确保不会在倒计时结束后再次跳转到登录页面。
3. **Activity 生命周期方法:**
- `onCreate()` 方法中,设置了布局文件 `activity_start.xml` 作为界面显示内容,并启动了耽误实行和计时器。
- `onDestroy()` 方法中未显示重写,但在 `toMainActive()` 方法中的 `finish()` 方法确保了在跳转完成后关闭当前 Activity。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#fff">
<ImageView
android:id="@+id/image_mxbc"
android:layout_width="214.0dip"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginTop="166.0dip"
android:scaleType="centerInside"
android:src="@drawable/img_mxbc" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_marginBottom="60.0dip"
android:text="豫ICP备13006352号-7A"
android:textColor="#777777"
android:textSize="10sp" />
<TextView
android:id="@+id/count_down"
android:layout_width="56.0dip"
android:layout_height="28.0dip"
android:layout_alignParentRight="true"
android:layout_alignParentBottom="true"
android:layout_marginRight="20.0dip"
android:layout_marginBottom="50.0dip"
android:background="@drawable/bg_splash_count_down"
android:gravity="center"
android:text="跳过"
android:textColor="#fff"
android:textSize="11sp" />
</RelativeLayout>
复制代码
2.注册、登录
这段代码实现了一个基本的注册页面功能:
- **视图与控件**:包罗关闭页面按钮、手机号、密码、确认密码的输入框以及跳转登录页面按钮和注册按钮。
- **功能与逻辑**:
- 点击关闭按钮或跳转登录按钮可退出当前页面。
- 注册按钮点击后,进行输入验证:
- 查抄手机号、密码和确认密码是否为空。
- 查抄确认密码与密码是否同等。
- 使用 `UserHelper` 类进行数据库利用,将用户信息添加到数据库中。
- 根据利用效果显示注册乐成或失败的提示消息,并结束当前页面。
这段代码通过简朴的逻辑和界面设计,实现了用户注册的基本流程,确保了基本的输入验证和数据库利用功能。
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".Activity.RegisterActivity">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="10dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<ImageView
android:id="@+id/page_close"
android:layout_width="20dp"
android:layout_height="20dp"
android:layout_gravity="left"
android:src="@drawable/icon_cart_close" />
<ImageView
android:layout_width="match_parent"
android:layout_height="150dp"
android:layout_marginTop="40dp"
android:src="@drawable/img_mxbc" />
<EditText
android:id="@+id/register_phone_number"
android:layout_width="fill_parent"
android:layout_height="40dp"
android:layout_marginLeft="15dp"
android:layout_marginTop="40dp"
android:layout_marginRight="15dp"
android:background="@drawable/bg_corner_solid_f5f5f5_6dp"
android:hint="手机号码"
android:inputType="number"
android:paddingLeft="20.0dip"
android:textColor="@color/black"
android:textColorHint="@color/grey_AAAAAA"
android:textCursorDrawable="@drawable/shape_cursor_color"
android:textSize="@dimen/text_size_13sp" />
<EditText
android:id="@+id/register_password"
android:layout_width="match_parent"
android:layout_height="40dp"
android:layout_marginLeft="15dp"
android:layout_marginTop="20dp"
android:layout_marginRight="15dp"
android:background="@drawable/bg_corner_solid_f5f5f5_6dp"
android:hint="用户密码"
android:inputType="textPassword"
android:paddingLeft="20.0dip"
android:textColor="@color/black"
android:textColorHint="@color/grey_AAAAAA"
android:textCursorDrawable="@drawable/shape_cursor_color"
android:textSize="@dimen/text_size_13sp" />
<EditText
android:id="@+id/register_rpassword"
android:layout_width="match_parent"
android:layout_height="40dp"
android:layout_marginLeft="15dp"
android:layout_marginTop="20dp"
android:layout_marginRight="15dp"
android:background="@drawable/bg_corner_solid_f5f5f5_6dp"
android:hint="用户密码"
android:inputType="textPassword"
android:paddingLeft="20.0dip"
android:textColor="@color/black"
android:textColorHint="@color/grey_AAAAAA"
android:textCursorDrawable="@drawable/shape_cursor_color"
android:textSize="@dimen/text_size_13sp" />
<TextView
android:id="@+id/tv_login"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:layout_marginRight="15dp"
android:gravity="center|right"
android:text="已有帐号,立即登录!"
android:textColor="@color/black" />
<TextView
android:id="@+id/register_action"
android:layout_width="fill_parent"
android:layout_height="40dp"
android:layout_marginLeft="@dimen/default_left_padding"
android:layout_marginTop="50dp"
android:layout_marginRight="@dimen/default_right_padding"
android:background="@drawable/bg_login_action"
android:enabled="true"
android:gravity="center"
android:text="立 即 注 册"
android:textColor="@color/white"
android:textSize="@dimen/text_size_16sp" />
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
复制代码
这段代码实现了一个登录页面的功能,详细功能和特点如下:
1. **界面元素和事件绑定**:
- 声明了各个控件(如关闭按钮、手机号输入框、密码输入框、获取验证码按钮、注册链接、登录按钮等)和辅助类(`UserHelper`)。
- 在 `onCreate` 方法中进行了布局初始化和事件监听的设置。
2. **获取验证码功能**:
- 当手机号输入框内容发生变化时,监听器查抄手机号是否为空。如果不为空,则启用获取验证码按钮,而且设置点击事件显示固定的验证码(这里是 "1234")。
3. **登录功能实现**:
- 使用了 `TextWatcher` 监听器来检测手机号、密码和验证码输入框的变化。
- 当所有字段都非空时,启用登录按钮。点击登录按钮时,首先查抄验证码是否为 "1234",如果不是则提示验证码错误;否则,使用 `UserHelper` 类的方法查抄用户的手机号和密码是否匹配。
- 如果匹配乐成,则提示登录乐成,并将用户手机号生存到 `SharedPreferences` 中,并关闭登录界面;否则提示登录失败。
4. **注册链接处理**:
- 点击注册链接 (`tvRegister`) 启动 `RegisterActivity`,答应用户注册新账号。
5. **关闭页面按钮处理**:
- 点击关闭按钮 (`pageClose`) 关闭当前登录页面。
总体来说,该代码实现了基本的用户登录流程,包罗输入验证、验证码获取、登录验证和跳转注册等功能,适适用于一个简朴的用户认证和管理系统。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
// 初始化界面元素和事件监听
initView();
setupCloseButton();
setupRegisterLink();
setupLoginFunctionality();
setupSmsCodeListener();
}
复制代码
3.首页
这段代码是一个Android的片断(Fragment),实现了以下功能:
- 显示一个轮播广告(使用了第三方库 `Banner`)。
- 根据用户登录状态显示不同的内容:已登录则显示用户信息和订单选项,未登录则显示登录提示和登录按钮。
- 点击订单选项(inshop 和 takeout)时跳转到相应的订单处理页面。
- 点击用户信息地区时根据登录状态跳转到个人信息页面或登录页面。
主要用到了 `Glide` 库加载图片,并进行了一些视图初始化和点击事件处理的设置。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/grey_f4f4f7"
android:orientation="vertical"
tools:context=".Fragment.HomeFragment">
<ScrollView
android:layout_width="match_parent"
android:scrollbars="none"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<LinearLayout
android:id="@+id/home_user_layout"
android:layout_width="fill_parent"
android:layout_height="70dp"
android:layout_marginLeft="8.0dip"
android:layout_marginTop="-37.0dip"
android:layout_marginRight="8.0dip"
android:background="@drawable/home_01"
android:gravity="center"
android:orientation="horizontal">
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/header_avatar"
android:layout_width="32.0dip"
android:layout_height="32.0dip"
android:layout_marginLeft="16.0dip"
android:src="@drawable/icon_not_login_user" />
<LinearLayout
android:layout_width="0.0dip"
android:layout_height="wrap_content"
android:layout_marginLeft="14.0dip"
android:layout_weight="1"
android:orientation="vertical">
<TextView
android:id="@+id/user_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="尊敬的会员"
android:textColor="@color/black"
android:textSize="@dimen/text_size_16sp"
android:textStyle="bold" />
</LinearLayout>
<TextView
android:id="@+id/tv_login"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="20.0dip"
android:text="注册/登录"
android:textColor="@color/themeRedColor"
android:textSize="@dimen/text_size_13sp"
android:textStyle="bold"
android:visibility="gone" />
<LinearLayout
android:id="@+id/ll_show"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:orientation="horizontal">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="center"
android:orientation="vertical">
<TextView
android:id="@+id/textView5"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="0"
android:textColor="@color/black" />
<TextView
android:id="@+id/textView7"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:gravity="center"
android:text="雪王币"
android:textColor="@color/black" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginLeft="15dp"
android:layout_marginRight="15dp"
android:layout_weight="1"
android:gravity="center"
android:orientation="vertical">
<TextView
android:id="@+id/textView6"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="0"
android:textColor="@color/black" />
<TextView
android:id="@+id/textView8"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:gravity="center"
android:text="优惠卷"
android:textColor="@color/black" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="8dp"
android:layout_marginTop="10dp"
android:layout_marginRight="8dp"
android:background="@drawable/home_01"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<ImageView
android:id="@+id/inshop"
android:layout_width="match_parent"
android:layout_height="150dp"
android:layout_weight="1"
android:src="@drawable/inshop" />
<ImageView
android:id="@+id/takeout"
android:layout_width="match_parent"
android:layout_height="150dp"
android:layout_weight="1"
android:src="@drawable/takeout" />
</LinearLayout>
<View
android:id="@+id/view4"
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_marginLeft="16.0dip"
android:layout_marginTop="5dp"
android:layout_marginRight="16.0dip"
android:background="@color/grey_150A5E_5" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="5dp"
android:orientation="horizontal">
<ImageView
android:id="@+id/imageView4"
android:layout_width="match_parent"
android:layout_height="90dp"
android:layout_weight="1"
android:src="@drawable/home_03" />
<ImageView
android:id="@+id/imageView5"
android:layout_width="match_parent"
android:layout_height="90dp"
android:layout_weight="1"
android:src="@drawable/home_04" />
<ImageView
android:id="@+id/imageView6"
android:layout_width="match_parent"
android:layout_height="90dp"
android:layout_weight="1"
android:src="@drawable/home_001" />
<ImageView
android:id="@+id/imageView7"
android:layout_width="match_parent"
android:layout_height="90dp"
android:layout_weight="1"
android:src="@drawable/home_02" />
</LinearLayout>
</LinearLayout>
<TextView
android:id="@+id/tab_"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginLeft="8dp"
android:layout_marginTop="15dp"
android:layout_marginRight="8dp"
android:text="甜蜜资讯"
android:textColor="@color/black"
android:textSize="@dimen/text_size_16sp"
android:textStyle="bold" />
<ImageView
android:id="@+id/img_1"
android:layout_width="match_parent"
android:layout_height="120dp"
android:layout_marginLeft="8dp"
android:layout_marginTop="10dp"
android:layout_marginRight="8dp"
android:scaleType="fitXY"
android:src="@drawable/banner2" />
<ImageView
android:id="@+id/img_2"
android:layout_width="match_parent"
android:layout_height="120dp"
android:layout_marginLeft="8dp"
android:layout_marginTop="10dp"
android:layout_marginRight="8dp"
android:scaleType="fitXY"
android:src="@drawable/banner3" />
</LinearLayout>
</ScrollView>
</LinearLayout>
复制代码
4.点餐页面
这段代码实现了一个点单页面的 Android Fragment,主要功能包罗:
- 展示菜单分类和产物列表,并支持根据搜索关键字进行筛选显示。
- 根据用户登录状态动态展示地址选择、结算功能,并处理相应的点击事件。
- 使用 `Gson` 解析本地 JSON 数据来加载菜单信息。
- 及时更新总代价显示,并支持用户在不同订单类型(自提或外送)之间切换。
该代码还包罗了处理返回按钮、清空订单和地址信息等相关逻辑。
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/fragment_takeOrder"
tools:context=".Fragment.TakeOrderFragment">
<LinearLayout
android:id="@+id/linearLayout3"
android:layout_width="0dp"
android:layout_height="30dp"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:orientation="horizontal"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<TextView
android:id="@+id/tv_inshop"
android:layout_width="50dp"
android:layout_height="match_parent"
android:gravity="center"
android:text="自提"
android:textColor="@color/black"
android:textSize="18sp"
android:textStyle="bold" />
<TextView
android:id="@+id/tv_takeout"
android:layout_width="50dp"
android:layout_height="match_parent"
android:layout_marginLeft="10dp"
android:gravity="center"
android:text="外送"
android:textColor="@color/black_40"
android:textSize="18sp"
android:textStyle="bold" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/bg_corner_solid_f5f5f5_6dp"
android:gravity="center|left"
android:orientation="horizontal"
android:padding="3dp">
<ImageView
android:id="@+id/img_search"
android:layout_width="15dp"
android:layout_height="15dp"
android:layout_marginLeft="10dp"
android:src="@drawable/icon_search" />
<EditText
android:id="@+id/et_search"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:layout_weight="1"
android:background="@color/grey_E6E6E6"
android:ems="10"
android:hint="冰鲜柠檬茶"
android:inputType="textPersonName"
android:textSize="12sp" />
</LinearLayout>
</LinearLayout>
<LinearLayout
android:id="@+id/linearLayout4"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:orientation="vertical"
app:layout_constraintEnd_toEndOf="@+id/linearLayout3"
app:layout_constraintStart_toStartOf="@+id/linearLayout3"
app:layout_constraintTop_toBottomOf="@+id/linearLayout3">
<LinearLayout
android:id="@+id/ll_address"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginBottom="10dp"
android:gravity="center|left"
android:orientation="horizontal"
android:visibility="gone">
<TextView
android:id="@+id/tv_address"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="配送至 · 陕西省"
android:textColor="@color/black"
android:textSize="16sp" />
<ImageView
android:id="@+id/imageView2"
android:layout_width="10dp"
android:layout_height="10dp"
android:layout_marginLeft="2dp"
android:src="@drawable/icon_arrow_dark_next" />
</LinearLayout>
<TextView
android:id="@+id/textView11"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="蜜雪冰城(总店)"
android:textColor="@color/black" />
</LinearLayout>
<LinearLayout
android:id="@+id/linearLayout5"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_marginTop="8dp"
android:layout_marginBottom="2dp"
android:orientation="horizontal"
app:layout_constraintBottom_toTopOf="@+id/bottom_layout"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/linearLayout4">
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_menu"
android:layout_width="80dp"
android:layout_height="match_parent" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_menuItem"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginLeft="10dp"
android:layout_weight="1"></androidx.recyclerview.widget.RecyclerView>
</LinearLayout>
<LinearLayout
android:id="@+id/bottom_layout"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@color/white"
android:clipChildren="false"
android:orientation="vertical"
android:padding="5dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent">
<FrameLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal">
<FrameLayout
android:id="@+id/cart_anim"
android:layout_width="38.0dip"
android:layout_height="40.0dip"
android:layout_gravity="center_vertical"
android:layout_marginLeft="9.0dip"
android:layout_marginRight="12.0dip">
<ImageView
android:id="@+id/order_cart"
android:layout_width="31.0dip"
android:layout_height="35.0dip"
android:layout_gravity="center_vertical"
android:layout_marginBottom="2.0dip"
android:src="@drawable/icon_cart" />
<TextView
android:id="@+id/order_goods_count"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center|right|top"
android:background="@drawable/icon_bg_number_tip"
android:gravity="center"
android:textColor="@color/white"
android:textSize="@dimen/text_size_10sp"
android:visibility="gone" />
</FrameLayout>
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center|right"
android:layout_marginRight="123.0dip"
android:orientation="vertical">
<RelativeLayout
android:id="@+id/price_layout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:orientation="horizontal">
<TextView
android:id="@+id/delivery_fee"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_alignBottom="@id/total_price"
android:layout_alignParentTop="true"
android:layout_marginTop="0dp"
android:layout_marginRight="6.0dip"
android:layout_marginBottom="2.0dip"
android:layout_toLeftOf="@id/total_tip"
android:gravity="bottom"
android:text="另需配送费¥2"
android:textColor="@color/grey_FFAAAAAA"
android:textSize="@dimen/text_size_12sp"
android:visibility="invisible" />
<TextView
android:id="@+id/total_price"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:text="¥0"
android:textColor="@color/black_333333"
android:textSize="16sp"
android:textStyle="bold" />
<TextView
android:id="@+id/total_tip"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@id/total_price"
android:layout_marginBottom="2.0dip"
android:layout_toLeftOf="@id/total_price"
android:text="合计:"
android:textColor="@color/black"
android:textSize="@dimen/text_size_12sp" />
</RelativeLayout>
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
复制代码
5.订单页、订单详情页
这段代码实现了一个订单页面的 Android Fragment,主要功能包罗:
- 根据用户登录状态,显示对应手机号的订单列表。
- 当用户未登录时,显示登录提示信息。
- 当用户已登录且有订单时,显示订单列表,并提供适配器来展示订单信息。
- 提供了 onResume 方法来在 Fragment 可见时革新订单列表。
- 包罗一个返回按钮的处理逻辑,但详细利用未实现。
该代码使用了 `ListView` 来展示订单,通过 `SharedPreferences` 获取用户手机号,并使用 `OrderHelper` 类来利用订单数据。
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/grey_F5F5F5"
tools:context=".Fragment.OrderFragment">
<LinearLayout
android:id="@+id/linearLayout6"
android:layout_width="0dp"
android:layout_height="40dp"
android:background="@color/white"
android:orientation="horizontal"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<TextView
android:id="@+id/tv_title"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="center"
android:text="订单管理"
android:textColor="@color/black"
android:textSize="18sp"
android:textStyle="bold" />
</LinearLayout>
<ListView
android:id="@+id/lv"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_marginStart="4dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="4dp"
android:divider="@android:color/transparent"
android:dividerHeight="0dp"
android:scrollbars="none"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/linearLayout6" />
<ImageView
android:id="@+id/img_null"
android:layout_width="0dp"
android:layout_height="0dp"
android:src="@drawable/img_empty_order"
android:visibility="visible"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/linearLayout6" />
</androidx.constraintlayout.widget.ConstraintLayout>
复制代码
这段代码实现了一个订单详情页面的 Android 活动(Activity),功能包罗:
- 根据传入的意图显示订单的详细信息,包罗订单类型(自提或外送)、时间、订单号、商品数量和总金额。
- 根据订单类型调整显示内容,包罗是否显示外送费用和外送布局的可见性。
- 根据用户手机号和订单号查询订单数据,并使用自界说的适配器 `OrderDetailsAdapter` 显示订单详情列表。
- 提供了返回按钮和再来一单按钮的点击事件处理逻辑。
该活动通过 `SharedPreferences` 获取用户手机号,并使用 `OrderHelper` 类来利用订单数据。
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/grey_F8F8F8"
tools:context=".Activity.OrderDetailsActivity">
<FrameLayout
android:id="@+id/page_title_layout"
android:layout_width="match_parent"
android:layout_height="150dp"
android:background="@drawable/img_order_detail_bg"
android:orientation="horizontal"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<FrameLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<ImageView
android:id="@id/page_back"
android:layout_width="45.0dip"
android:layout_height="60dp"
android:paddingLeft="12.0dip"
android:paddingTop="15dp"
android:paddingRight="12.0dip"
android:paddingBottom="12.0dip"
android:scaleType="centerInside"
android:src="@drawable/icon_page_back_white" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:id="@+id/page_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="28.0dip"
android:layout_marginTop="60dp"
android:ellipsize="none"
android:maxWidth="260.0dip"
android:singleLine="true"
android:text="订单已完成"
android:textColor="@color/white"
android:textSize="@dimen/text_size_18sp"
android:textStyle="bold" />
<TextView
android:id="@+id/page_status_tip"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="28.0dip"
android:layout_marginTop="12.0dip"
android:ellipsize="none"
android:maxWidth="200.0dip"
android:maxLines="2"
android:text="如未取餐,请及时到店领取,祝您用餐愉快"
android:textColor="@color/white"
android:textSize="@dimen/text_size_12sp" />
</LinearLayout>
<ImageView
android:id="@+id/page_img_action"
android:layout_width="130.0dip"
android:layout_height="90.0dip"
android:layout_gravity="bottom|center|right"
android:layout_marginRight="@dimen/default_right_padding"
android:layout_marginBottom="15dp"
android:src="@drawable/img_order_finish_king" />
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="10.0dip"
android:layout_gravity="bottom"
android:background="@drawable/bg_corner_solid_ffffff_top_12dp" />
</FrameLayout>
</FrameLayout>
<ScrollView
android:id="@+id/scrollView2"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_marginStart="8dp"
android:layout_marginEnd="8dp"
android:layout_marginBottom="8dp"
android:scrollbars="none"
app:layout_constraintBottom_toTopOf="@+id/linearLayout9"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/page_title_layout">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="5dp"
android:background="@drawable/bg_corner_solid_ffffff_12dp"
android:gravity="center"
android:orientation="vertical"
android:padding="10dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="vertical">
<TextView
android:id="@+id/textView9"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="蜜雪冰城(总店)"
android:textColor="@color/black"
android:textSize="16sp"
android:textStyle="bold" />
<TextView
android:id="@+id/textView24"
android:layout_width="250dp"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:text="河南省郑州市金水区文化路与北环交叉口瀚海·北金商务A座16楼"
android:textSize="12sp" />
</LinearLayout>
<ImageView
android:id="@+id/imageView11"
android:layout_width="25dp"
android:layout_height="25dp"
app:srcCompat="@drawable/icon_order_location" />
<ImageView
android:id="@+id/imageView12"
android:layout_width="25dp"
android:layout_height="25dp"
android:layout_marginLeft="20dp"
android:layout_marginRight="10dp"
app:srcCompat="@drawable/icon_order_phone" />
</LinearLayout>
<View
android:id="@+id/view8"
android:layout_width="match_parent"
android:layout_height="1.0dip"
android:layout_marginLeft="4dp"
android:layout_marginTop="10dp"
android:layout_marginRight="4dp"
android:layout_marginBottom="10dp"
android:layout_weight="1"
android:background="@color/grey_F5F5F5" />
<ListView
android:id="@+id/lv"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:scrollbars="none" />
<View
android:id="@+id/view9"
android:layout_width="match_parent"
android:layout_height="1.0dip"
android:layout_marginLeft="4dp"
android:layout_marginTop="10dp"
android:layout_marginRight="4dp"
android:layout_marginBottom="10dp"
android:layout_weight="1"
android:background="@color/grey_F5F5F5" />
<LinearLayout
android:id="@+id/ll_peisong"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:orientation="horizontal">
<TextView
android:id="@+id/textView22"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="配送费"
android:textColor="@color/black" />
<ImageView
android:id="@+id/imageView10"
android:layout_width="20dp"
android:layout_height="20dp"
app:srcCompat="@drawable/icon_question" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="center|right"
android:orientation="horizontal">
<TextView
android:id="@+id/tv_peisong"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="4dp"
android:text="¥2"
android:textColor="@color/black"
android:textSize="14sp" />
</LinearLayout>
</LinearLayout>
<View
android:id="@+id/view_peisong"
android:layout_width="match_parent"
android:layout_height="1.0dip"
android:layout_marginLeft="4dp"
android:layout_marginTop="10dp"
android:layout_marginRight="4dp"
android:layout_marginBottom="10dp"
android:layout_weight="1"
android:background="@color/grey_F5F5F5" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginLeft="@dimen/default_left_padding"
android:layout_marginTop="5dip"
android:layout_marginRight="@dimen/default_right_padding"
android:layout_marginBottom="9dip"
android:gravity="bottom|center|right"
android:orientation="horizontal">
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_marginTop="12.0dip"
android:layout_marginBottom="12.0dip"
android:orientation="vertical">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="16.0dip"
android:text="下单时间"
android:textColor="@color/black"
android:textSize="@dimen/text_size_13sp" />
<TextView
android:id="@+id/order_time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="16.0dip"
android:textColor="@color/black"
android:textSize="@dimen/text_size_13sp" />
</LinearLayout>
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8.0dip">
<TextView
android:id="@+id/orderId_tip"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:layout_marginLeft="16.0dip"
android:text="订单号码"
android:textColor="@color/black"
android:textSize="@dimen/text_size_13sp" />
<TextView
android:id="@+id/orderId"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="16.0dip"
android:layout_toRightOf="@id/orderId_tip"
android:ellipsize="end"
android:maxWidth="185.0dip"
android:maxLines="1"
android:textColor="@color/black"
android:textSize="@dimen/text_size_13sp" />
</RelativeLayout>
<LinearLayout
android:id="@id/remark_layout"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8.0dip"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="16.0dip"
android:text="备注"
android:textColor="@color/black"
android:textSize="@dimen/text_size_13sp" />
<TextView
android:id="@id/remark"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="42.0dip"
android:text="无"
android:textColor="@color/black"
android:textSize="@dimen/text_size_13sp" />
</LinearLayout>
</LinearLayout>
</FrameLayout>
</LinearLayout>
</ScrollView>
<LinearLayout
android:id="@+id/linearLayout9"
android:layout_width="match_parent"
android:layout_height="50dp"
android:background="@color/white"
android:gravity="center|right"
android:orientation="horizontal"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent">
<TextView
android:id="@+id/one_more"
android:layout_width="70dp"
android:layout_height="25dp"
android:layout_below="@id/price_layout"
android:layout_alignParentRight="true"
android:layout_marginRight="10dp"
android:background="@drawable/bg_corner_solid_fc3f41_4dp"
android:enabled="true"
android:gravity="center"
android:text="再来一单"
android:textColor="@color/red_FC3F41"
android:textSize="@dimen/text_size_12sp" />
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
复制代码
6.地址页面、修改增长页
7.结算页面
这段代码实现了一个支付页面的 Android 活动(Activity),功能包罗:
- 根据订单类型(自提或外送)显示相应的配送地址和费用信息。
- 根据用户选择的支付方式(微信或支付宝)更新支付利用。
- 显示用户的订单列表,并提供支付利用的点击事件处理逻辑。
- 使用 `SharedPreferences` 获取用户的地址信息和手机号,使用 `TakeOrderHelper` 和 `OrderHelper` 处理订单数据的存储和获取。
该活动答应用户选择支付方式,并在确认支付后生存订单并返回到主界面。
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".Activity.PayActivity">
<LinearLayout
android:id="@+id/linearLayout6"
android:layout_width="0dp"
android:layout_height="40dp"
android:background="@color/red_FC3F41"
android:orientation="horizontal"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
android:layout_height="0dp"
android:layout_marginStart="8dp"
android:layout_marginTop="10dp"
android:layout_marginEnd="8dp"
android:layout_marginBottom="8dp"
android:scrollbars="none"
app:layout_constraintBottom_toTopOf="@+id/frameLayout"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/linearLayout6">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/bg_corner_solid_ffffff_12dp"
android:orientation="vertical">
<TextView
android:id="@+id/tv_title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/default_left_padding"
android:layout_marginTop="9.0dip"
android:layout_marginRight="@dimen/default_right_padding"
android:text="TextView"
android:textColor="@color/red_FF0F4B"
android:textSize="18sp"
android:textStyle="bold" />
<TextView
android:id="@+id/tv_address"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/default_left_padding"
android:layout_marginTop="10dp"
android:layout_marginRight="@dimen/default_right_padding"
android:text="TextView"
android:textColor="@color/black" />
<TextView
android:id="@+id/tv_name_phone"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/default_left_padding"
android:layout_marginTop="5dp"
android:layout_marginRight="@dimen/default_right_padding"
android:ellipsize="end"
android:maxLines="1"
android:text="TextView" />
<LinearLayout
android:id="@+id/ll_dianpu"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginLeft="@dimen/default_left_padding"
android:layout_marginTop="10dp"
android:layout_marginRight="@dimen/default_right_padding"
android:layout_marginBottom="10dp"
android:orientation="horizontal">
<TextView
android:id="@+id/textView34"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="蜜雪冰城(总店)" />
<TextView
android:id="@+id/textView35"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center|right"
android:text="订单由第三方骑手配送"
android:textColor="@android:color/holo_red_light" />
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="15dp"
android:background="@drawable/bg_corner_solid_ffffff_12dp"
android:orientation="vertical">
<ListView
android:id="@+id/lv"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/default_left_padding"
android:layout_marginTop="9.0dip"
android:layout_marginRight="@dimen/default_right_padding"
android:scrollbars="none" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginLeft="@dimen/default_left_padding"
android:layout_marginTop="9.0dip"
android:layout_marginRight="@dimen/default_right_padding"
android:gravity="center"
android:orientation="horizontal">
<TextView
android:id="@+id/textView22"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="配送费"
android:textColor="@color/black" />
<ImageView
android:id="@+id/imageView10"
android:layout_width="20dp"
android:layout_height="20dp"
app:srcCompat="@drawable/icon_question" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="center|right"
android:orientation="horizontal">
<TextView
android:id="@+id/tv_peisong"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="4dp"
android:text="¥2"
android:textColor="@color/black"
android:textSize="14sp" />
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginLeft="@dimen/default_left_padding"
android:layout_marginTop="9.0dip"
android:layout_marginRight="@dimen/default_right_padding"
android:orientation="horizontal">
<TextView
android:id="@+id/textView26"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="打包费"
android:textColor="@color/black" />
<TextView
android:id="@+id/textView27"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center|right"
android:text="¥0"
android:textColor="@color/black" />
</LinearLayout>
<View
android:id="@+id/view6"
android:layout_width="match_parent"
android:layout_height="1.0dip"
android:layout_marginLeft="12.0dip"
android:layout_marginTop="10dp"
android:layout_marginRight="12.0dip"
android:layout_marginBottom="10dp"
android:background="@color/grey_F5F5F5" />
<View
android:id="@+id/view7"
android:layout_width="match_parent"
android:layout_height="1.0dip"
android:layout_marginLeft="12.0dip"
android:layout_marginTop="10dp"
android:layout_marginRight="12.0dip"
android:layout_marginBottom="10dp"
android:background="@color/grey_F5F5F5" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginLeft="@dimen/default_left_padding"
android:layout_marginTop="5dip"
android:layout_marginRight="@dimen/default_right_padding"
android:layout_marginBottom="9dip"
android:gravity="bottom|center|right"
android:orientation="horizontal">
<TextView
android:id="@+id/tv_num"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="共计10件,合计 " />
<TextView
android:id="@+id/tv_total"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="¥55"
android:textColor="@color/black"
android:textSize="16sp"
android:textStyle="bold" />
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="15dp"
android:background="@drawable/bg_corner_solid_ffffff_12dp"
android:orientation="vertical">
<TextView
android:id="@+id/textView19"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/default_left_padding"
android:layout_marginTop="9.0dip"
android:layout_marginRight="@dimen/default_right_padding"
android:text="支付方式"
android:textColor="@color/black"
android:textSize="@dimen/text_size_16sp"
android:textStyle="bold" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginLeft="@dimen/default_left_padding"
android:layout_marginTop="9.0dip"
android:layout_marginRight="@dimen/default_right_padding"
android:layout_marginBottom="9dip"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="horizontal">
<ImageView
android:id="@+id/imageView3"
android:layout_width="25dp"
android:layout_height="25dp"
app:srcCompat="@drawable/icon_pay_wechat" />
<TextView
android:id="@+id/textView20"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginLeft="5dp"
android:layout_weight="1"
android:gravity="center|left"
android:text="微信"
android:textColor="@color/black" />
<RadioButton
android:id="@+id/rb_weixin"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:buttonTint="@color/red_FF0F4B"
android:checked="true" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="15dp"
android:gravity="center"
android:orientation="horizontal">
<ImageView
android:id="@+id/imageView9"
android:layout_width="25dp"
android:layout_height="25dp"
app:srcCompat="@drawable/icon_pay_alipay" />
<TextView
android:id="@+id/textView21"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginLeft="5dp"
android:layout_weight="1"
android:gravity="center|left"
android:text="支付宝"
android:textColor="@color/black" />
<RadioButton
android:id="@+id/rb_zhifubao"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:buttonTint="@color/red_FF0F4B" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_gravity="center"
android:layout_marginTop="15dp"
android:layout_marginBottom="15dp"
android:background="@drawable/bg_corner_solid_ffffff_12dp"
android:orientation="vertical">
<LinearLayout
android:id="@+id/tableware_layout"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/default_left_padding"
android:layout_marginTop="9.0dip"
android:layout_marginRight="@dimen/default_right_padding"
android:layout_marginBottom="4.0dip"
android:gravity="center_vertical"
android:orientation="horizontal"
android:paddingTop="12.0dip"
android:paddingBottom="12.0dip">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="12.0dip"
android:text="餐具"
android:textColor="@color/black"
android:textSize="@dimen/text_size_14sp" />
<TextView
android:id="@+id/tableware"
android:layout_width="0.0dip"
android:layout_height="wrap_content"
android:layout_marginLeft="12.0dip"
android:layout_marginRight="4.0dip"
android:layout_weight="1.0"
android:gravity="center|right"
android:hint="按餐量提供"
android:singleLine="true"
android:textColor="@color/black"
android:textSize="@dimen/text_size_14sp" />
</LinearLayout>
<LinearLayout
android:id="@+id/remark_layout"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/default_left_padding"
android:layout_marginTop="5dip"
android:layout_marginRight="@dimen/default_right_padding"
android:gravity="center_vertical"
android:orientation="horizontal"
android:paddingTop="12.0dip"
android:paddingBottom="12.0dip">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="12.0dip"
android:text="备注"
android:textColor="@color/black"
android:textSize="@dimen/text_size_14sp" />
<TextView
android:id="@+id/remark"
android:layout_width="0.0dip"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginLeft="12.0dip"
android:layout_marginRight="4.0dip"
android:layout_weight="1.0"
android:ellipsize="end"
android:gravity="center|right"
android:hint="暂不支持通过备注定制口味"
android:singleLine="true"
android:textColor="@color/black"
android:textSize="@dimen/text_size_14sp" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
</ScrollView>
<FrameLayout
android:id="@+id/frameLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:background="@color/white"
android:orientation="horizontal"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent">
<View
android:id="@+id/bottom_line"
android:layout_width="fill_parent"
android:layout_height="0.5dip"
android:background="@color/grey_eeeeee" />
<TextView
android:layout_width="wrap_content"
android:layout_height="64.0dip"
android:layout_marginLeft="@dimen/default_left_padding"
android:gravity="center"
android:text="实付:"
android:textColor="@color/black"
android:textSize="@dimen/text_size_12sp" />
</FrameLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
复制代码
8.我的页面、关于我们页面
这两个页面只用来显示登录和退出登录然后跳转编辑资料页面使用
9.编辑资料页面
这段代码实现了一个用户信息管理页面的 Android 活动(Activity),功能包罗:
- 显示用户的手机号、用户名和密码,并答应用户修改并生存这些信息。
- 使用 `SharedPreferences` 获取用户的手机号,通过 `UserHelper` 类从数据库中获取和更新用户信息。
- 提供返回按钮和生存按钮的点击事件监听,以及生存乐成或失败时的提示信息。
该活动答应用户查看和修改用户名和密码,并将修改后的信息更新到数据库中。
/**
* 初始化视图组件
*/
private void initView() {
// 通过 ID 查找视图组件
pageBack = findViewById(R.id.page_back);
etName = findViewById(R.id.et_name);
etPassword = findViewById(R.id.et_password);
tvPhone = findViewById(R.id.tv_phone);
btnSave = findViewById(R.id.btn_save);
userHelper = new UserHelper(this); // 创建 UserHelper 实例
}
/**
* 设置监听器
*/
private void setUpListeners() {
// 设置返回按钮的点击事件
pageBack.setOnClickListener(v -> finish());
// 设置保存按钮的点击事件
btnSave.setOnClickListener(v -> saveUserInfo());
}
复制代码
四、项目完备源码
继续阅读请点击广告
回复
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
莱莱
论坛元老
这个人很懒什么都没写!
楼主热帖
SQL的约束
HCIA-OSPF协议
mac Error: EACCES: permission denied ...
MySQL 隐式类型转换导致索引失效问题 ...
攻防世界web 难度1新手练习
你选对了超融合,可能却买错了交换机! ...
红标devcpp6.3编译器下载及配置教程 ...
MySQL实战45讲 9
每日一练 数据库linux安装
一天吃透Redis面试八股文
标签云
国产数据库
集成商
AI
运维
CIO
存储
服务器
浏览过的版块
网络安全
主机安全
IOS
快速回复
返回顶部
返回列表