移动电子商务android平台开发Word文档格式.docx
《移动电子商务android平台开发Word文档格式.docx》由会员分享,可在线阅读,更多相关《移动电子商务android平台开发Word文档格式.docx(10页珍藏版)》请在冰豆网上搜索。
2.Android有哪些优势?
相对与传统的手机操作系统,Android的优势主要体现在下面几个方面:
(1)源代码完全开放,便于开发人员更清楚地把握实现细节,便于提高开发人员的技术水平,有利于开发出更具差异性的应用。
(2)采用了对有限内存、电池和CPU优化过的虚拟机Dalvik,Android的运行速度比想象的要快很多。
(3)得到运营商的大力支持,产业链条的热捧。
(4)良好的盈利模式(3/7开),产业链条的各方(运营商、制造商、软件开发商)都可以获得不错的利益。
将移动终端的评价标准从硬件向软件转变,极大的激发了软件开发者的热情。
(5)Android的源代码遵循ApacheV2软件许可,而不是通常的GPLv2许可。
有利于商业开发。
(6)具有强大的Linux社区的支持。
3.Android如何盈利?
Android采用AppMarket的盈利模式,软件开发者获得7成收入,3成用于系统维护。
设备商通过卖设备、内置特色应用来获取利润,开发者包括专职开发人员和兼职开发人员(俗称草根开发者)通过将开发出来的产品放到应用商场获取报酬。
(1)
(2)
(3)ApplicationFramework
通过提供开放的开发平台,Android使开发者能够编制极其丰富和新颖的应用程序。
开发者可以自由地利用设备硬件优势、访问位置信息、运行后台服务、设置闹钟、向状态栏添加通知等等,很多很多。
开发者可以完全使用核心应用程序所使用的框架APIs。
应用程序的体系结构旨在简化组件的重用,任何应用程序都能发布他的功能且任何其他应用程序可以使用这些功能(需要服从框架执行的安全限制)。
这一机制允许用户替换组件。
所有的应用程序其实是一组服务和系统,包括:
*视图(View)——丰富的、可扩展的视图集合,可用于构建一个应用程序。
包括包括列表、网格、文本框、按钮,甚至是内嵌的网页浏览器。
*内容提供者(ContentProviders)——使应用程序能访问其他应用程序(如通讯录)的数据,或共享自己的数据。
*资源管理器(ResourceManager)——提供访问非代码资源,如本地化字符串、图形和布局文件。
*通知管理器(NotificationManager)——使所有的应用程序能够在状态栏显示自定义警告。
*活动管理器(ActivityManager)——管理应用程序生命周期,提供通用的导航回退功能。
(4)Applications
Android装配了一个核心应用程序集合,包括电子邮件客户端、SMS程序、日历、地图、浏览器、联系人和其他设置,所有应用程序都是用Java编程语言写的。
除了Google公司提供的应用程序之外,其他开发者也可以利用Android提供的开发工具开发更加丰富的应用程序。
4.Android包含哪些应用组件?
Android的一个主要特点是,一个应用程序可以利用其他应用程序的元素(假设这些应用程序允许的话)。
例如,如果你的应用程序需要显示一个图像的滚动列表,且其他应用程序已经开发了一个合适的滚动条并可以提供给别的应用程序用,你可以调用这个滚动条来工作,而不用自己开发一个。
你的应用程序不用并入其他应用程序的代码或链接到它,当需求产生时它只是启动其他应用程序块。
对于这个工作,当应用程序的任何部分被请求时,系统必须能够启动一个应用程序的进程,并实例化该部分的Java对象。
因此,不像其他大多数系统的应用程序,Android应用程序没有一个单一的入口点(例如,没有main()函数)。
系统能够实例化和运行需要几个必要的组件,即下面四种类型的组件:
◆活动(Activities)
◆服务(Services)
◆广播接收者(Broadcastreceivers)
◆内容提供者(Contentproviders)
然而,并不是所有的应用程序都必须包含上面的四个部分,你的应用程序可以由上面的一个或几个来组建。
当你决定使用以上哪些组件来构建Android应用程序时,你应该将它们列在AndroidManifest.xml文件中,在这个文件中你可以声明应用程序组件以及它们的特性和要求。
(1)活动(Activities)
一个活动表示一个可视化的用户界面,关注一个用户从事的事件。
例如,一个活动可能表示一个用户可选择的菜单项列表,或者可能显示照片连同它的标题。
一个文本短信应用程序可能有一个活动,显示联系人的名单发送信息;
第二个活动,写信息给选定的联系人;
其他活动,重新查看旧信息或更改设置。
虽然他们一起工作形成一个整体的用户界面,但是每个活动是独立于其他活动的。
每一个都是作为Activity基类的一个子类的实现。
android.app.Activity类:
因为几乎所有的活动(activities)都是与用户交互的,所以Activity类关注创建窗口,你可以用方法setContentView(View)将自己的UI放到里面。
然而活动通常以全屏的方式展示给用户,也可以以浮动窗口或嵌入在另外一个活动中。
有两个方法是几乎所有的Activity子类都实现的:
1)onCreate(Bundle):
初始化你的活动(Activity),比如完成一些图形的绘制。
最重要的是,在这个方法里你通常将用布局资源(layoutresource)调用setContentView(int)方法定义你的UI,和用findViewById(int)在你的UI中检索你需要编程地交互的小部件(widgets)。
setContentView指定由哪个文件指定布局(main.xml),可以将这个界面显示出来,然后我们进行相关操作,我们的操作会被包装成为一个意图(Intent),然后这个意图对应有相关的activity进行处理。
2)onPause():
处理当离开你的活动时要做的事情。
最重要的是,用户做的所有改变应该在这里提交(通常ContentProvider保存数据)。
一个应用程序可能只包含一个活动,或者像刚才提到的短信应用,它可能包含几个活动。
这些活动是什么,以及有多少,当然这取决于它的应用和设计。
一般来讲,当应用程序被启动时,被标记为第一个的活动应该展示给用户。
从一个活动移动到另一个活动由当前的活动完成开始下一个。
每一个活动都有一个默认的窗口。
一般来讲,窗口会填满整个屏幕,但是它可能比屏幕小或浮在其他窗口上。
一个活动还可以使用额外的窗口——例如弹出式对话框,或当一用户选择屏幕上一个特定的项时一个窗口显示给用户重要的信息。
窗口的可视内容是由继承自View基类的一个分层的视图—对象提供。
每个视图控件是窗口内的一个特定的矩形空间。
父视图包含和组织子女视图的布局。
叶子视图(在分层的底层)绘制的矩形直接控制和响应用户的操作。
因此,一个视图是活动与用户交互发生的地方。
例如,一个视图可能显示一个小的图片和当用户点击图片时发起一个行为。
Android有一些现成的视图你可以使用,包括按钮(buttons)、文本域(textfields)、滚动条(scrollbars)、菜单项(menuitems)、复选框(checkboxes)等等。
通过Activity.setContentView()方法放置一个视图层次在一个活动窗口中。
内容视图(contentview)是层次结构的根视图对象。
层次结构如下图所示:
视图的层次结构
Activity.setContentView()方法:
publicvoidsetContentView(intlayoutResID):
根据布局资源设置活动的界面。
资源将被夸大,添加布局资源文件中所有的最高层的视图(top-levelviews)到活动。
(2)服务(Services)
一个服务没有一个可视化用户界面,而是在后台无期限地运行。
例如一个服务可能是播放背景音乐而用户做其他一些事情,或者它可能从网络获取数据,或计算一些东西并提供结果给需要的活动(activities)。
每个服务都继承自Service基类。
每个服务类在AndroidManifest.xml中有相应的<
service>
声明。
服务可以通过Context.startService()和Context.bindService()启动。
一个典型的例子是一个媒体播放器播放一个播放列表中的歌曲。
该播放器应用程序将可能有一个或多个活动(activities),允许用户选择歌曲和开始播放。
然而,音乐播放本身不会被一个活动处理,因为用户希望保持音乐继续播放,当用户离开播放器去做其他事情时。
为了保持音乐继续播放,媒体播放器活动可以启动一个服务运行在后台。
系统将保持音乐播放服务运行,甚至媒体播放器离开屏幕时。
可以连接/绑定到一个持续运行的服务(并启动服务,如果它尚未运行)。
连接之后,你可以通过服务暴露的接口与服务交流。
对于音乐服务,这个接口可以允许用户暂停、倒带、停止和重新播放。
像活动(activities)和其他组件一样,服务(services)运行在应用程序进程中的主线程中。
因此,他们将不会阻止其他组件或用户界面,他们往往产生其他一些耗时的任务(如音乐播放)。
(3)广播接收者(Broadcastreceivers)
一个广播接收者是这样一个组件,它不做什么事,仅是接受广播公告并作出相应的反应。
许多广播源自于系统代码,例如公告时区的改变、电池电量低、已采取图片、用户改变了语言偏好。
应用程序也可以发起广播,例如为了让其他程序知道某些数据已经下载到设备且他们可以使用这些数据。
一个应用程序可以有任意数量的广播接收者去反应任何它认为重要的公告。
所有的接受者继承自BroadcastReceiver基类。
BroadcastReceiver类:
是接受sendBroadcast()发送的意图(intents)的基类。
可以用Context.registerReceiver()动态地注册这个类的实例,或者通过AndroidManifest.xml中<
receiver>
标签静态发布。
注意:
如果你在Activity.onResume()注册一个接受者,你应该在Activity.onPause()注销它。
因为当暂停时你不会收到意图,注销它将削减不必要的系统开销。
不要在Activity.onSaveInstanceState()中注销它,因为它将不会被调用,如果用户移动到先前的堆栈。
有两种主要的可接受广播类型:
1.正常广播(由Context.sendBroadcast发送)是完全异步的。
所有的广播接收者以无序方式运行,往往在同一时间接收。
这样效率较高,但是意味着接受者不能使用结果或终止广播数据传播。
2.有序广播(由Context.sendOrderedBroadcast发送)一次传递给一个接收者。
由于每个接收者依次执行,因此它可以传播到下一个接收器,也可以完全终止传播以便他不会传递给其他接收者。
接收者的运行顺序可由匹配的意图过滤器(intent-filter)的android:
priority属性控制。
广播接收者不显示一个用户界面。
然而,它们启动一个活动去响应收到的信息,或者他们可能使用NotificationManager去通知用户。
通知可以使用多种方式获得用户的注意——闪烁的背光、振动设备、播放声音等等。
典型的是放一个图标在状态栏,用户可以打开获取信息。
(4)内容提供者(Contentproviders)
内容提供者(contentprovider)是将一个应用程序的指定数据集提供给其他应用程序。
这些数据可以存储在文件系统中、在一个SQLite数据库、或以任何其他合理的方式。
内容提供者继承自ContentProvider基类并实现了一个标准的方法集,使得其他应用程序可以检索和存储数据。
然而,应用程序并不直接调用这些方法。
相反,替代的是它们使用一个ContentResolver对象并调用它的方法。
ContentResolver能与任何内容提供者通信,它与提供者合作来管理参与进来的进程间的通信。
内容提供者是Android应用程序的主要组成部分之一,提供内容给应用程序。
他们封装数据且通过单个ContentResolver接口提供给应用程序。
只有需要在多个应用程序间共享数据时才需要内容提供者。
例如,通讯录数据被多个应用程序使用,且必须存储在一个内容提供者中。
如果你不需要在多个应用程序间共享数据,你可以直接使用SQLiteDataBase。
当ContentResolver发出一个请求时,系统检查给定的URI的权限并传递请求给内容提供者注册。
内容提供者能理解URI想要的东西。
UriMatcher类用于帮组解析URIs。
需要实现的方法主要如下:
*query(Uri,String[],String,String[],String)返回数据给调用者
*insert(Uri,ContentValues)插入数据到内容提供者
*update(Uri,ContentValues,String,String[])更新内容提供者已存在的数据
*delete(Uri,String,String[])从内容提供者中删除数据
*getType(Uri)返回内容提供者中的MIME类型数据
每当有一个应该由特定组件处理的请求,Android可以确保该组件的应用程序正在运行,如果没有就启动它,而且一个适当的组件实例可用,如果没有就创建。
5.搭建平台后尝试制作的图标
6.学习android的心得体会
(1)android平台是一个非常有前景的操作平台,公开的源代码注定其讲被广泛的使用,现在的主流手机、平板电脑多以android系统为操作系统。
原先的塞班、windows逐渐被android所替代。
(2)android平台的各种特点使得它更加容易被程序开发者与使用者所接受。
可以使用JAVA语言开发让程序开发者能够更好的适应与接受。
简明易懂的版面设计让使用者可以在很短的时间内上手,而今使用android手机的人越来越多就可见android的前景一片大好。
(3)在android平台的学习中我是通过老师的指导和网络上的教学视频来学习android开发。
我在学习中了解到开发android需要对计算机各种语言有一定的了解,例如C语言、JAVA语言这样才能使你更加容易的上手。
(4)在搭建开发环境时必须要注意环境变量需要设定好,SDK、JDK需正确的链接。
在开发时需要熟练的运用各种函数的调用。
(5)在开发过程中要多保存多调试。
7.关于移动电子商务的心得体会
(1)移动电子商务就是利用手机、PDA及掌上电脑等无线终端进行的B2B、B2C或C2C的电子商务。
它将因特网、移动通信技术、短距离通信技术及其它信息处理技术完美的结合,使人们可以在任何时间、任何地点进行各种商贸活动,实现随时随地、线上线下的购物与交易、在线电子支付以及各种交易活动、商务活动、金融活动和相关的综合服务活动等。
(2)移动电子商务的特点:
方便,移动终端既是一个移动通信工具,又是一个移动POS机,一个移动的银行ATM机。
用户可在任何时间,任何地点进行电子商务交易和办理银行业务,包括支付。
不受时空控制,移动商务是电子商务从有线通信到无线通信、从固定地点的商务形式到随时随地的商务形式的延伸,其最大优势就是移动用户可随时随地的获取所需的服务、应用、信息、和娱乐。
用户可以在自己方便的时候,使用智能电话或PDA查找、选择及购买商品或其他服务。
安全,使用手机银行业务的客户可更换为大容量的SIM卡,使用银行可靠的密钥,对信息进行加密,传输过程全部使用密文,确保了安全可靠。
迅速灵活,用户可根据需要灵活选择访问和支付方法,并设置个性化的信息格式。
电子商务服务选择越多,提供的服务形式越简单,将会看到移动电子商务越快发展起来。
但是,移动电子商务要想像基于互联网的电子商务一样“飞入寻常百姓家”,可能还需要一段的时间。
(3)手机购票系统就是移动电子商务的一种,这样的购票方式可以大大的缩短了购票的时间,不再需要排队等程序,使得购票不再是一种困难。
如果购买火车票也实现移动电子商务化,人们的出行会更加方便快捷。