如何开发android应用框架
Android应用开发的框架步骤:
1. 项目工程搭建
在搭建工程结构的时候可以尽量抽取一些共用的东西,例如,数据库操作、base、task、事件观察者、通用的工具类、UI公共组件等等,这些东西应该表现在代码结构中。
2. 根据需求,可能需要单独的抽取一些核心的包类。
3. AppContext 的处理
在一个应用中只会存在一个实例,所以一般用来存储一些全局的变量和一些只需要处理一次的数据。
4. Base的处理
对BaseActivity的处理好坏一定程度上会影响项目的代码可读性,在Base里面做一些规范化处理将会大大减少代码的书写量和提高可读性。
5. 数据库的处理
在处理数据库的时候采用ContentProvider的方式。
6. 图片的处理
对图片处理的软件很多,只要把基本的一些开源框架原理搞清楚就可以了。
注意:在android开发项目中,首先要考虑的是这个项目或者说这个产品的核心功能。比如,图片处理和展示类app,更多考虑对大量图片的处理,防止OOM等等。
android应用开发框架是 Application Framework,其系统架构由5部分组成,分别是:Linux Kernel、Android Runtime、Libraries、Application Framework、Applications。
1、Linux Kernel (Linux内核 )
Android基于Linux 2.6提供核心系统服务,例如:安全、内存管理、进程管理、网络 堆栈、驱动模型。Linux Kernel也作为硬件和软件之间的抽象层,它隐藏具体硬件细节而为上层提供统一的服务。
2、Android Runtime (运行库)
Android包含一个核心库的集合,提供大部分在Java编程语言核心类库中可用的功能。每一个Android应用程序是Dalvik虚拟机中的实例,运行在他们自己的进程中。
Dalvik虚拟机设计成,在一个设备可以高效地运行多个虚拟机。Dalvik虚拟机可执行文件格式是.dex,dex格式是专为Dalvik设计的一种压缩格式,适合内存和处理器速度有限的系统。 大多数虚拟机包括JVM都是基于栈的,而Dalvik虚拟机则是基于寄存器的。
3、Libraries (程序库 )
Android包含一个C/C++库的集合,供Android系统的各个组件使用。这些功能通过Android的应用程序框架(application framework)暴露给开发者。
4、Application Framework (应用框架层)
通过提供开放的开发平台,Android使开发者能够编制极其丰富和新颖的应用程序。开发者可以自由地利用设备硬件优势、访问位置信息、运行后台服务、设置闹钟、向状态栏添加通知等等,很多很多。 开发者可以完全使用核心应用程序所使用的框架APIs。
应用程序的体系结构旨在简化组件的重用,任何应用程序都能发布他的功能且任何其他应用程序可以使用这些功能(需要服从框架执行的安全限制)。这一机制允许用户替换组件。
5、Applications(应用层)
Android装配一个核心应用程序集合,包括电子邮件客户端、SMS程序、日历、地图、浏览器、联系人和其他设置。所有应用程序都是用Java编程语言写的。Android本身是一套软件堆迭(Software Stack),或称为「软件迭层架构」,迭层主要分成三层:操作系统、中间件、应用程序。
扩展资料
开发人员也可以完全访问核心应用程序所使用的API框架。该应用程序的架构设计简化了组件的重用;任何一个应用程序都可以发布它的功能块并且任何其它的应用程序都可以使用其所发布的功能块(不过得遵循框架的安全性限制)。同样,该应用程序重用机制也使用户可以方便的替换程序组件。
隐藏在每个应用后面的是一系列的服务和系统,其中包括;
丰富而又可扩展的视图(Views),可以用来构建应用程序,它包括列表(lists),网格(grids),文本框(textBoxes),按钮(buttons),甚至可嵌入的web浏览器。
内容提供器(ContentProviders)使得应用程序可以访问另一个应用程序的数据(如联系人数据库),或者共享它们自己的数据
资源管理器(ResourceManager)提供非代码资源的访问,如本地字符串,图形,和布局文件(layoutfiles)。
通知管理器(NotificationManager)使得应用程序可以在状态栏中显示自定义的提示信息。
活动管理器(ActivityManager)用来管理应用程序生命周期并提供常用的导航回退功能。
参考资料:百度百科 - Android系统构架
所需开发环境:
JDK 5 或 JDK 6 (仅有JRE不够)
Eclipse 3.5 (galileo)
下载ADT 的Eclipse 插件
http://dl.google.com/android/ADT-0.9.5.zip
安装 Eclipse 插件 (ADT)
启动 Eclipse,选择 Help > Install New Software,在出现的对话框里,点击Add按钮,在对话框的name一栏输入“ADT”, 然后点击Archive...,浏览和选择已经下载的ADT插件压缩文件。
点击 OK.。返回可用软件的视图,你会看到这个插件,然后选择Developer Tools (会选中下面的“Android Developer Tools”和 “Android Editors“),点击 Next,最后重启 Eclipse。
下载Android SDK:
http://dl.google.com/android/android-sdk_r18-windows.zip
下载完SDK后,把.zip文件解压到你电脑上合适位置。启动 Eclipse,选择window->preferences,在打开的视图左边点击android,在右边的SDK Location中选择Android SDK所在位置。
1、打开Eclipse,新建项目(点击FileNewroject),在项目列表中展开Android目录,选择Android Project,如下图:
2、点击”finish”即可完成项目的创建,创建后的项目已经是一个可运行的Android应用,我们可以通过下面方式运行此应用:
点击工具栏上手机形状的虚拟设备管理器(简称“AVD“)
3、在打开的虚拟设备管理器中创建一个虚拟手机:
http://www.cnhonkerarmy.com/data/attachment/album/201210/27/213634ivr6rskdgaq6ig8i.png
4、在项目上右键点击run as Android application,三、Android应用程序架构src/ java原代码存放目录
gen/ 自动生成目录
gen 目录中存放所有由Android开发工具自动生成的文件。目录中最重要的就是R.java文件。 这个文件由Android开发工具自动产生的。Android开发工具会自动根据你放入res目录的xml界面文件、图标与常量,同步更新修改R.java文件。正因为R.java文件是由开发工具自动生成的,所以我们应避免手工修改R.java。R.java在应用中起到了字典的作用,它包含了界面、图标、常量等各种资源的id,通过R.java,应用可以很方便地找到对应资源。另外编绎器也会检查R.java列表中的资源是否被使用到,没有被使用到的资源不会编绎进软件中,这样可以减少应用在手机占用的空间。
res/ 资源(Resource)目录
在这个目录中我们可以存放应用使用到的各种资源,如xml界面文件,图片或数据。具体请看ppt下方备注栏。
AndroidManifest.xml 功能清单文件
这个文件列出了应用程序所提供的功能,在这个文件中,你可以指定应用程序使用到的服务(如电话服务、互联网服务、短信服务、GPS服务等等)。另外当你新添加一个Activity的时候,也需要在这个文件中进行相应配置,只有配置好后,才能调用此Activity。
default.properties 项目环境信息,一般是不需要修改此文件。
res/drawable 专门存放png、jpg等图标文件。在代码中使用getResources().getDrawable(resourceId)获取该目录下的资源。
res/layout 专门存放xml界面文件,xml界面文件和HTML文件一样,主要用于显示用户操作界面。
res/values 专门存放应用使用到的各种类型数据。不同类型的数据存放在不同的文件中,如下:
· strings.xml 定义字符串和数值,在Activity中使用getResources().getString(resourceId) 或getResources().getText(resourceId)取得资源。它的作用和struts中的国际化资源文件一样。
<?xml version="1.0" encoding="UTF-8"?>
<resources>
<string name=“itcast”>****</string>
</resources>
· arrays.xml 定义数组。
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="colors">
<item>red</item>
<item>yellow</item>
<item>green</item>
<item>blue</item>
</string-array>
</resources>
· colors.xml 定义颜色和颜色字串数值,你可以在Activity中使用getResources().getDrawable(resourceId) 以及getResources().getColor(resourceId)取得这些资源。例子如下:
<?xml version="1.0" encoding="UTF-8"?>
<resources>
<color name="contents_text">#ff000000</color>
</resources>
· dimens.xml 定义尺寸数据,在Activity中使用getResources().getDimension(resourceId) 取得这些资源
<?xml version="1.0" encoding="UTF-8"?>
<resources>
<dimen name="key_height">50dip</dimen>
</resources>
· styles.xml 定义样式。
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="itcastText" parent="@style/Text">
<item name="android:textSize">18px</item>
<item name="android:textColor">#008</item>
</style>
</resources>
res/anim/ 编译成帧动画的XML文件。
res/xml/ 在Activity中使用getResources().getXML()读取该目录下的XML资源文件。
res/raw/ 该目录下的文件将直接被复制到设备上。编译软件时,这些数据不会被编译,它们被直接加入到程序安装包里。 为了在程序中使用这些资源,你可以调用getResources().openRawResource(ID) , 参数ID形式:R.raw.somefilename。
如何创建第一个android程序
创建Android程序需要先安装android的开发环境。分为五个步骤来完成Android开发环境的部署。第一步:安装JDK。要下载Oracle公司的JDK可以百度“JDK”进入Oracle公司的JDK下载页面,选择自己电脑系统的对应版本即可。第二步:配置Windows上JDK的变量环境 。JAVA_HOME 先设置这个系统变量名称,变量值为JDK在电脑上...
安卓软件编写软件安卓软件编写
1、Java语言:这是在Android平台开发APP应用程序做IAP、广告以及特使系统功能时所需要到的开发语言。一般开发安卓APP应用软件主要使用的编程语言也是Java,如果在开发过程中需要切换语言,可以通过JNI来完成。2、Objective-C:这是适用于IOS智能操作系统的APP开发语言,是苹果APP的主流编程语言。所以如果是要开...
...快毕业了,自己想从事手机软件开发方面的工作,需要学哪些知识?_百度...
1.安装android sdk 2.搭建java开发环境 3.安装IDE(建议用MyEclipse)4.安装ADT插件 然后就可以开发android应用程序了 学习步骤如下:1.androi平台搭建 2.android用户界面编程 3.android四大组件学习 4.android数据存储 5.多媒体应用 6.互联网应用 7.GPS定位应用 8.android多线程 9.android应用项目实战(...
如何创建第一个android程序
首先你的设备需要安装usb驱动。如果你是在window上开发,你可以安装合适的usb驱动。具体驱动安装信息可以参考 OEM USB Drivers 在设备上启用USB调试 大部分 Android 3.2或更早的机器,在 【设置】-【应用程序】-【开发】中设置。Android 4.0和之后的系统,应该是在【设置】-【开发选项】中。Note: On...
android编程开发 ,一般要学多久?
一共估计要一个月搞定。最好一些xml的学习,当然这个也可以不学,因为在androi开发的学习中也涉及到了一些xml的样式,这个学起来也比较简单,一周搞定。所以你如果全身心去学,两到三个月基本可以做些简单的android开发。当然要在公司接项目必须要先自己组队试着搞定项目,熟悉一下团队开发的合作过程。
android开发容易吗?相比与塞班开发,哪个更难?
android容易,symbian难
Androi公司是哪个国家的
美国谷歌公司的。Android是一种基于Linux的自由及开放源代码的操作系统。主要使用于移动设备,如智能手机和平板电脑,由Google(谷歌)公司和开放手机联盟领导及开发。尚未有统一中文名称,中国大陆地区较多人使用“安卓”或“安致”。Android操作系统最初由Andy Rubin开发,主要支持手机。2005年8月由Google收购...
androi公司是哪国的
安卓是美国安迪·鲁宾创造的。安卓是一个基于linux的免费开源操作系统。主要用于智能手机和平板电脑等移动设备,由谷歌和开放移动联盟领导和开发。目前还没有统一的中文名称。android在中国大陆被广泛应用。android操作系统最初是由安迪·鲁宾开发的,主要支持移动电话。安卓的原意是“机器人”,也是Google于2007...
安卓系统是哪个国家发明的
Android操作系统最初由美国人Andy Rubin开发,主要支持手机。2005年8月由Google收购注资。2007年11月,Google与84家硬件制造商、软件开发商及电信营运商组建开放手机联盟共同研发改良Android系统。
学安卓应用开发要多久
一到两周可以基本学会。最好一些xml的学习,当然这个也可以不学,因为在androi开发的学习中也涉及到了一些xml的样式,这个学起来也比较简单,一周搞定。所以你如果全身心去学,两到三个月基本可以做些简单的android开发。当然要在公司接项目必须要先自己组队试着搞定项目,熟悉一下团队开发的合作过程。
武妮痔速: 其实android应用框架说白了就是把在项目中需要用到或者常用的一些功能封装起来,对外提供一个接口,简化项目的开发
迎泽区18348776045: Android软件开发框架搭建 - ?
武妮痔速: 不管是用Eclipse还是Android Studio开发,首先都要安装jdk,环境变量配置,更新sdk资源包.
迎泽区18348776045: 如何使用eclipse开发android - ?
武妮痔速: 1、安装和配置JAVA开发环境;2、安装ADT插件;3、安装Android SDK;4、创建Android模拟器(AVD);5、至此就可以使用eclipse开发Android应用了.
迎泽区18348776045: 如何用eclipse开发安卓应用 - ?
武妮痔速: 首先,下载android SDK.安装eclipse,eclipse中进行android SDK插件的安装.方法就是点击上面菜单里的help,选择install new software进行添加SDK.进入下载界面后,选择适合自己电脑的SDK进行下载.下载完成后解压,解压后进入文件名为eclipse的文件夹中.点击eclipse应用程序,运行.进入eclipse界面后,开始新建android项目.输入新建项目名,如果没有特殊要求,点击next一直至最后完成.开始的配置只是一个大体的框架的构建,这些可以以后进行修改,最总要的还是代码的编写.所有配置都完成后就可以开始进行android的开发了.
迎泽区18348776045: 如何使用eclipse进行android开发 - ?
武妮痔速: 一、搭建Android开发环境 准备工作:下载Eclipse、JDK、Android SDK、ADT插件 1、安装和配置JAVA开发环境: ①把准备好的Eclipse和JDK安装到本机上(最好安装在全英文路径下),并给JDK配置环境变量,其中JDK的变量值为JDK安...
迎泽区18348776045: 怎么样能快速搭建一个Android APP的界面和框架 - ?
武妮痔速: 搭建一个app的框架, 快速不了的, 如果是源生的android app, 那么你要先设计出来, 设计一套框架然后再代码去实现他, 一套主界面主架子.
迎泽区18348776045: 怎么创建第一个Android工程,并运行应用程序 - ?
武妮痔速: 分为五个步骤来完成Android开发环境的搭建.第一步:安装JDK.要下载Oracle公司的JDK可以百度“JDK”进入Oracle公司的JDK下载页面,选择自己电脑系统的对应版本即可.第二步:配置Windows上JDK的变量环境 .JAVA_HOME 先设...
迎泽区18348776045: 怎么去搭建android应用开发环境 - ?
武妮痔速: android开发环境非在线搭建方式:1、JDK安装配置:下载JDK的安装包并完成安装,配置JDK的环境变量;2、下载:Eclipse,Android SDK,ADT的下载,下载完毕后把所需压缩包都放在一个比较空旷的地方(ADT不要解压哦);3、Eclipse启...
迎泽区18348776045: 在Android开发过程中搭建一个自己的应用框架有几个步骤 - ?
武妮痔速: 相对于传统计算机程序语言来说,Android开发学习资源上还稍微欠缺一些,对于一些基础应用讲解还稍显匮乏,本篇所讲述的Android培训内容可以帮助大家更好的理解Android项目快速开发框架.结合之前所用的ormlite和hessian,再加上SAE已经支持JAVA...
迎泽区18348776045: 如何学习android框架,框架分为哪些模块 - ?
武妮痔速: 其实主要是看你的工作中会用到什么,感觉还是先把Android的基础学好,毕竟框架也是在Android的基础上面进行开发的,你说的这几个框架我没怎么用过,大概看过一点,比如xutils和ThinkAndroid,他们都有一些自己的模块如view,http,bitmap...