最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

基于Android开发的购物商城App的设计与实现-毕业设计

IT圈 admin 35浏览 0评论

2024年3月6日发(作者:侯珺琪)

基于Android开发的购物商城App的设计与实现

中文摘要

购物商城App的设计是响应信息化的潮流,跟上时代发展的步伐,便利使用安卓设备进行移动网上购物作为购物商城设计的目的。其中用到类似天猫商城和京东商城的设计原理,创造功能合理、界面友善、满足使用者简单的网上购物体验。而本购物商城设计它既具备一定的使用价值也满足一定的功能要求。

互联网购物商城通常分为物质消费品和精神消费品两大类别。本文主要是以物质消费品中的手机商品来展示,购物商城设计的过程借助Java编程语言和XML语言实现,设计软件采用ADT Bundle。从购物商城首页模块的商品浏览、选购和收藏功能到购物车模块的下单购买功能再到个人中心模块查看我的收藏、分享应用功能的联动实现。

关键词:购物商城 Android开发 精神消费 物质消费

Abstract

The design of the shopping mall App is a response to the tide of informatization, keep up

with the pace of The Times development, online shopping convenience using android devices for

mobile as the purpose of the shopping mall use similar Tmall mall and the design

principle of Jingdong mall, create function reasonable, friendly interface, the simple online

shopping this shopping mall design it already have a certain use value also

satisfies the requirement of a certain function.

Internet shopping mall is usually divided into two major categories, material goods and

spiritual consumer paper is based on material consumer goods in the mobile phone to

display goods, shopping mall, design the process of using the Java programming language and

XML language to implement, design software using ADT the goods browsing,

shopping mall homepage module and collection function to cart module of choose and buy order

for function to the individual center module to check my collection, sharing the linkage of the

function is applied to implement.

Key words:Shopping mall App Android development

I

目 录

中文摘要 ................................................................................................................................................................ I

Abstract ................................................................................................................................................................. I

1 绪论 ................................................................................................................................................................... 1

1.1购物商城设计的背景 ............................................................. 1

1.2购物商城设计的内容 ............................................................. 1

1.3购物商城设计的意义 ............................................................. 1

1.4购物商城设计研究的方法 ......................................................... 1

1.5 本章小结 ....................................................................... 1

2 购物商城设计的相关技术应用 .......................................................... 2

2.1 ADT-Bundle在购物商城设计中的应用 .............................................. 2

2.2 Java在购物商城设计中的应用 .................................................... 2

2.3 XML在购物商城设计中的应用 ..................................................... 2

3 购物商城设计 ....................................................................... 4

3.1购物流程设计 ................................................................... 4

3.2数据存储设计 ................................................................... 5

3.3 欢迎界面设计 ................................................................... 6

3.4商城界面及底部菜单栏设计 ....................................................... 6

3.5商城首页功能模块设计 ........................................................... 6

3.6购物车功能模块设计 ............................................................. 8

3.7个人中心功能模块设计 ........................................................... 9

4 购物商城的实现 .................................................................... 10

4.1 购物商城欢迎界面的实现 ........................................................ 10

4.2商城界面及底部菜单栏的实现 .................................................... 11

4.3商城首页的实现 ................................................................ 12

4.4购物车的实现 .................................................................. 15

4.5个人中心的实现 ................................................................ 19

4.6 本章小结 ...................................................................... 23

结 论 ............................................................................ 25

参考文献 ............................................................................ 25

附 录 ............................................................................ 26

致 谢 ............................................................................ 31

II

1绪论

1.1购物商城设计的背景

随着当今社会经济的快速发展和网络的迅速普及,手机基本成为了每个人都随身携带的电子产品。传统的购物方式已经满足不了现代人日益追求便利及高效率的购物心理,而通过移动手机上的在线购物系统,可以便捷地甚至足不出门,想要的商品就能送到家,免除了在街上或超市中苦苦寻找商品而付出的劳动成本。

正因为手机成为了现代人几乎都随身携带的电子产品,所以本设计的购物商城则围绕手机消费品来进行探讨、开发设计和实现。简单的展示手机在线购物商城购物体验。

1.2购物商城设计的内容

基于Android(安卓)平台的在线购物商城,主要通过安装APP移动客户端来实现在线购物,并提供基本的在线购物商城体验,其中包括购物商城欢迎界面、购物商城首页、购物商城购物车及购物商城个人中心。

购物商城首页:简单的说,就是展示商品的界面。通过首页的分类商品信息,引导使用者进入第二级商品详情界面。

购物商城购物车:把合适的商品或者准备购物的商品进行集中管理,方便使用者查看已经挑选过的商品。

购物商城个人中心:提供详细的个人资料信息。如我的收藏、分享应用等。

1.3购物商城设计的意义

把手机购物商城和传统的购物方式及限制在桌子面前的台式电脑上购物方式相比较,突出手机购物更加便捷高效的购物新体验,打破空间的限制,节省不必要的成本,随时随地地购物商品。

1.4购物商城设计研究的方法

论文的研究综合了以往类似的文献、书籍、论坛博文等,经过纵横分析及对比,采纳部分资料进行归类并加以个人总结,辅助使用ADT开发平台,Java编程语言、XML标记语言,进行理论分析和实践

1.5 本章小结

本章简述了手机购物商城设计的背景、内容和研究方法等,为手机购物商城的设计提供可行性的理论分析及技术支持。规范了购物商城的设计模板,为UI界面设计和功能模块代码的编写进行了人性化的设计,通过ADT开发平台来开发设计并最终实现。

1

2 购物商城设计的相关技术应用

2.1 ADT-Bundle在购物商城设计中的应用

ADT-Bundle的具体名称为Android Development Tools-Bundle ,中文翻译是“安卓开发工具集成包”,是由Google Android(谷歌安卓)官方提供的集成式IDE,已经包含了Eclipse。使用者不需要另外下载Eclipse,并且ADT-Bundle里面已集成了插件,能够很好的解决大部分新手通过Eclipse来配置Android(安卓)开发环境的复杂问题。

使用ADT-Bundle,新涉足Android(安卓)开发的学习者也无需再像以往那样在网上参考繁琐的配置教程,可以轻松一步到位进行Android(安卓)应用开发。

在开发过程中主要使用的是Eclipse,通过Eclipse可以有效地编写Java代码。Eclipse自带着十分强大的功能,为开发者提供不少便利之处,下面我举例几个功能。

代码自动预测功能,按住组合键“Ctrl+/”Eclipse可以根据已经输入的代码,自动检测接下来所需要输入的代码,弹出滚动选项框供开发者选择。

代码自动检错功能,当开发者错误输入不正确时,Eclipse会将错误的代码段以红色波浪线下划线标注,以便引起开发者的注意。

自动排版功能,按住组合键“Ctrl+Shift+F”能够将代码自动排版,格式化。因为每个开发者的习惯不一,所以编写的代码格式不一,这就导致了给其他开发者观看代码时造成不多不便。自动排版功能就可以解决这些问题。

Eclipse在购物商城设计中,主要是提供平台进行代码编写、代码调试、虚拟机仿真机测试、打包APK文件等作用。运行Eclipse,能够方便地帮助开发者进行更精准的表达设计内容。

2.2 Java在购物商城设计中的应用

Java编程语言,是由Sun公司于1995年5月发布的一门面向对象的编程语言。自发布至今,Java为IT行业带来一场巨大的变革,其中包括本论文的购物商城设计,也是基于Java的演变而来的。

Java在购物商城设计中,主要负责实现购物商城的基本功能模块,调用基础库、创建类、扩展类等等作用。

2.3 XML在购物商城设计中的应用

XML的中文名为可扩展标记语言,是一种用于标记电子文件使其具有结构性的标记语言,能够对文档和数据进行结构化处理,从而更好的使我们理解文档和数据。

XML在购物商城设计中,主要负责购物商城UI界面的开发和实现。通过XML,可以快速地对购物商城的首页、购物车以及个人中心进行排版。相较于用Java进行UI界面开发和实现,能够节省大量时间和精力。

2

2.4本章小结

掌握并熟练地运用ADT-Bundle、Java和XML,能够使购物商城的设计开发变得更加顺利,其他的开发也如此。正如工欲善其事,必先利其器。

3

3 购物商城设计

每个优秀的软件都不离开优秀的系统设计,系统设计就像大楼框架,支撑着整幢大楼。因此,系统设计为整套软件系统的实现提供了必要的基础。

3.1购物流程设计

当用户打开购物商城时,第一时间弹出的是欢迎界面并在此界面中停留3秒钟,以便用户观察欢迎界面,加深对购物商城的购物体验。在欢迎界面过后,用户可以看到3个界面模块,分别是首页、购物车、个人中心。在首页上,添加了8个手机商品品牌,当用户点击不同的手机品牌时,就会进入对应的手机商品详情页面,在商品详情页面上[1],用户可以对所展示的手机商品进行加入购物车或加入我的收藏选择,对于点击加入购物车的手机商品,将会在购物车页面进行展示并可以在购物车中下订单和支付,而加入我的收藏的手机商品,就会在个人中心页面中我的收藏选项卡中进行展示,通过点击降价提醒,系统会在收藏商品有降价是提醒用户。另外,个人中心还有用户登录和应用分享两个选项卡,选择用户登录将会打开登陆框,提醒用户输入账号密码,当账号密码不为空时,就跳转欢迎用户登录界面,然后返回个人中心界面,如果账号密码有一个为空时,提醒用户账号密码不能为空并重新输入,购物商城构思过程如图3-1所示:

图3-1 购物商城构思过程

4

3.2数据存储设计

对于数据的存储方式,采用了Application来处理。Application,是和Activity、Service组件一样属于Android框架的系统组件[2]。通常情况下,当Android程序启动时为自动创建一个Application对象,可以用来存储一些系统数据。如果需要自己创建也十分简单,只需要让一个类来继承自Application,同时在Mainifest中给Applicaiton标添加name属性把自己的Applicaiton写入即可。

Applicaiton自从程序运行时就被创建,因此它的生命周期就等同于程序的生命周期,并且它是全局变量,所以采取Applicaiton来代替SQLite数据库来进行数据传递、数据共享、数据缓存等操作。

本设计中涉及到三个类继承自Applicaiton,如表3-1所示所示:

表3-1 Application类

Application类:

从属功能模块:

MyApplication

购物车

CollectApplication

我的收藏

PayApplication

支付

创建好Applicaiton后,为对应的Applicaiton中创建好的List对象生成对应的set和get方法,为后续操作调用提供方法,如下表3-2所示:

表3-2 set和get方法

Set方法

public void

setShopCarList(List

ShopCartList) {

ShopCarList = ShopCarList;

get方法

MyApplication public

ListgetShopCarList()

{

return ShopCarList;

public

ListgetCollectList() {

return CollectList;

CollectApplication

public void

setCollectList(List

CollectList) {

CollectList = CollectList;

PayApplication public void

setPayList(List PayList) {

public

List getPayList() {

5

PayList = PayList;

return PayList;

3.3 欢迎界面设计

为了加强用户的购物体验以及对应用本身的品牌认知度,在选择打开应用的时候先加载一个欢迎界面,停留三秒的时间同时禁用返回键[3],之后再跳转到商城主界面上。用到的资源如表3-3所示:

表3-3 欢迎界面图片资源

欢迎界面图片

3.4商城界面及底部菜单栏设计

展示在用户面前的屏幕空间是有限的,因此要考虑如何在有限的屏幕空间里同时展示购物商城的首页、购物车、个人中心功能模块。在一个完整的Activity上划分出三个单独的区域,可以采用Fragment来设计。Fragment是一种可以嵌入到Activity中的UI片段,它能让程序更加合理和充分地利用屏幕空间[4]。因为可以为购物商城的首页、购物车、个人中心分别设计一个Fragment,如表3-4所示:

表3-4 首页、购物车、个人中心Fragment命名

首页

HomeFragment

购物车

BuyFragment

个人中心

PeopleFragment

在屏幕的底部,用FragmentTabHost设计一个菜单栏,为三个功能模块设计选项入口,快速响应用户的指引。同时为三个选项卡在/res资源目录下设计选中、未选中时的反馈效果[5],如表3-5所示。因此商城布局设计采用Fragment+FragmentTabHost来设计。

表3-5 菜单栏图片资源

选中时

未选中时

首页

home_

购物车

buy_

个人中心

people_

3.5商城首页功能模块设计

购物商城首页页面是用户在进入软件主界面之后第一时间看到的模块,主要用来展示购物商城售卖商品分类页面。用户通过点击不同的分类商品,可以进入该类商品详细情况6

页面。由于本论文购物商城所展示的商品是手机商品,因此将选择在首页分别展示三星、苹果、小米、华为、魅族、努比亚、一加、锤子等8种目前市面上流行的手机品牌。

当用户点击手机分类页面上不同的ImageView时,系统就会自动跳转到该类手机品牌的手机详细情况页面XXXshopActivity,在详细情况页面中,用户可以浏览到该手机品牌的手机款式、价格等信息,通过点击加入购物车按钮、收藏按钮还可以加入商品到购物车、我的收藏[6]。下面是分别是逻辑图3-2和商城首页设计详情表3-6所示。

ImageView

xxxShop

Activity

加入购物车

收藏

图3-2 逻辑图

表3-6 商城首页设计详情表

ImageView

apple

功能

进入苹果商品详情页

xxxShopActivity

AppleShopActivity

功能

浏览苹果商店、加入购物车收藏

samsung 进入三星商品详情页

SamsungShopActivity 浏览三星商店、加入购物车收藏

xiaomi 进入苹果商品详情页

XiaoMiShopActivity 浏览小米商店、加入购物车收藏

huawei 进入华为商品详情页

7

UI布局

HuaWeiShopActivity 浏览华为商店、加入购物车收

meizu 进入魅族商品详情页

MeiZuShopActivity 浏览魅族商店、加入购物车收藏

nubiya 进入努比亚商品详情页

oneplus 进入一加商品详情页

OnePlusShopActivity

NuBiYaShopActivity 浏览努比亚商店、加入购物车收藏

浏览一加商店、加入购物车收藏

smartisan 进入锤子商品详情页

SmartisanShopActivity 浏览锤子商店、加入购物车收藏

3.6购物车功能模块设计

购物车页面是用户用来浏览从手机商品详细情况页面上选择加入购物车的商品列表。每当用户从每个手机商品详细情况页面上选择添加到购物车的商品,都会在购物车页面上以列表的形式罗列出来[7],通过点击购买按钮,可以前往支付页面[8]。

ShopCar

List

CommonAdapter

ListView

PayButton

支付页面

图 3-3 逻辑图

从逻辑上看,是ListView加载数据的设计。可以为ListView创建一个CommonAdapter简单适配器[9],把商品详情页上获取到的数据从MyApplication上的ShopCarList中加载进适配器中,再从ListView上以列表形式展现出来。在展示好数据的ListView上,通过点击相应的Button按钮跳转到支付页面上,如图3-3逻辑图所示和表3-7所示:

8

表3-7 类的功能定义

类 功能

暂存、传递数据

适配数据

列表显示视图

前往支付按钮

ShopCarList

CommonAdapter

ListView

PayButton

3.7个人中心功能模块设计

个人中心页面是增强用户购物体验的模块,在这页面上有用户登录、我的收藏和分享应用。顾名思义,用户登录就是登录用户自己的账号,我的收藏中可以查看收藏的商品,可以选择当商品出现降价时通知用户,而分享应用[10]则是分享购物商城软件给朋友们,个人中心设计详情表如表3-8所示:

表3-8 个人中心设计详情表

Activity

CollectActivity

功能

我的收藏模块

UI布局

、item_collect_

LoginActivity 用户登录模块 、

3.4本章小结

购物商城的设计遵循了最基本的购物需求,从参考文献、书籍等各方面收集资料,设计出有自己思想的购物商城。页面设计上从商品首页面到购物车页面再到个人中心页面;功能设计上从查看商品到加入购物车、加入收藏再到用户登录和分享应用功能;UI布局上既满足了现代审美需求,也强化了用户的购物体验的。

9

4购物商城的实现

4.1 购物商城欢迎界面的实现

当用户点击购物商城App后,首先在SplashActivity中先把欢迎界面图片加载进来,如下代码所示:

setContentView(ty_splash);

然后为SplashActivity开启一个线程,禁用返回键并持续三秒后跳转到商城主界面上,代码如下:

new Handler().postDelayed(new Runnable() {

@Override

public void run() {

Intent intent = new Intent();

ss(, );

startActivity(intent);

finish();

}

}, 3000);

if (keyCode == E_BACK) {

}

加入欢迎界面图片手机商城效果如图4-1所示:

return true;

图4-1 购物商城欢迎界面

10

4.2商城界面及底部菜单栏的实现

首先在MainActivity类中继承FragmentActivity类,代码如下:

public class MainActivity extends FragmentActivity

然后在其中定义一个FragmentTabHost对象和LayoutInflater对象,代码如下:

Private FragmentTabHost mTabHost;

private LayoutInflater layoutInflater;

然后定义一个商城界面数组fragmentArray和底部菜单栏的选项按钮数组

mImageViewArray和选项按钮文字标识数组mTextViewArray,代码如下:

private Class fragmentArray[] = { , ,

在加载好底部菜单栏的布局后,定义一个initView方法,把、、三个Fragment加载进MainActivity中实现关键代码如下:

private void initView() {

layoutInflater = (this);

mTabHost = (FragmentTabHost) findViewById(t);

(this, getSupportFragmentManager(), bcontent);

int count = ;

for (int i = 0; i < count; i++) {

TabSpec tabSpec = Spec(mTextViewArray[i])

.setIndicator(getTabItemView(i));

(tabSpec, fragmentArray[i], null);

}

}

加载底部菜单栏选项按钮代码如下:

private View getTabItemView(int index) {

View view = e(_item_view, null);

ImageView imageView = (ImageView) ewById(iew1);

geResource(mImageViewArray[index]);

TextView textView = (TextView) ewById(ew1);

t(mTextViewArray[index]);

11

};

_buy_btn, _people_btn};

private int mImageViewArray[] = { _home_btn,

private String mTextViewArray[] = { "首页", "购物车", "个人中心" };

return view;

}

最后分别在、、上重写onCreateView方法,把布局对应的布局文件加载。以下是HomeFragment中的关键代码:

public View onCreateView(LayoutInflater inflater, ViewGroup container,

}

商城界面及底部菜单栏的实现如图4-2所示:

Bundle savedInstanceState) {

View view = e(nt_main, null);

return view;

图4-2 商城界面及底部菜单栏的实现

4.3商城首页的实现

商城首页的实现不算复杂,布局方式是采用多重嵌套实现,如图4-3嵌套布局所示:

图4-3商城首页UI布局

12

顶部是导航栏,是RelativeLayout布局并在其中添加一个TextView控件。然后在嵌套中再添加4个LinearLayout,用来放置8个ImageView控件,每个ImageView控件代表一个手机品牌。如图4-4手机品牌布局所示:

图4-4 手机品牌布局

然后定义好导航栏中RelativeLayout控件和textView1控件的属性详情,如表4-1所示:

表4-1 导航栏中控件属性详情

控件

RelativeLayout

标签

android:layout_width

android:layout_height

android:gravity

android:background

属性

match_parent

46dp

center

#CD0000

textView1 android:textColor

android:text

#FFFFFF

首 页

再为8个ImageView添加单击事件监听器,当用户触摸设置有单击事件监听器的ImageView时,就会触发跳转事件,实现跳转到二级菜单手机商品详细情况页面上。最后为8个手机商品详细情况页面添加加入购物车和加入我的收藏功能,通过单击按钮,实现把商品加入购物车页面或我的收藏页面。

13

单击事件监听器触发跳转事件的关键代码如下:

class appleCheckedListener implements OnClickListener {

@Override

public void onClick(View v) {

Intent intent = new Intent();

ss(getActivity(), );

getActivity().startActivity(intent);

}

}

以下为二级菜单页中加入购物车按钮的单击事件监听器跳转代码:

public void onClick(View arg0) {

}

以下为二级菜单页中收藏按钮的单击事件监听器跳转代码:

public void onClick(View arg0) {

}

苹果二级页面如图4-5所示:

(1);

xt(, "已加入收藏",

_SHORT).show();

finish();

(1);

xt(, "已加入购物车",

_SHORT).show();

finish();

14

图4-5二级菜单页

4.4购物车的实现

购物车页面中,UI布局也离不开多重RelativeLayout和LinearLayout的相互嵌套,如图4-6购物车UI布局所示:

图4-6 购物车UI布局

其中包括一个ListView控件、一个ImageView控件和一个TextView控件。ListView控件是配合加载商品使用的,然后和首页一样,顶部也有相同的导航栏。下面是表4-2购物车UI布局中控件的属性详情表:

15

表4-2购物车UI布局中控件的属性详情表

控件

lv_buy

标签

android:layout_width

android:layout_height

android:layout_alignParentLeft

android:visibility

属性

match_parent

match_parent

true

visible

wrap_content

wrap_content

true

true

@drawable/iconshopping

imageView1

android:layout_width

android:layout_height

android:layout_alignParentLeft

android:layout_alignParentTop

android:src

textView2

android:layout_width

android:layout_height

android:layout_below

android:layout_centerHorizontal

android:layout_marginTop

android:text

wrap_content

wrap_content

@+id/imageView1

true

26dp

你还没添加商品

而ImageView和TextView是在没有商品时当没有商品时显示一个购物车图案和文字“你还没添加商品”,图4-7 展示空白购物车,关键实现代码如下:

16

if (() > 0) {

getActivity().findViewById(_shooping).setVisibility(

}

);

getActivity().findViewById(_buy).setVisibility(E);

图4-7 空白购物车

当有商品添加进购物车时,在购物车页面中将排列出来,图4-8展示了商品购物车,关键代码如下:

else {

adapter=newCommonAdapter(getActivity(),rList,

_shopcar_listview)

switch (item) {

case 0:

w(_0).setVisibility(E);

break;

getActivity().findViewById(_shooping).setVisibility(

}

E);

getActivity().findViewById(_buy).setVisibility();

17

图4-8 有商品购物车

当有商品购物车中的购买按钮时,就会跳转至支付界面,并弹出“订单已生成,请付款”提示框,图4-9显示了支付界面,关键代码如下:

public void convert(CommonViewHolder holder, int position,

Integer item) {

w(gpaybtn).setOnClickListener(

new OnClickListener() {

@Override

public void onClick(View arg0) {

Intent intent = new Intent();

ss(getActivity(),);

startActivity(intent);

xt(getActivity(), "订单已生成,请付款!",

_SHORT).show();

18

图4-9支付界面

4.5个人中心的实现

个人中心页面中,UI布局也和上述首页、购物车的一样,也是多重嵌套和具有一样的导航栏。如图4-10所示:

图4-10个人中心UI布局

其中放置了一个RelativeLayout用作用户登录布局和一个LinearLayout用作我的收藏和分享应用功能布局。其中的view是用来当作分割线,美化布局。下面是表4-3个人中心UI布局中控件的属性详情表:

19

表4-3个人中心UI布局中控件的属性详情表

控件

login

标签

android:layout_width

android:layout_height

android:layout_alignParentTop

android:layout_centerHorizontal

android:paddingBottom

android:src

属性

wrap_content

wrap_content

true

true

15dp

@drawable/mycenter

collect

android:layout_alignParentLeft

android:layout_alignParentTop

android:paddingBottom

android:paddingLeft

android:paddingTop

android:text

android:textSize

true

true

10sp

20sp

10sp

我的收藏

20sp

true

true

10sp

20sp

10sp

share

android:layout_alignParentLeft

android:layout_alignParentTop

android:paddingBottom

android:paddingLeft

android:paddingTop

20

android:text

android:textSize

分享

20sp

点击用户头像将会跳转至ReisterActivity登录界面,当输入的用户密码不为空时,保存用户名和密码并跳转到LoginActivity登录成功界面中然后返回个人中心,图4-11是用户登录成功界面,关键代码如下:

if (!"".equals(user) && !"".equals(pwd)) {

Intent intent = new Intent(,);

Bundle bundle = new Bundle();/

rSequence("user", user);

rSequence("pwd", pwd);

ras(bundle);

startActivity(intent);

finish();

图4-11 用户登录成功界面

反之则弹出提示输入信息有误,图4-12用户登录失败界面,关键代码如下:

xt(, "用户名或密码输入信息有误!",

_SHORT).show();

21

图4-12 用户登录失败界面

点击分享功能,则弹出选择框,供用户选择分享至手机上已经安装的软件上。分享功能的实现也比较简单,只许设置好intent过滤器,然后选择分享的应用,就可以把已经保存好的分享信息分享出去,图4-13展示了分享应用,关键代码如下:

Intent intent = new Intent(_SEND);

e("text/*");

ra(_TEXT, info);

if (eActivity(getActivity().getPackageManager()) != null) {

startActivity(intent);

图4-13 分享应用

22

4.6 本章小结

在本章中,通过对购物商城进行详细的设计实现,从商城首页到购物车再到个人中心。在大体上已经是一个有模有样的购物商城,能够体验到简单的购物流程体验。

23

结 论

毕业设计是对于我大学期间所学知识的应用,是一次系统的考察我对于所学知识的掌握程度。不得不说,在毕业设计的途中真遇到不少困难,少则困扰我十几分钟,重则困扰我数天时间,从理论到实践的路上可以说是一条已经砌好阶梯但十分陡峭难行的登山道路。

基于Android(安卓)开发的购物商城的设计使用用了数据逻辑层加应用层架构,在强大的Java编程语言和XML标签语言的帮与下,结合ADT-Bundle开发平台的高速便捷开发,实现了购物商城基本的购物流程体验。尽管当下已拥有诸多强大的购物商城,但更重要的是我在这次的课题研究中掌握了更多的知识。论文的创新点在于通过Fragment+

FragmentTabHost的结合,开发出具有底部菜单栏的应用框架,使得购物商城能够在一个Activity下快速地访问首页、购物车或者个人中心。在有限的屏幕空间里实现了利用最大化。而移动购物充分展示出的便捷性,是传统购物所不能比拟的。经过重重的困难,最终我还是基本完成了能进行简单购物体验的购物商城,能满足用户简单购物需求。如果有什么不足,会在以后慢慢完善,毕竟罗马不是一日建成的。

在毕业设计中,才真正意识到开发一个项目所做的准备是多么重要,在开发前就应该制定好详细的框架结构,有了详细的框架结构,再开始开发项目就会显得井然有序。一开始时我并未意识到这个问题,导致我的购物商城项目框架溃不成军,最后只能放弃已经做了几天的项目,重新制定详细框架结构再继续开发一个新的项目。项目中的各个模块是互相借用互相嵌套的,不存在独立的情况,可以说牵一发而动全身。正是因为这样,各种各样的困难接踵而至,在我不断地查阅文档资料和无数次的调试,才慢慢的解决一个又一个困难。相信这次经历,会让我在以后的工作中提供了重要帮助。

24

参考文献

[1] 卞秀运.基于Android平台的网上商城系统设计与实现[J].电脑知识与技术,2012,(32)

[2] 赵国栋.基于Android系统的手机网上商城设计与实现[D].北京交通大学,2012

[3] 软件开发技术联盟.Android开发实战[M].清华大学出版社,2013

[4] Budi Kurniawan(克里亚万) .Java和Android开发学习指南 [M].人民邮电出版社,2016

[5] 孙更新. Android从入门到精通[M].电子工业出版社,2011

[6] 吴亚峰,杜化美,苏亚光.Android编程典型实例与项目开发[M].电子工业出版社,2011

[7] 李刚.疯狂Android讲义第3版[M].电子工业出版社,2015

[8] 李宁.Android应用开发实战 [M].机械工业出版社,2012

[9] 韩超.Android经典应用程序开发[M].电子工业出版社,2012

[10] 郭霖.第一行代码[M].人民邮电出版社,2016

25

附 录

购物商城结构

说明

购物商城应用总结构

购物商城Java包

存放各种功能页面的activity

26

购物商城的图片资源文件夹

存放购物商城应用的各种图片资源文件

27

购物商城layout布局文件夹

组成购物商城每个页面布局

28

购物商城AndroidMainfest主设置文件

xmlns:android="/apk/res/android"

package=""

android:versionCode="1"

android:versionName="1.0" >

android:minSdkVersion="13"

android:targetSdkVersion="21" />

android:name="ication"

android:allowBackup="true"

android:icon="@drawable/icon"

android:label="@string/app_name"

android:theme="@android:style/onBar"

>

android:name=".SplashActivity"

android:label="@string/app_name" >

android:name="" />

android:name="ER" />

29

配置sdk、指定主activity、注册activity

30

致 谢

在本文完成之际,非常感谢老师,在我撰写论文的过程中,老师给予了极大的帮助,从设计思路、设计方法、设计过程等几个方面都给我很多指导,论文的选题、方案设计,到论文最终定稿,他都以严谨认真的态度对待,他的治学严谨和机敏睿智、高超的实践技能都对我产生很深的影响。值此提交论文之时,在此向导师表达衷心的感谢!

31

2024年3月6日发(作者:侯珺琪)

基于Android开发的购物商城App的设计与实现

中文摘要

购物商城App的设计是响应信息化的潮流,跟上时代发展的步伐,便利使用安卓设备进行移动网上购物作为购物商城设计的目的。其中用到类似天猫商城和京东商城的设计原理,创造功能合理、界面友善、满足使用者简单的网上购物体验。而本购物商城设计它既具备一定的使用价值也满足一定的功能要求。

互联网购物商城通常分为物质消费品和精神消费品两大类别。本文主要是以物质消费品中的手机商品来展示,购物商城设计的过程借助Java编程语言和XML语言实现,设计软件采用ADT Bundle。从购物商城首页模块的商品浏览、选购和收藏功能到购物车模块的下单购买功能再到个人中心模块查看我的收藏、分享应用功能的联动实现。

关键词:购物商城 Android开发 精神消费 物质消费

Abstract

The design of the shopping mall App is a response to the tide of informatization, keep up

with the pace of The Times development, online shopping convenience using android devices for

mobile as the purpose of the shopping mall use similar Tmall mall and the design

principle of Jingdong mall, create function reasonable, friendly interface, the simple online

shopping this shopping mall design it already have a certain use value also

satisfies the requirement of a certain function.

Internet shopping mall is usually divided into two major categories, material goods and

spiritual consumer paper is based on material consumer goods in the mobile phone to

display goods, shopping mall, design the process of using the Java programming language and

XML language to implement, design software using ADT the goods browsing,

shopping mall homepage module and collection function to cart module of choose and buy order

for function to the individual center module to check my collection, sharing the linkage of the

function is applied to implement.

Key words:Shopping mall App Android development

I

目 录

中文摘要 ................................................................................................................................................................ I

Abstract ................................................................................................................................................................. I

1 绪论 ................................................................................................................................................................... 1

1.1购物商城设计的背景 ............................................................. 1

1.2购物商城设计的内容 ............................................................. 1

1.3购物商城设计的意义 ............................................................. 1

1.4购物商城设计研究的方法 ......................................................... 1

1.5 本章小结 ....................................................................... 1

2 购物商城设计的相关技术应用 .......................................................... 2

2.1 ADT-Bundle在购物商城设计中的应用 .............................................. 2

2.2 Java在购物商城设计中的应用 .................................................... 2

2.3 XML在购物商城设计中的应用 ..................................................... 2

3 购物商城设计 ....................................................................... 4

3.1购物流程设计 ................................................................... 4

3.2数据存储设计 ................................................................... 5

3.3 欢迎界面设计 ................................................................... 6

3.4商城界面及底部菜单栏设计 ....................................................... 6

3.5商城首页功能模块设计 ........................................................... 6

3.6购物车功能模块设计 ............................................................. 8

3.7个人中心功能模块设计 ........................................................... 9

4 购物商城的实现 .................................................................... 10

4.1 购物商城欢迎界面的实现 ........................................................ 10

4.2商城界面及底部菜单栏的实现 .................................................... 11

4.3商城首页的实现 ................................................................ 12

4.4购物车的实现 .................................................................. 15

4.5个人中心的实现 ................................................................ 19

4.6 本章小结 ...................................................................... 23

结 论 ............................................................................ 25

参考文献 ............................................................................ 25

附 录 ............................................................................ 26

致 谢 ............................................................................ 31

II

1绪论

1.1购物商城设计的背景

随着当今社会经济的快速发展和网络的迅速普及,手机基本成为了每个人都随身携带的电子产品。传统的购物方式已经满足不了现代人日益追求便利及高效率的购物心理,而通过移动手机上的在线购物系统,可以便捷地甚至足不出门,想要的商品就能送到家,免除了在街上或超市中苦苦寻找商品而付出的劳动成本。

正因为手机成为了现代人几乎都随身携带的电子产品,所以本设计的购物商城则围绕手机消费品来进行探讨、开发设计和实现。简单的展示手机在线购物商城购物体验。

1.2购物商城设计的内容

基于Android(安卓)平台的在线购物商城,主要通过安装APP移动客户端来实现在线购物,并提供基本的在线购物商城体验,其中包括购物商城欢迎界面、购物商城首页、购物商城购物车及购物商城个人中心。

购物商城首页:简单的说,就是展示商品的界面。通过首页的分类商品信息,引导使用者进入第二级商品详情界面。

购物商城购物车:把合适的商品或者准备购物的商品进行集中管理,方便使用者查看已经挑选过的商品。

购物商城个人中心:提供详细的个人资料信息。如我的收藏、分享应用等。

1.3购物商城设计的意义

把手机购物商城和传统的购物方式及限制在桌子面前的台式电脑上购物方式相比较,突出手机购物更加便捷高效的购物新体验,打破空间的限制,节省不必要的成本,随时随地地购物商品。

1.4购物商城设计研究的方法

论文的研究综合了以往类似的文献、书籍、论坛博文等,经过纵横分析及对比,采纳部分资料进行归类并加以个人总结,辅助使用ADT开发平台,Java编程语言、XML标记语言,进行理论分析和实践

1.5 本章小结

本章简述了手机购物商城设计的背景、内容和研究方法等,为手机购物商城的设计提供可行性的理论分析及技术支持。规范了购物商城的设计模板,为UI界面设计和功能模块代码的编写进行了人性化的设计,通过ADT开发平台来开发设计并最终实现。

1

2 购物商城设计的相关技术应用

2.1 ADT-Bundle在购物商城设计中的应用

ADT-Bundle的具体名称为Android Development Tools-Bundle ,中文翻译是“安卓开发工具集成包”,是由Google Android(谷歌安卓)官方提供的集成式IDE,已经包含了Eclipse。使用者不需要另外下载Eclipse,并且ADT-Bundle里面已集成了插件,能够很好的解决大部分新手通过Eclipse来配置Android(安卓)开发环境的复杂问题。

使用ADT-Bundle,新涉足Android(安卓)开发的学习者也无需再像以往那样在网上参考繁琐的配置教程,可以轻松一步到位进行Android(安卓)应用开发。

在开发过程中主要使用的是Eclipse,通过Eclipse可以有效地编写Java代码。Eclipse自带着十分强大的功能,为开发者提供不少便利之处,下面我举例几个功能。

代码自动预测功能,按住组合键“Ctrl+/”Eclipse可以根据已经输入的代码,自动检测接下来所需要输入的代码,弹出滚动选项框供开发者选择。

代码自动检错功能,当开发者错误输入不正确时,Eclipse会将错误的代码段以红色波浪线下划线标注,以便引起开发者的注意。

自动排版功能,按住组合键“Ctrl+Shift+F”能够将代码自动排版,格式化。因为每个开发者的习惯不一,所以编写的代码格式不一,这就导致了给其他开发者观看代码时造成不多不便。自动排版功能就可以解决这些问题。

Eclipse在购物商城设计中,主要是提供平台进行代码编写、代码调试、虚拟机仿真机测试、打包APK文件等作用。运行Eclipse,能够方便地帮助开发者进行更精准的表达设计内容。

2.2 Java在购物商城设计中的应用

Java编程语言,是由Sun公司于1995年5月发布的一门面向对象的编程语言。自发布至今,Java为IT行业带来一场巨大的变革,其中包括本论文的购物商城设计,也是基于Java的演变而来的。

Java在购物商城设计中,主要负责实现购物商城的基本功能模块,调用基础库、创建类、扩展类等等作用。

2.3 XML在购物商城设计中的应用

XML的中文名为可扩展标记语言,是一种用于标记电子文件使其具有结构性的标记语言,能够对文档和数据进行结构化处理,从而更好的使我们理解文档和数据。

XML在购物商城设计中,主要负责购物商城UI界面的开发和实现。通过XML,可以快速地对购物商城的首页、购物车以及个人中心进行排版。相较于用Java进行UI界面开发和实现,能够节省大量时间和精力。

2

2.4本章小结

掌握并熟练地运用ADT-Bundle、Java和XML,能够使购物商城的设计开发变得更加顺利,其他的开发也如此。正如工欲善其事,必先利其器。

3

3 购物商城设计

每个优秀的软件都不离开优秀的系统设计,系统设计就像大楼框架,支撑着整幢大楼。因此,系统设计为整套软件系统的实现提供了必要的基础。

3.1购物流程设计

当用户打开购物商城时,第一时间弹出的是欢迎界面并在此界面中停留3秒钟,以便用户观察欢迎界面,加深对购物商城的购物体验。在欢迎界面过后,用户可以看到3个界面模块,分别是首页、购物车、个人中心。在首页上,添加了8个手机商品品牌,当用户点击不同的手机品牌时,就会进入对应的手机商品详情页面,在商品详情页面上[1],用户可以对所展示的手机商品进行加入购物车或加入我的收藏选择,对于点击加入购物车的手机商品,将会在购物车页面进行展示并可以在购物车中下订单和支付,而加入我的收藏的手机商品,就会在个人中心页面中我的收藏选项卡中进行展示,通过点击降价提醒,系统会在收藏商品有降价是提醒用户。另外,个人中心还有用户登录和应用分享两个选项卡,选择用户登录将会打开登陆框,提醒用户输入账号密码,当账号密码不为空时,就跳转欢迎用户登录界面,然后返回个人中心界面,如果账号密码有一个为空时,提醒用户账号密码不能为空并重新输入,购物商城构思过程如图3-1所示:

图3-1 购物商城构思过程

4

3.2数据存储设计

对于数据的存储方式,采用了Application来处理。Application,是和Activity、Service组件一样属于Android框架的系统组件[2]。通常情况下,当Android程序启动时为自动创建一个Application对象,可以用来存储一些系统数据。如果需要自己创建也十分简单,只需要让一个类来继承自Application,同时在Mainifest中给Applicaiton标添加name属性把自己的Applicaiton写入即可。

Applicaiton自从程序运行时就被创建,因此它的生命周期就等同于程序的生命周期,并且它是全局变量,所以采取Applicaiton来代替SQLite数据库来进行数据传递、数据共享、数据缓存等操作。

本设计中涉及到三个类继承自Applicaiton,如表3-1所示所示:

表3-1 Application类

Application类:

从属功能模块:

MyApplication

购物车

CollectApplication

我的收藏

PayApplication

支付

创建好Applicaiton后,为对应的Applicaiton中创建好的List对象生成对应的set和get方法,为后续操作调用提供方法,如下表3-2所示:

表3-2 set和get方法

Set方法

public void

setShopCarList(List

ShopCartList) {

ShopCarList = ShopCarList;

get方法

MyApplication public

ListgetShopCarList()

{

return ShopCarList;

public

ListgetCollectList() {

return CollectList;

CollectApplication

public void

setCollectList(List

CollectList) {

CollectList = CollectList;

PayApplication public void

setPayList(List PayList) {

public

List getPayList() {

5

PayList = PayList;

return PayList;

3.3 欢迎界面设计

为了加强用户的购物体验以及对应用本身的品牌认知度,在选择打开应用的时候先加载一个欢迎界面,停留三秒的时间同时禁用返回键[3],之后再跳转到商城主界面上。用到的资源如表3-3所示:

表3-3 欢迎界面图片资源

欢迎界面图片

3.4商城界面及底部菜单栏设计

展示在用户面前的屏幕空间是有限的,因此要考虑如何在有限的屏幕空间里同时展示购物商城的首页、购物车、个人中心功能模块。在一个完整的Activity上划分出三个单独的区域,可以采用Fragment来设计。Fragment是一种可以嵌入到Activity中的UI片段,它能让程序更加合理和充分地利用屏幕空间[4]。因为可以为购物商城的首页、购物车、个人中心分别设计一个Fragment,如表3-4所示:

表3-4 首页、购物车、个人中心Fragment命名

首页

HomeFragment

购物车

BuyFragment

个人中心

PeopleFragment

在屏幕的底部,用FragmentTabHost设计一个菜单栏,为三个功能模块设计选项入口,快速响应用户的指引。同时为三个选项卡在/res资源目录下设计选中、未选中时的反馈效果[5],如表3-5所示。因此商城布局设计采用Fragment+FragmentTabHost来设计。

表3-5 菜单栏图片资源

选中时

未选中时

首页

home_

购物车

buy_

个人中心

people_

3.5商城首页功能模块设计

购物商城首页页面是用户在进入软件主界面之后第一时间看到的模块,主要用来展示购物商城售卖商品分类页面。用户通过点击不同的分类商品,可以进入该类商品详细情况6

页面。由于本论文购物商城所展示的商品是手机商品,因此将选择在首页分别展示三星、苹果、小米、华为、魅族、努比亚、一加、锤子等8种目前市面上流行的手机品牌。

当用户点击手机分类页面上不同的ImageView时,系统就会自动跳转到该类手机品牌的手机详细情况页面XXXshopActivity,在详细情况页面中,用户可以浏览到该手机品牌的手机款式、价格等信息,通过点击加入购物车按钮、收藏按钮还可以加入商品到购物车、我的收藏[6]。下面是分别是逻辑图3-2和商城首页设计详情表3-6所示。

ImageView

xxxShop

Activity

加入购物车

收藏

图3-2 逻辑图

表3-6 商城首页设计详情表

ImageView

apple

功能

进入苹果商品详情页

xxxShopActivity

AppleShopActivity

功能

浏览苹果商店、加入购物车收藏

samsung 进入三星商品详情页

SamsungShopActivity 浏览三星商店、加入购物车收藏

xiaomi 进入苹果商品详情页

XiaoMiShopActivity 浏览小米商店、加入购物车收藏

huawei 进入华为商品详情页

7

UI布局

HuaWeiShopActivity 浏览华为商店、加入购物车收

meizu 进入魅族商品详情页

MeiZuShopActivity 浏览魅族商店、加入购物车收藏

nubiya 进入努比亚商品详情页

oneplus 进入一加商品详情页

OnePlusShopActivity

NuBiYaShopActivity 浏览努比亚商店、加入购物车收藏

浏览一加商店、加入购物车收藏

smartisan 进入锤子商品详情页

SmartisanShopActivity 浏览锤子商店、加入购物车收藏

3.6购物车功能模块设计

购物车页面是用户用来浏览从手机商品详细情况页面上选择加入购物车的商品列表。每当用户从每个手机商品详细情况页面上选择添加到购物车的商品,都会在购物车页面上以列表的形式罗列出来[7],通过点击购买按钮,可以前往支付页面[8]。

ShopCar

List

CommonAdapter

ListView

PayButton

支付页面

图 3-3 逻辑图

从逻辑上看,是ListView加载数据的设计。可以为ListView创建一个CommonAdapter简单适配器[9],把商品详情页上获取到的数据从MyApplication上的ShopCarList中加载进适配器中,再从ListView上以列表形式展现出来。在展示好数据的ListView上,通过点击相应的Button按钮跳转到支付页面上,如图3-3逻辑图所示和表3-7所示:

8

表3-7 类的功能定义

类 功能

暂存、传递数据

适配数据

列表显示视图

前往支付按钮

ShopCarList

CommonAdapter

ListView

PayButton

3.7个人中心功能模块设计

个人中心页面是增强用户购物体验的模块,在这页面上有用户登录、我的收藏和分享应用。顾名思义,用户登录就是登录用户自己的账号,我的收藏中可以查看收藏的商品,可以选择当商品出现降价时通知用户,而分享应用[10]则是分享购物商城软件给朋友们,个人中心设计详情表如表3-8所示:

表3-8 个人中心设计详情表

Activity

CollectActivity

功能

我的收藏模块

UI布局

、item_collect_

LoginActivity 用户登录模块 、

3.4本章小结

购物商城的设计遵循了最基本的购物需求,从参考文献、书籍等各方面收集资料,设计出有自己思想的购物商城。页面设计上从商品首页面到购物车页面再到个人中心页面;功能设计上从查看商品到加入购物车、加入收藏再到用户登录和分享应用功能;UI布局上既满足了现代审美需求,也强化了用户的购物体验的。

9

4购物商城的实现

4.1 购物商城欢迎界面的实现

当用户点击购物商城App后,首先在SplashActivity中先把欢迎界面图片加载进来,如下代码所示:

setContentView(ty_splash);

然后为SplashActivity开启一个线程,禁用返回键并持续三秒后跳转到商城主界面上,代码如下:

new Handler().postDelayed(new Runnable() {

@Override

public void run() {

Intent intent = new Intent();

ss(, );

startActivity(intent);

finish();

}

}, 3000);

if (keyCode == E_BACK) {

}

加入欢迎界面图片手机商城效果如图4-1所示:

return true;

图4-1 购物商城欢迎界面

10

4.2商城界面及底部菜单栏的实现

首先在MainActivity类中继承FragmentActivity类,代码如下:

public class MainActivity extends FragmentActivity

然后在其中定义一个FragmentTabHost对象和LayoutInflater对象,代码如下:

Private FragmentTabHost mTabHost;

private LayoutInflater layoutInflater;

然后定义一个商城界面数组fragmentArray和底部菜单栏的选项按钮数组

mImageViewArray和选项按钮文字标识数组mTextViewArray,代码如下:

private Class fragmentArray[] = { , ,

在加载好底部菜单栏的布局后,定义一个initView方法,把、、三个Fragment加载进MainActivity中实现关键代码如下:

private void initView() {

layoutInflater = (this);

mTabHost = (FragmentTabHost) findViewById(t);

(this, getSupportFragmentManager(), bcontent);

int count = ;

for (int i = 0; i < count; i++) {

TabSpec tabSpec = Spec(mTextViewArray[i])

.setIndicator(getTabItemView(i));

(tabSpec, fragmentArray[i], null);

}

}

加载底部菜单栏选项按钮代码如下:

private View getTabItemView(int index) {

View view = e(_item_view, null);

ImageView imageView = (ImageView) ewById(iew1);

geResource(mImageViewArray[index]);

TextView textView = (TextView) ewById(ew1);

t(mTextViewArray[index]);

11

};

_buy_btn, _people_btn};

private int mImageViewArray[] = { _home_btn,

private String mTextViewArray[] = { "首页", "购物车", "个人中心" };

return view;

}

最后分别在、、上重写onCreateView方法,把布局对应的布局文件加载。以下是HomeFragment中的关键代码:

public View onCreateView(LayoutInflater inflater, ViewGroup container,

}

商城界面及底部菜单栏的实现如图4-2所示:

Bundle savedInstanceState) {

View view = e(nt_main, null);

return view;

图4-2 商城界面及底部菜单栏的实现

4.3商城首页的实现

商城首页的实现不算复杂,布局方式是采用多重嵌套实现,如图4-3嵌套布局所示:

图4-3商城首页UI布局

12

顶部是导航栏,是RelativeLayout布局并在其中添加一个TextView控件。然后在嵌套中再添加4个LinearLayout,用来放置8个ImageView控件,每个ImageView控件代表一个手机品牌。如图4-4手机品牌布局所示:

图4-4 手机品牌布局

然后定义好导航栏中RelativeLayout控件和textView1控件的属性详情,如表4-1所示:

表4-1 导航栏中控件属性详情

控件

RelativeLayout

标签

android:layout_width

android:layout_height

android:gravity

android:background

属性

match_parent

46dp

center

#CD0000

textView1 android:textColor

android:text

#FFFFFF

首 页

再为8个ImageView添加单击事件监听器,当用户触摸设置有单击事件监听器的ImageView时,就会触发跳转事件,实现跳转到二级菜单手机商品详细情况页面上。最后为8个手机商品详细情况页面添加加入购物车和加入我的收藏功能,通过单击按钮,实现把商品加入购物车页面或我的收藏页面。

13

单击事件监听器触发跳转事件的关键代码如下:

class appleCheckedListener implements OnClickListener {

@Override

public void onClick(View v) {

Intent intent = new Intent();

ss(getActivity(), );

getActivity().startActivity(intent);

}

}

以下为二级菜单页中加入购物车按钮的单击事件监听器跳转代码:

public void onClick(View arg0) {

}

以下为二级菜单页中收藏按钮的单击事件监听器跳转代码:

public void onClick(View arg0) {

}

苹果二级页面如图4-5所示:

(1);

xt(, "已加入收藏",

_SHORT).show();

finish();

(1);

xt(, "已加入购物车",

_SHORT).show();

finish();

14

图4-5二级菜单页

4.4购物车的实现

购物车页面中,UI布局也离不开多重RelativeLayout和LinearLayout的相互嵌套,如图4-6购物车UI布局所示:

图4-6 购物车UI布局

其中包括一个ListView控件、一个ImageView控件和一个TextView控件。ListView控件是配合加载商品使用的,然后和首页一样,顶部也有相同的导航栏。下面是表4-2购物车UI布局中控件的属性详情表:

15

表4-2购物车UI布局中控件的属性详情表

控件

lv_buy

标签

android:layout_width

android:layout_height

android:layout_alignParentLeft

android:visibility

属性

match_parent

match_parent

true

visible

wrap_content

wrap_content

true

true

@drawable/iconshopping

imageView1

android:layout_width

android:layout_height

android:layout_alignParentLeft

android:layout_alignParentTop

android:src

textView2

android:layout_width

android:layout_height

android:layout_below

android:layout_centerHorizontal

android:layout_marginTop

android:text

wrap_content

wrap_content

@+id/imageView1

true

26dp

你还没添加商品

而ImageView和TextView是在没有商品时当没有商品时显示一个购物车图案和文字“你还没添加商品”,图4-7 展示空白购物车,关键实现代码如下:

16

if (() > 0) {

getActivity().findViewById(_shooping).setVisibility(

}

);

getActivity().findViewById(_buy).setVisibility(E);

图4-7 空白购物车

当有商品添加进购物车时,在购物车页面中将排列出来,图4-8展示了商品购物车,关键代码如下:

else {

adapter=newCommonAdapter(getActivity(),rList,

_shopcar_listview)

switch (item) {

case 0:

w(_0).setVisibility(E);

break;

getActivity().findViewById(_shooping).setVisibility(

}

E);

getActivity().findViewById(_buy).setVisibility();

17

图4-8 有商品购物车

当有商品购物车中的购买按钮时,就会跳转至支付界面,并弹出“订单已生成,请付款”提示框,图4-9显示了支付界面,关键代码如下:

public void convert(CommonViewHolder holder, int position,

Integer item) {

w(gpaybtn).setOnClickListener(

new OnClickListener() {

@Override

public void onClick(View arg0) {

Intent intent = new Intent();

ss(getActivity(),);

startActivity(intent);

xt(getActivity(), "订单已生成,请付款!",

_SHORT).show();

18

图4-9支付界面

4.5个人中心的实现

个人中心页面中,UI布局也和上述首页、购物车的一样,也是多重嵌套和具有一样的导航栏。如图4-10所示:

图4-10个人中心UI布局

其中放置了一个RelativeLayout用作用户登录布局和一个LinearLayout用作我的收藏和分享应用功能布局。其中的view是用来当作分割线,美化布局。下面是表4-3个人中心UI布局中控件的属性详情表:

19

表4-3个人中心UI布局中控件的属性详情表

控件

login

标签

android:layout_width

android:layout_height

android:layout_alignParentTop

android:layout_centerHorizontal

android:paddingBottom

android:src

属性

wrap_content

wrap_content

true

true

15dp

@drawable/mycenter

collect

android:layout_alignParentLeft

android:layout_alignParentTop

android:paddingBottom

android:paddingLeft

android:paddingTop

android:text

android:textSize

true

true

10sp

20sp

10sp

我的收藏

20sp

true

true

10sp

20sp

10sp

share

android:layout_alignParentLeft

android:layout_alignParentTop

android:paddingBottom

android:paddingLeft

android:paddingTop

20

android:text

android:textSize

分享

20sp

点击用户头像将会跳转至ReisterActivity登录界面,当输入的用户密码不为空时,保存用户名和密码并跳转到LoginActivity登录成功界面中然后返回个人中心,图4-11是用户登录成功界面,关键代码如下:

if (!"".equals(user) && !"".equals(pwd)) {

Intent intent = new Intent(,);

Bundle bundle = new Bundle();/

rSequence("user", user);

rSequence("pwd", pwd);

ras(bundle);

startActivity(intent);

finish();

图4-11 用户登录成功界面

反之则弹出提示输入信息有误,图4-12用户登录失败界面,关键代码如下:

xt(, "用户名或密码输入信息有误!",

_SHORT).show();

21

图4-12 用户登录失败界面

点击分享功能,则弹出选择框,供用户选择分享至手机上已经安装的软件上。分享功能的实现也比较简单,只许设置好intent过滤器,然后选择分享的应用,就可以把已经保存好的分享信息分享出去,图4-13展示了分享应用,关键代码如下:

Intent intent = new Intent(_SEND);

e("text/*");

ra(_TEXT, info);

if (eActivity(getActivity().getPackageManager()) != null) {

startActivity(intent);

图4-13 分享应用

22

4.6 本章小结

在本章中,通过对购物商城进行详细的设计实现,从商城首页到购物车再到个人中心。在大体上已经是一个有模有样的购物商城,能够体验到简单的购物流程体验。

23

结 论

毕业设计是对于我大学期间所学知识的应用,是一次系统的考察我对于所学知识的掌握程度。不得不说,在毕业设计的途中真遇到不少困难,少则困扰我十几分钟,重则困扰我数天时间,从理论到实践的路上可以说是一条已经砌好阶梯但十分陡峭难行的登山道路。

基于Android(安卓)开发的购物商城的设计使用用了数据逻辑层加应用层架构,在强大的Java编程语言和XML标签语言的帮与下,结合ADT-Bundle开发平台的高速便捷开发,实现了购物商城基本的购物流程体验。尽管当下已拥有诸多强大的购物商城,但更重要的是我在这次的课题研究中掌握了更多的知识。论文的创新点在于通过Fragment+

FragmentTabHost的结合,开发出具有底部菜单栏的应用框架,使得购物商城能够在一个Activity下快速地访问首页、购物车或者个人中心。在有限的屏幕空间里实现了利用最大化。而移动购物充分展示出的便捷性,是传统购物所不能比拟的。经过重重的困难,最终我还是基本完成了能进行简单购物体验的购物商城,能满足用户简单购物需求。如果有什么不足,会在以后慢慢完善,毕竟罗马不是一日建成的。

在毕业设计中,才真正意识到开发一个项目所做的准备是多么重要,在开发前就应该制定好详细的框架结构,有了详细的框架结构,再开始开发项目就会显得井然有序。一开始时我并未意识到这个问题,导致我的购物商城项目框架溃不成军,最后只能放弃已经做了几天的项目,重新制定详细框架结构再继续开发一个新的项目。项目中的各个模块是互相借用互相嵌套的,不存在独立的情况,可以说牵一发而动全身。正是因为这样,各种各样的困难接踵而至,在我不断地查阅文档资料和无数次的调试,才慢慢的解决一个又一个困难。相信这次经历,会让我在以后的工作中提供了重要帮助。

24

参考文献

[1] 卞秀运.基于Android平台的网上商城系统设计与实现[J].电脑知识与技术,2012,(32)

[2] 赵国栋.基于Android系统的手机网上商城设计与实现[D].北京交通大学,2012

[3] 软件开发技术联盟.Android开发实战[M].清华大学出版社,2013

[4] Budi Kurniawan(克里亚万) .Java和Android开发学习指南 [M].人民邮电出版社,2016

[5] 孙更新. Android从入门到精通[M].电子工业出版社,2011

[6] 吴亚峰,杜化美,苏亚光.Android编程典型实例与项目开发[M].电子工业出版社,2011

[7] 李刚.疯狂Android讲义第3版[M].电子工业出版社,2015

[8] 李宁.Android应用开发实战 [M].机械工业出版社,2012

[9] 韩超.Android经典应用程序开发[M].电子工业出版社,2012

[10] 郭霖.第一行代码[M].人民邮电出版社,2016

25

附 录

购物商城结构

说明

购物商城应用总结构

购物商城Java包

存放各种功能页面的activity

26

购物商城的图片资源文件夹

存放购物商城应用的各种图片资源文件

27

购物商城layout布局文件夹

组成购物商城每个页面布局

28

购物商城AndroidMainfest主设置文件

xmlns:android="/apk/res/android"

package=""

android:versionCode="1"

android:versionName="1.0" >

android:minSdkVersion="13"

android:targetSdkVersion="21" />

android:name="ication"

android:allowBackup="true"

android:icon="@drawable/icon"

android:label="@string/app_name"

android:theme="@android:style/onBar"

>

android:name=".SplashActivity"

android:label="@string/app_name" >

android:name="" />

android:name="ER" />

29

配置sdk、指定主activity、注册activity

30

致 谢

在本文完成之际,非常感谢老师,在我撰写论文的过程中,老师给予了极大的帮助,从设计思路、设计方法、设计过程等几个方面都给我很多指导,论文的选题、方案设计,到论文最终定稿,他都以严谨认真的态度对待,他的治学严谨和机敏睿智、高超的实践技能都对我产生很深的影响。值此提交论文之时,在此向导师表达衷心的感谢!

31

发布评论

评论列表 (0)

  1. 暂无评论