基于android的二手交易软件开发内容摘要:

用来管理应用程序生命周期并提供常用的导航回退功能。 图为 Android 系统架构 东北大学秦皇岛分校学年论文 第 10 页 函数库 Android 包含一些 C/C++库,这些库能被 Android 系统中不同的组件使用。 它们通过Android 应用程序框架为开 发者提供服务。 以下是一些核心库: 系统 C 库 一个从 BSD 继承来的标准 C 系统函数库 (libc),它是专门为基于 embedded linux 的设备定制的。 媒体库 基于 PacketVideo OpenCORE。 该库支持多种常用的音频、视频格式回放和录制,同时支持静态图像文件。 编码格式包括 MPEG4, , MP3, AAC, AMR, JPG, PNG。 Surface Manager 对显示子系统的管理,并且为多个应用程序提 供了 2D 和 3D图层的无缝融合。 LibWebCore 一个最新的 web 浏览器引擎用,支持 Android 浏览器和一个可嵌入的web视图。 SGL底层的 2D 图形引擎 3D libraries基于 OpenGL ES APIs 实现。 该库可以使用硬件 3D 加速 (如果可用 )或者使用高度优化的 3D 软加速。 FreeType 位图 (bitmap)和矢量 (vector)字体显示。 SQLite 一个对于所有应用程序可用,功能强劲的轻型关系型数据库引擎。 东北大学秦皇岛分校学年论文 第 11 页 内核 Linux 内核 Android 的核心系统服务依赖于 Linux 内核 , 安全性,内存管理,进程管理,网络协议栈和驱动模型。 Linux 内核也同时作为硬件和软件堆栈之间的硬件抽象层。 未来发展老牌智能手机软件平台制造商 Symbian 发言人则表示: Google 的android 只不过是另一个 linux, ymbian 对其它软件与其形成的竞争并不感到担心。 除了北美之外 Symbian 在其它地区智能手机市场都占有大部分市场份额。 与 iPhone 相似,Android 采用 WebKit 浏览器引擎,具备触摸屏、高级图形显示和上网功能,用户能够在手机上查看电子邮件、搜索网址和观看视频节目等,比 iPhone 等其他手机更强调搜索功能,界面更强大,可以说是一种融入全部 Web 应用的单一平台。 但其最震撼人心之处在于 Android 手机系统的开放性和服务免费。 Android 是一个对第三方软件完全开放的平台,开发者在为其开发程序时拥有更大的自由度 , 突破了 iPhone 等只能添加为数不多的固定软件的枷锁;同时与 WindowsMobile、 Symbian 等厂商不同, Android 操作系统免费向开发人员提供,这样可节省近三成成本。 Android 项目目前正在从手机运营商、手机厂商、开发者和消费者那里获得大力支持。 谷歌移动平 台主管安迪 鲁宾 (Andy Rubin)表示,与软件开发合作伙伴的密切接触正在进行中。 从去年 11 月开始,谷歌开始向服务提供商、芯片厂商和手机销售商提供 Android 平台,并组建 “ 开放手机联盟 ” ,其成员超过 30 家。 市场前景 Google 手机于 08年 10月 22 日正式上市,与运营商捆绑的合约价为 179 美元 (约合人民币 1200 元 ),现有的 TMobile 用户可以通过网络订购。 在 10月 22日发布当天,将有 22 个国家和地区可以买到谷歌手机。 在 11月,将增至 27个国家和地区。 谷歌手机将只能在 TMobile 网络内使用,将 会有 SIM 卡锁定限制。 TMobile USA 提供了两种流量和短信近曝光的 moto sholes(也有人称之为 moto tao)将搭载最新的 操作系统包月计划。 第一档为 25 美元,包括不限制的网络流量,以及一定数量的短信;第二档为 35 美元,包括不限制的网络流量和不限数量的短信。 G1 支持各种谷歌的服务,包括 Gmail、 Google Maps、 YouTube、 Google 日历和 Google Talk,内置 Chrome Lite 浏览器。 使用这款手机也需要 Gmail 账号。 “ 我爱死我的 G1了。 ” 谷歌联 合创始人拉里 佩奇 (Larry Page)憧憬: “ 对于我来说,谷歌手机最激动人心的一点就是它的未来。 它的功能很强,正如几年前的电脑一样。 你可以上网,安装软件。 ” TMobile USA 为德国电信旗下移动子公司,运营 GSM/HSPA 网络,拥有用户近 3000 万。 此次发布的谷歌手机采用高通 MSM7201A 处理器,支持 下载速率,美国运营商 3G 网络设定的套餐速率一般可达 1Mbps 以上。 MSM7201A 为单芯片、双核,整合硬件加速多媒体功能、支持 3D图形, 300 万像素的摄像功能可以扫描条形码,并且有 GPS 功能。 在美国四大移动运营商中, TMobile USA 处于相对弱势的地位,不过TMobile 在欧洲有更为强势的是 CDMA EVDO 网络,而 TMobile USA 和苹果 iPhone 的独家运营商 ATamp。 T 为 GSM/HSPA 网络,后者在 2020 年 12月就推出了全球第一个 HSDPA 商用服务。 TMobile USA 今年 5 月方才在纽约推出了 3G服务,目前已经在奥斯汀、巴尔的摩、波士顿、达拉斯、休斯敦、拉斯维加斯、迈阿密、明尼阿波利斯、凤凰城、波特兰、圣安东尼奥和圣地亚哥等 12 个城市增加了 3G 覆盖,公司计划年 底前将 3G 覆盖的城市从目前的 13 个增加到 27 个,能够为其超过 2/3的用户提供 3G 服务。 东北大学秦皇岛分校学年论文 第 12 页 Android 平台 的优势 在优势方面, Android 平台首先就是其开发性,开发的平台允许任何移动终端厂商加入到 Android 联盟中来。 显著的开放性可以使其拥有更多的开发者,随着用户和应用的日益丰富,一个崭新的平台也将很快走向成熟。 开发性对于 Android 的发展而言,有利于积累人气,这里的人气包括消费者和厂商,而对于消费者来讲,随大的受益正是丰富的软件资源。 开放的平台也会带来更大竞争,如此一来,消费者将可以 用更低的价位购得心仪的手机。 众多的厂商会推出千奇百怪,功能特色各具的多种产品。 功能上的差异和特色,却不会影响到数据同步、甚至软件的兼容。 Android 平台提供给第三方开发商一个十分宽泛、自由的环境,不会受到各种条条框框的阻扰,诞生 了诸多功能新颖的软件。 这在其他的移动平台上是很难实现的。 Android 应用层次 Android 应用是由 Ativity、 Intent Receiver、 Service、 ContentProvider 四部分组成,但并不是每一个 Android 应用程序都必须由这四部分组成。 在应用程序中使用时,需要在配置文件 Android 应用程序中所必需的,用于定义应用程序的组件、组件的功能以及必要条件等。 Activity 应用程序中的每个屏幕都是通过继承和扩展基类 Activity 来实现的。 同一应用中的每个 Activity 是相互独立的。 程序启动后显示的第一幅画面是应用程序的第一个 Activity(默认窗口),而后可以根据需要从这个 Activity 启动另一个新的Activity。 Activity 利用 View 来实现应用中的 GUI(用户直接通过 GUI 和应用程序做交 互 )。 Activity 窗 口 内 的 可 见 内 容 通 过 基 类 View 提供。 使用()方法设置当前 Activity 中的 View对象。 每个 View 对象控制着窗口内的一个矩形空间; View 是一种层次化结构, Parent View 中的布局属性会被子 View 继承;位于 View 层次关系最底层的子 View 对象所代表的矩形空间就是跟用户进行交互的地方。 Activity 状态回调: onCreate onStart onRestart onResume onPause onStop onDestroy 如图 所 示 东北大学秦皇岛分校学年论文 第 13 页 东北大学秦皇岛分校学年论文 第 14 页 Services 运行于应用程序进程的主线程中,因此 Service 不会阻塞其他组件和用户界面。 Service 是不能自己启动的,必须通过 Context 对象(如一个 Activity)调用startService 或 bindService 方法来启动(用这两种方法启动的 Service 的生命周期不同)。 调用 startService 方法 若 Service 没有启动,则首先会调用该 Service 的 onCreate 方法,然后再调用onStart方法。 若 Service已经启动,则会直接调用 onStart方法,方法启动的 Service,可以通过 Context 对象调用 stopService 来关闭,也可以通过 Service 自身调用stopSelf()或 stopSelfResult()来关闭,关闭之前调用 onDestory 方法。 调用 bindService 方法,使当前 Context 对象通过一个 ServiceConnection 的对象绑定到所指定的 Service 若 Service 没有启动,则首先会调用该 Service 的 onCreate 方法初始化启动,然后调用 Service 的 onBind 方法初始化绑定。 如 果绑定 Service 的 Context 对象被销毁时,被绑定的 Service 也会调用 onUnbind 和 onDestroy 方法停止运行 注意: BroadcastReceiver 是不能绑定服务的。 一个绑定 Service 的 Context 对象还可以通过 unbindService()来取消对服务的绑定。 消时, Service 会调用 unbind 方法,若 Service 是通过 bindService 来启动的,还会调用 onDestroy 方法来停止服务。 Service 状态回调: onCreate onStart onBind onRebind onUnbind onDestroy 与 activity 不同的是,服务的生命周期函数不需要你调用父类相应的函数。 如图 所示 东北大学秦皇岛分校学年论文 第 15 页 东北大学秦皇岛分校学年论文 第 16 页 Content Provider 在 Android 中,每个应用程序都是用自己的用户 ID并在自己的进程中运行。 这样的好处是,可以有效地保护系统及应用程序,避免被其他不正常德应用程序所影响,每个进程都拥有独立的进程地址空间和虚拟空间。 Content Provider 可以将应用程序特定的数据提供给另一个应用程序使用。 其数据存储 方式可以是 Android 文件系统、 SQLite数据库或者其他合理的方式。 当数据需要在应用程序间共享时,我们就可以利用 ContentProvider 为数据定义一个 URI。 之后,其他应用程序对数据进行查询或者修改时,只需要从当前上下文对象获得一个 ContentResolver, 然后传入响应的 URI 就可以了。 Content Provider 继承自基类 ContentProvider,并且实现了一组标准接口。 通过这组接口,其他应用程序能对数据进行读写和存储。 然而,需要使用数据的应用程序并不是直接调用这组方法 ,而是通过调用 ContentResolver 对象的方法来完成。 ContentResolver 对象可以与任意ContentProvider 通信。 要为当前应程序的私有数据定义 URI,就需要专门定义一个继承自 ContentProvider 的类,然后根据不同的操作调用的方法去实现这些方法的功能。 ContentResolver 类为应用程序提供了接入 Content 机制的方法。 要构造一个ContentResolver 对象可以为构造方法 ContentResolver(Context context)传入一个Context 对象,也可以直接通过 Context 对象调用 getContentResolver()方法获得 —— 有的 ContentResolver 对象后,就可以通过调用其 query()、 insert()、 update()等方法来对数据进行操作了。 一旦需要以上 4 种 Android 应用程序基本组件完成请求,Android 会首先确认该组件所在进程是否运行,如果没有运行, Android 将先启动进程,同时确认被请求组件的实例是否存在,否则将创建一个新的组件实例。 Broadcast Rec。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。