Android框架

2024-05-30

Android框架(共5篇)

Android框架 篇1

在Android开发中, 发送、处理http请求简直太常见了, 以至于我们的代码里到处充斥着各种Http Client和与之相关的代码, 每次当我自己写这样的代码时, 我都会想能不能简化下这个流程, 可能2、3行代码就能搞定。因为针对最简单的case, 我只需要提供请求url, 成功时的callback和 (或) 失败时的callback, 仅此而已。针对这一类问题 (需求) , 可以说androidasync-http提供了几乎完美的解决方案, 它可以使我们轻松地获取网络数据或者向服务器发送数据, 最关键的是, 它是异步框架, 在底层使用线程池处理并发请求, 效率很高, 使用又特别简单。

一、使用的基本方法

首先上官网http://loopj.com/android-async-http/下载Android开发所用Jar包, 下载后将它复制到项目的libs文件夹中, 如图1所示:

下面我们以查询学生成绩的应用为例, 介绍该框架的具体使用方法。

5. 解析成功如下图如示:

二、使用注意事项

如果参数中包括中文, 那么我们需要对中文参数进行特殊处理, 不能使用上面提到的设置参数的方法。使用中文参数方法如下:

1. 设置参数

2.对参数进行封装

3.包含中文参数的调用

三、结束语

使用android-async-http框架后, 可以极大的减轻Android项目中对http请求的处理, 让我们专心去开发核心业务流程, 但个人觉得该框架对中文的支持有待进一步完善。

参考文献

[1]王超, 基于Http Client的Android客户端的设计与实现, 计算机时代, 2014年, 03期

[2]张铁头, 使用Http Client实现基于WEB的第三方登录验证, 电脑知识与技术, 2012年, 12期

[3]田佳影, 基于Http Client的Android远程数据库访, 电子世界, 2013年, 19期

Android框架 篇2

本文为《谷歌Android UI设计技巧》第三部分:框架特性。

“ src=”img.shangxueba.cn/jyimg/0306/wysj/201302/14e9c157aef3811cd8335774cec821b8.jpg" />

注:相对布局和线性布局是Android里面常用的两种布局,线性布局比较简单,而相对布局可以做出比较复杂的布局管理,所以仅仅了解线性布局,很多时候是不够的,

Android框架 篇3

在当前三网融合大背景下, 我国正处于广播电视数字化转换的关键时期。如何为观众提供更为丰富多彩的数字电视新应用, 使观众真正享受到家庭娱乐与数字应用服务所带来的乐趣, 成为当前数字电视发展的重中之重。本文以Android系统平台为基础, 设计了开放式机顶盒数字电视系统框架, 将有利于整合大量的内容服务, 丰富终端与业务的功能, 并进一步拓展数字电视产业链, 扩大结合点, 打通利益分配链, 真正让数字电视有丰富的业务应用和多样化的内容, 低成本、快速、高效地开发出切合观众需求的新业务, 完成观众从“看电视到用电视”的本质转变。

2 Android系统构架

Android系统采用了软件堆层 (software stack, 又名软件叠层) 的架构, 主要分为四部分, 从高到低分别是应用层、应用框架层、系统运行库层和Linux内核层, 其整个体系结构如图1所示。

(1) 应用层

应用是用Java语言编写的运行在虚拟机上的程序, 如图1中最上层部分所示。其实, Google最开始时就在Android系统中捆绑了一些核心应用, 比如E-mail客户端、SMS短消息程序、日历、地图、浏览器、联系人管理程序等。

(2) 应用框架层

这一层是编写Google发布的核心应用时所使用的API框架, 开发人员同样可以使用这些框架来开发自己的应用, 这样便简化了程序开发的架构设计, 但是必须遵守其框架的开发原则。

(3) 系统运行库 (C/C++库以及Android运行库) 层

当使用Android应用框架时, Android系统会通过一些C/C++库来支持我们使用的各个组件, 使其能更好地为我们服务。每个Java程序都运行在Dalvik虚拟机之上。与PC一样, 每个Android应用程序都有自己的进程, Dalvik虚拟机只执行.dex的可执行文件。当Java程序通过编译, 最后还需要通过SDK中的dx工具转化成.dex格式才能正常在虚拟机上执行。

(4) Linux内核层

Android的核心系统服务基于Linux 2.6内核, 如安全性、内存管理、进程管理、网络协议栈和驱动模型等都依赖于该内核。Linux内核同时也作为硬件和软件栈之间的抽象层。

3 基于Android的机顶盒数字电视系统基础框架设计

设计基于Android平台上的机顶盒数字电视系统就是要将数字电视基础系统框架构建于Android的系统框架内, 也就是以Android的核心框架为依托, 实现数字电视应用的基本功能, 与Android框架的依托关系如图2所示。

对完整的机顶盒数字电视系统而言, 其基础框架设计要符合Android系统框架设计的要求, 也就是从应用框架层到硬件抽象层的设计都要融入到Android系统框架之内。

其中, 机顶盒数字电视系统对于Android系统的依附主要体现在应用程序框架层。Android系统提供给应用开发者的本身就是一个框架, 所有的应用开发都必须遵守这个框架的原则。因此在做上层应用开发时主要就是在这个框架上进行扩展, 也就是说, 机顶盒数字电视系统应用的开发要遵循Android应用程序框架的原则, 在应用程序框架层的基础上开展。如图3所示。

机顶盒数字电视应用框架除了采用Android应用程序框架中的相应功能模块外, 还需要引入如EPG等自主的功能应用。整个机顶盒数字电视应用框架按照层次划分可以分为两部分, 信息处理层和音视频处理层, 如图4所示。

其中上层信息处理层一方面提供频道信息搜索显示功能, 如频道信息的BCast Channel Info类和频道搜索的BCast ChannelSearch类, 另一方面提供EPG显示存储相关功能, 如EPG控制管理的BCast EPG类、EPG显示方式的BCast EPGView类以及EPG存储的BCast EPGStore类等。同时, 提供视频播放显示功能, 也就是视频播放显示接口, 即BCast Video View Class APIs, 上层应用通过该接口的调用实现视频播放显示的功能。中间音视频播放层主要实现音视频播放原理, 播放显示窗口BCast Video View一方面可以通过调用BCast Media Player实现数字电视 (TS、IP等视频流) 播放的功能, 一方面可以通过调用Android本身基于Open Core的MediaPlayer类来实现对于本地音视频文件的播放。框架底层则是通过调用硬件抽象层 (HAL) , 实现对相应驱动程序的调用, 完成对底层相关硬件的操控。

4 基于Android的机顶盒数字电视系统扩展框架设计

由上面的框架分析可以得出, 基于Android平台上的机顶盒数字电视系统基础框架可以设计如图5所示。

基于以上机顶盒数字电视系统框架可以进行扩展, 开发出适合需要的多媒体智能机顶盒。考虑到设计的层次性、结构性、可扩充性、功能性的要求, 以及多种外设接口和多种外部应用, 扩展的机顶盒数字电视系统开发可以分为以下三个阶段:

(1) 基于现有的硬件平台以及Android操作系统实现一个基本的DVB机顶盒系统, 也就是前面介绍的机顶盒数字电视系统基础框架, 实现数字电视的播放以及EPG、频道搜索等基本功能。

(2) 对基础框架进行扩展, 通过提供的视频播放接口实现视频在线点播, 加入互动EPG的功能, 完成网络浏览器的添加、图片的阅读浏览、虚拟键盘的添加以及结合Android系统框架实现界面主题的自由切换。

(3) 在扩展型框架的基础上加入高级多媒体处理的功能, 实现多种音视频文件的播放, 加入对3D电视的支持, 加入可视电话的功能, 实现对网络应用程序包括即时消息软件以及电子邮件等的支持, 完成应用程序资源管理器, 增加蓝牙功能模块, 实现对于多种网络游戏以及增值业务的支持。

5 总结

本文在现有的Android系统平台的基础上设计了开放式的数字电视系统框架, 顺应了当前三网融合发展的要求, 同时采用应用分层原则对应用框架进行设计, 也有利于实现机顶盒终端的标准化以及业务与应用开发的标准化。标准化的统一将极大地激励服务提供商以及应用开发者的开发热情, 促进数字电视应用服务的进一步发展, 但是本文在开放式数字电视系统框架设计的过程中缺少了管控功能的设计, 在未来的工作中将在可管可控功能模块设计上加大研究力度, 推动开放式数字电视系统平台的推广。

摘要:本文在现有的Android系统平台的基础上, 采用应用分层原则设计了开放式的数字电视系统框架, 顺应了当前三网融合发展的要求, 为观众提供了更为丰富多彩的数字电视新应用, 真正实现了从“看电视到用电视”的本质转变。

关键词:智能终端,Android,智能机顶盒,系统框架

参考文献

[1]E2ECloud工作室.深入浅出Google Android.北京:人民邮电出版社, 2009.

Android框架 篇4

测试用设备

设备名原道N10主控方案RK2918CPU1 ghzRAM512 MB系统版本2.3.1象限(quadrant stand)分左右

影响整个测试的硬件指标估计就这几个了,测试的环境就是上表的数据了

图表

R语言生成的:

最快当然是直接用sqlite…(废话),从表中我们可以比较出,就ORM框架而言androrm有一丁点的速度优势,可能由于ormlite用注解字段的方式,导致ormlite性能有着一定的损失(注解其实也是利用了反射的原理),不过,对于熟悉j2ee的朋友来讲ormlite更容易上手,而对于python程序员学习过django这个框架的朋友更容易上手androrm.从这个简单的实验来看,官方推荐我们少用get/set方法也不是毫无道理的,对于一个类的反射的耗时,以我的那台设备而言开销可能大约在2毫秒左右(这个以第三次androrm 与sqlite的相减再除与10000得出..),注意…这只是简单的测试而已!!!真正要比较性能还要考虑到GC的问题,所以这里这是随便说说而已!

文档活跃度

andrormormlite文档不完善超级齐全社区不活跃,我提交到一个bug,到现在都还没有修复的消息活跃更新频率慢很快!

个人建议,想研究怎么写orm框架的可以用androrm,想速度的开发产品,用ormlite,其实,啥都不用最好,呵呵~

有兴趣的朋友可以下载我用来测试的源代码试一下

Android框架 篇5

关键词:软件工程,软件框架,实践教学

一、引言

在本科阶段的软件工程课程教学中, 软件设计能力被作为学生的重点需要培养的能力。然而, 对于软件设计能力培养的难点在于:在软件设计实践中不但要理解信息隐蔽、模块化等抽象概念, 而且还要掌握高内聚、低耦合等设计原则。因而, 软件设计一直被认为是软件工程课程教学中亟待解决的难点。由于缺乏与软件设计相关的教学资源, 使得学生往往难以在有限教学课时内理解和掌握软件设计的抽象理论和技术, 影响了软件工程课程的教学效果。近几年国内外在软件工程教学研究工作中, 主要是通过引入CDIO[1]思想改进传统的软件工程课程教学[2,3,4,5], 特别是强调了以项目驱动的方式培养和提高学生的软件开发的实践能力[6,7,8]。这些研究都针对软件工程教学改革进行了有益的探索, 但仍然缺乏有效的教学资源来帮助学生快速理解和掌握软件设计的理论和技术, 并切实培养和提高他们软件开发的实践能力。

二、软件框架AF4Ad简介

软件框架AF4Ad是重要的教学资源。它帮助学生理解抽象的软件设计理论知识, 同时也为他们运用这些知识进行软件设计实践起到指导作用。基于Android SDK[9], 在AF4Ad框架中设计并实现了一组可重用的软件构件。AF4Ad框架本身不仅可以帮助学生更好理解软件体系结构风格、设计模型和软件框架等知识, 而且还能使学生利用它提供的可重用构件高效地进行Android移到应用软件的开发。AF4Ad框架被分为用户界面层 (UI layer) , 领域层 (Domain layer) 和基础层 (Foundation Layer) , 如图1所示。UI层实现图形用户界面, 提供应用程序与用户交互的功能;Domain层用于封装业务实体和业务服务, 并向UI层提供业务功能接口;Foundation层则用于封装一组通用服务 (网络通信、数据持久化等) , 并向Domain层提供统一的接口。

图1 AF4Ad框架的示意图

三、AF4Ad框架在软件设计实践教学案例中运用

为了说明AF4Ad框架的有效性, 我们开展了对照实验研究。首先选取Android移动应用软件中最为常见的用户登录模块为实验案例, 然后随机挑选10名学生, 并将它们分成两个组, 一个是实验组, 另一个是对照组。其中实验组采用我们前期提出的设计方法[10], 使用AF4Ad框架设计用户登录模块, 而对照组不使用本文提出的AF4Ad框架完成设计工作。最后, 通过使用CK套件[11]分析两个组的设计方案的内聚性和耦合性。

实验结果如表1所示。其中CBO用于度量对象之间的耦合性。CBO值越小, 表明该类独立性越强, 修改它时所涉及的类也越少, 维护的代价越小。LCOM用于度量对象的内聚性。LCOM值记录类中访问相同成员属性的成员方法数量, LCOM可表明类的各成员方法之间的独立性。LCOM越大, 类的封装性越差, 内聚度就越小;而LCOM越小, 类的封装性越好, 内聚度就越大。图2反映了所有类的平均CBO值和LCOM值。

实验结果表明, 实验组设计方案的内聚性平均提高了50%, 耦合性平均降低了60%。实证了AF4Ad框架的有效性。

四、结语

上一篇:服装专业市场下一篇:张力控制