简述android应用程序框架(Android开发,有什么好用的框架么)

:暂无数据 2026-04-26 04:20:03 0
上一篇文章我们介绍了简述android应用程序框架的基础,今天我们将深入其核心环节——Android开发,有什么好用的框架么,看看它如何承前启后。

本文目录

Android开发,有什么好用的框架么

Android开发框架介绍

开发框架方面包含基本的应用功能开发、数据存储、网络访问这三大块:

一、应用方面

一般而言一个标准的Android程序由如下4部分组成即Activity、Broadcast Intent Receiver、Service、Content Provider: 1. Activity是最频繁、最基本的模块,在Android中,一个Activity就是手机上一屏,相当于一个网页一样,所不同的是,每个Activity运行结束了,有个返回值,类似一个函数一样。Android系统会自动记录从首页到其他页面的所有跳转记录并且自动将以前的Activity压入系统堆栈,用户可以通过编程的方式删除历史堆栈中的Activity Instance。

Activity类中主要是跟界面资源文件关联起来(res/layout目录下的xml资源,也可以不含任何界面资源),内部包含控件的显示设计、界面交互设计、事件的响应设计以及数据处理设计、导航设计等application设计的方方面面。 2. Broadcast Intent Receiver

Intent提供了各种不同Activity进行跳转的机制,譬如如果从A activity跳转到B activity,使用Intent来实现如下: Intent in = new Intent(*****, *****); (in);

提供了各种不同的Android应用程序进行进行进程间通讯的机制,譬如当电话呼叫来临时,可以通过发布广播消息。对于用户而言,是不透明的,用户无法看到这个事件,通过来通知用户这些事件发生了,它既可以在资源.xml中注册,也可以在代码中通过Context.()进行注册,只要是注册了,当事件来临的时候,即时程序没有启动,系统也在需要的时候会自动启动此应用程序;另外各应用程序很方便地通过Context.()将自己的事情广播给其他应用程序;

3. Service,跟Windows当中的Service完全是一个概念,用户可以通过(Intent service)启动一个Service,也可通过*****来绑定一个Service.

4. Content Provider,由于Android应用程序内部的数据都是私有的,Content Provider提供了应用程序之间数据交换的机制,一个程序可以通过实现一个的抽象接口将自己的数据暴露出去,并且隐蔽了具体的数据存储实现,标准的提供了基本的CRUD(Create,Read,Update,Delete)的接口,并且实现了权限机制,保护了数据交互的安全性; 一个标准的Android应用程序的工程文件包含如下几大部分: -》 Java源代码部分(包含Activity),都在src目录当中;

-》 *****文件,这个文件是Eclipse自动生成与维护的,开发者不需要修改,提供了Android对的资源全局索引; -》 Android Library,这个是应用运行的Android库;

-》 assets目录,这个目录里面主要用与放置多媒体等一些文件;

-》 res目录,放置的是资源文件,跟VC中的资源目录基本类似,其中的drawable包含的是图片文件,layout里面包含的是布局文件,values目录里面主要包含的是字符串(*****)、颜色(*****)以及数组(*****)资源;

-》 .xml,这个文件异常重要,是整个应用的配置文件,在这个文件中,需要声明所有用到的Activity、Service、Receiver等。

android系统的系统架构_安卓系统的架构

1:android分为四个层,从高层到低层分别是应用程序层、应用程序框架层

开发一个程序,android系统框架是层层相扣,不能分开的。应用程序层:这个层主要指的就是用java语言编写的运行在虚拟机上的程序,Google在最开始时就在android系统中**了一些核心的应用(核心应用的编写必须使用应用层序框架层的API框架.

2:android开发框架有四个层,从高层到低层分别是应用程序层、应用程序框架层

android应用开发框架是ApplicationFramework.其系统架构由5部分组成,分别是:LinuxKernel、AndroidRuntime、Libraries、ApplicationFramework、。

Android应用框架是指什么

  1、Android应用开发框架是Application Framework。其系统架构由5部分组成,分别是Linux Kernel、Android Runtime、Libraries、Application Framework和Applicati***。

  2、Android基于Linux 2、6提供核心系统服务,如安全、内存管理、进程管理、网络堆栈、驱动模型。也作为硬件和软件之间的抽象层,它隐藏具体硬件细节而为上层提供统一的服务。

android开发框架有哪些

主要总结了7个好用的android 开发框架推荐给你:

一、 Afinal

***隐藏网址***

功能:

***隐藏网址***

优点:功能比较全面,文档完善,代码效率比较高。

缺点:没有项目demo,框架的时间比较久,代码冗余比较多(这也是无可避免的),文档比较老跟不上代码更新进度。

二、 xUtils

xUtils:可以说是Afinal的升级版。

xUtils 包含了很多实用的android工具。

***隐藏网址***

xUitls 最低兼容android *** (api level 8)

三、

是一个免费的开源的、简易的、遵循Apache2开源协议发布的Android开发框架,其开发宗旨是简单、快速的进行Android应用程序的开发,包含Android

mvc、简易sqlite orm、ioc模块、封装Android

***隐藏网址***

四、 LoonAndroid

如果你想看ui方面的东西,这里没有,想要看**的效果这里也没有。这只是纯实现功能的框架,它的目标是节省代码量,降低耦合,让代码层次看起来更清晰。整个框架一部分是网上的,一部分是我改的,为了适应我的编码习惯,还有一部分像orm完全是网上的组件。在此感谢那些朋友们。

整个框架式的初衷是为了偷懒,之前都是一个功能一个jar,做项目的时候拉进去,这样对于我来说依然还是比较麻烦。最后就导致我把所有的jar做成了一个工具集合包。

有很多框架都含有这个工具集合里的功能,这些不一定都好用,因为这是根据我个人使用喜欢来实现的,如果你们有自己的想法,可以自己把架包解压了以后,源码拉出来改动下。

目前很多框架都用到了注解,除了没有入侵我们应用的代码以外,其他的基本上都有,要么是必须继承框架里面的activity,要么是必须在activity的oncreat里面调用某个方法。

整个框架式不同于,Roboguice等ioc框架,这是一个类似spring的实现方式。在整应用的生命周期中找到切入点,然后对activity的生命周期进行拦截,然后插入自己的功能。

五、

又叫KJLibrary,是一个android的orm 和 ioc

框架。同时封装了android中的Bitmap与Http操作的框架,使其更加简单易用;

的设计思想是通过封装Android原生SDK中复杂的复杂操作而达到简化Android应用级开发,最终实现快速而又安全的开发APP。我们提倡用最少的代码,完成最多的操作,用最高的效率,完成最复杂的功能。

功能:

一个android的orm 和 ioc 框架。同时封装了android中的Bitmap与Http操作的框架,使其更加简单易用;

开发框架的设计思想是通过封装Android原生SDK中复杂的复杂操作而达到简化Android应用级开发,最终实现快速而又安全的开发APP。总共分为五大模块:UILibrary,HttpLibrary,DBLibrary。

六、 dhroid

dhroid 是基于android 平台,

极速开发框架,其核心设计目标是开发迅速、代码量少、学习简单、功能强大、轻量级、易扩展.使你更快,更好的开发商业级别应用

功能:

*****容器: (用过spring的都知道)视图注入,对象注入,接口注入,解决类依赖关系

*****: android平台事件总线框架,独创延时事件,事件管理轻松

***隐藏网址***

*****模块: 数据绑定轻松,不用写多余的adapter,天生网络支持(一行代码搞定加载,刷新问题)

*****: android中sqlite的最轻量orm框架(增删改查轻松搞定)

*****: android自带Perference 升级版,让你的Perference更强大,更方便

工具集合 JSONUtil(安全处理json),ViewUtil(数据绑定更快) (异步任务工具)...

七、

SmartAndroid是一套给

Android开发者使用的应用程序开发框架和工具包。它提供一套丰富的标准库以及简单的接口和逻辑结构,其目的是使开发人员更快速地进行项目开发。使用

SmartAndroid可以减少代码的编写量,并将你的精力投入到项目的创造性开发上。

功能:

SmartAndroid 拥有全范围的类库,可以完成大多数通常需要的APP开发任务,包括:异步网络操作相关所有功能、强大的图片处理操作、轻量级ORM数据库Sqlite库、zip操作、动画特效、Html等解析采集、事件总线EventBus/Otto、Gson(Json)、AQuery、主流所有UI控件(例如:ActionbarSherlock,SlidingMenu,BottomView,Actionbar,DragListView等10多种UI库)等。

如何开发android应用框架

首先要安装 Android SDK 和Eclipse 插件:
所需开发环境:
JDK 5 或 JDK 6 (仅有JRE不够)
Eclipse *** (galileo)
下载ADT 的Eclipse 插件
***隐藏网址***
安装 Eclipse 插件 (ADT)
启动 Eclipse,选择 Help 》 Install New Software,在出现的对话框里,点击Add按钮,在对话框的name一栏输入“ADT”, 然后点击Archive...,浏览和选择已经下载的ADT插件压缩文件。
点击 OK.。返回可用软件的视图,你会看到这个插件,然后选择Developer Tools (会选中下面的“Android Developer Tools”和 “Android Editors“),点击 Next,最后重启 Eclipse。
下载Android SDK:
***隐藏网址***
下载完SDK后,把.zip文件解压到你电脑上合适位置。启动 Eclipse,选择window-》preferences,在打开的视图左边点击android,在右边的SDK Location中选择Android SDK所在位置。
1、打开Eclipse,新建项目(点击FileNewroject),在项目列表中展开Android目录,选择Android Project,如下图:
2、点击”finish”即可完成项目的创建,创建后的项目已经是一个可运行的Android应用,我们可以通过下面方式运行此应用:
点击工具栏上手机形状的虚拟设备管理器(简称“**D“)
3、在打开的虚拟设备管理器中创建一个虚拟手机:
4、在项目上右键点击run as Android application,三、Android应用程序架构src/ java原代码存放目录
gen/ 自动生成目录
gen 目录中存放所有由Android开发工具自动生成的文件。目录中最重要的就是*****文件。 这个文件由Android开发工具自动产生的。Android开发工具会自动根据你放入res目录的xml界面文件、图标与常量,同步更新修改*****文件。正因为*****文件是由开发工具自动生成的,所以我们应避免手工修改*****在应用中起到了字典的作用,它包含了界面、图标、常量等各种资源的id,通过*****,应用可以很方便地找到对应资源。另外编绎器也会检查*****列表中的资源是否被使用到,没有被使用到的资源不会编绎进软件中,这样可以减少应用在手机占用的空间。
res/ 资源(Resource)目录
在这个目录中我们可以存放应用使用到的各种资源,如xml界面文件,图片或数据。具体请看ppt下方备注栏。
***** 功能清单文件
这个文件列出了应用程序所提供的功能,在这个文件中,你可以指定应用程序使用到的服务(如电话服务、互联网服务、短信服务、GPS服务等等)。另外当你新添加一个Activity的时候,也需要在这个文件中进行相应配置,只有配置好后,才能调用此Activity。
***** 项目环境信息,一般是不需要修改此文件。
res/drawable 专门存放png、jpg等图标文件。在代码中使用getResources().getDrawable(resourceId)获取该目录下的资源。
res/layout 专门存放xml界面文件,xml界面文件和HTML文件一样,主要用于显示用户操作界面。
res/values 专门存放应用使用到的各种类型数据。不同类型的数据存放在不同的文件中,如下:
· ***** 定义字符串和数值,在Activity中使用getResources().getString(resourceId) 或getResources().getText(resourceId)取得资源。它的作用和struts中的国际化资源文件一样。
《?xml version="***" encoding="UTF-8"?》
《resources》
《string name=“itcast”》****《/string》
《/resources》
· ***** 定义数组。
《?xml version="***" encoding="utf-8"?》
《resources》
《string-array name="colors"》
《item》red《/item》
《item》yellow《/item》
《item》green《/item》
《item》blue《/item》
《/string-array》
《/resources》
· ***** 定义颜色和颜色字串数值,你可以在Activity中使用getResources().getDrawable(resourceId) 以及getResources().getColor(resourceId)取得这些资源。例子如下:
《?xml version="***" encoding="UTF-8"?》
《resources》
《color name="contents_text"》#ff000000《/color》
《/resources》
· ***** 定义尺寸数据,在Activity中使用getResources().getDimension(resourceId) 取得这些资源
《?xml version="***" encoding="UTF-8"?》
《resources》
《dimen name="key_height"》50dip《/dimen》
《/resources》
· ***** 定义样式。
《?xml version="***" 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形式:*****。

android软件开发的架构(android的系统架构)

Android以Java为编程语言,使接口到功能,都有层出不穷的变化,其中Activity等同于J2ME的MIDlet,一个Activity类(class)负责创建视窗(window),一个活动中的Activity就是在foreground(前景)模式,背景运行的程序叫做Service。两者之间通过由和AIDL连结,达到复数程序同时运行的效果。如果运行中的Activity全部画面被其他Activity取代时,该Activity便被停止(stopped),甚至被系统清除(kill)。

View等同于J2ME的Displayable,程序人员可以通过View类与“XMLlayout”档将UI放置在视窗上,*****的版本可以利用View打造出所谓的Widgets,其实Widget只是View的一种,所以可以使用xml来设计layout,HTC的AndroidHero手机即含有大量的widget。至于ViewGroup是各种layout的基础抽象类(abstractclass),ViewGroup之内还可以有*****的构造函数不需要在Activity中调用,但是Displayable的是必须的,在Activity中,要通过()来从XML中取得View,Android的View类的显示很大程度上是从XML中读取的。View与事件(event)息息相关,两者之间通过Listener结合在一起,每一个View都可以注册一个eventlistener,例如:当View要处理用户触碰(touch)的事件时,就要向Android框架注册View.。另外还有Image等同于J2ME的BitMap。在模拟器上运行仿真是虚拟设备(**D),我们需要配置来运行我们的Android应用程序。步骤1、开放的**D管理步骤2、新的按钮,点击添加新设备,并配置您的设备设置。步骤3、会有一个结果窗口显示所有已配置你上一屏幕选择。步骤4、按“确定”,你将会看到你的设备列在有你可以关闭此窗口。步骤5、运行你的Android应用程序项目从Eclipse,如果只有一个**D配置,它会自动部署的应用程序也会出现一个窗口,选择你的图片。仿真器将开始。在设备上运行

Android应用程序可以直接部署在Android设备上,这几个配置所需要的。步骤1、在调试模式的设置可以设置应用程序:Android的《应用程序》元真可调试属性。ADT8这是默认的。步骤2、您的设备上启用USB调试:*****或以上转至设置》应用程序》开发和启用USB调试。在Android4更新,这是开发商选择设置》。注:在*****更新,开发者选项是默认隐藏。可以,去设定》android的版本号。返回先前屏幕找到开发商选择。步骤3、安装USB驱动程序为您的设备,计算机识别你的设备。步骤4、一旦设置和您的设备通过USB连接,从Eclipse菜单栏安装您的应用程序在设备上选择运行》运行(或运行》调试)。操作系统与应用程序的沟通桥梁,并用分为两层:函数层(Library)和虚拟机(VirtualMachine)。Bionic是Android改良libc的版本。Android同时包含了Webkit,所谓的Webkit就是AppleSafari浏览器背后的引擎。Su***ceflinger是就2D或**的内容显示到屏幕上。Android使用工具链(Toolchain)为Google自制的BionicLibc。

Android采用OpenCORE作为基础多媒体框架。OpenCORE可分7大块:PVPlayer、PVAuthor、Codec、PacketVideoMultimediaFramework(PVMF)、OperatingSystemLibrary(OSCL)、Common、OpenMAX。

Android使用skia为核心图形引擎,搭配OpenGL/*****与LinuxCairo功能相当,但相较于LinuxCairo,skia功能还只是阳春型的。2005年Skia公司被Google收购,2007年初,SkiaGL源码被公开,Skia也是GoogleChrome的图形引擎。

Android的多媒体数据库采用**Lite数据库系统。数据库又分为共用数据库及私用数据库。用户可通过类(Column)取得共用数据库。

Android的中间层多以Java实现,并且采用特殊的Dalvik虚拟机(DalvikVirtualMachine)。Dalvik虚拟机是一种“暂存器型态”(RegisterBased)的Java虚拟机,变量皆存放于暂存器中,虚拟机的指令相对减少。

Dalvik虚拟机可以有多个实例(instance),每个Android应用程序都用一个自属的Dalvik虚拟机来运行,让系统在运行程序时可达到优化。Dalvik虚拟机并非运行Java字节码(Bytecode),而是运行一种称为.dex格式的文件。Android的HAL(硬件抽像层)是能以封闭源码形式提供硬件驱动模块。HAL的目的是为了把Androidframework与Linuxkernel隔开,让Android不至过度依赖Linuxkernel,以达成kernelindependent的概念,也让Androidframework的开发能在不考虑驱动程序实现的前提下进行发展。

HALstub是一种代理人(proxy)的概念,stub是以*.so档的形式存在。Stub向HAL“提供”操作函数(operati***),并由Androidruntime向HAL取得stub的operati***,再callback这些操作函数。HAL里包含了许多的stub(代理人)。Runtime只要说明“类型”,即moleID,就可以取得操作函数。Android是运行于Linuxkernel之上,但并不是GNU/Linux。因为在一般GNU/Linux里支持的功能,Android大都没有支持,包括Cairo、X11、Alsa、FFmpeg、GTK、Pango及Glibc等都被移除掉了。Android又以bionic取代Glibc、以Skia取代Cairo、再以opencore取代FFmpeg等等。Android为了达到商业应用,必须移除被GNUGPL授权证所约束的部份,例如Android将驱动程序移到userspace,使得Linuxdriver与Linuxkernel彻底分开。bionic/libc/kernel/并非标准的*****的kernelheader是利用工具由Linuxkernelheader所产生的,这样做是为了保留常数、数据结构与宏。

Android的Linuxkernel控制包括安全(Security),存储器管理(MemoryManagemeat),程序管理(ProcessManagement),网络堆栈(NetworkStack),驱动程序模型(DriverModel)等。下载Android源码之前,先要安装其构建工具Repo来初始化源码。Repo是Android用来辅助Git工作的一个工具。

文章结束,服务不止。关于简述android应用程序框架的任何后续问题,欢迎通过[联系方式]找到我们。
本文编辑:admin

更多文章:


swift编程语言教程(新手学苹果swift编程该如何入手,之前从未接触过编程,只是在学校简单的学了一些C语言)

swift编程语言教程(新手学苹果swift编程该如何入手,之前从未接触过编程,只是在学校简单的学了一些C语言)

从一个常见的误区说起:很多人学swift编程语言教程,却忽略了新手学苹果swift编程该如何入手,之前从未接触过编程,只是在学校简单的学了一些C语言。结果事倍功半。希望你不会再犯这个错误。

2026年4月26日 04:40

简述android应用程序框架(Android开发,有什么好用的框架么)

简述android应用程序框架(Android开发,有什么好用的框架么)

上一篇文章我们介绍了简述android应用程序框架的基础,今天我们将深入其核心环节——Android开发,有什么好用的框架么,看看它如何承前启后。

2026年4月26日 04:20

vb编程软件教程(vb如何编写联机软件csdn)

vb编程软件教程(vb如何编写联机软件csdn)

大家好,今天小编来为大家解答以下的问题,关于vb编程软件教程,vb如何编写联机软件csdn这个很多人还不知道,现在让我们一起来看看吧!

2026年4月26日 04:00

c语言数组下标是什么(在C语言里面数组的下标和地址的具体区别是什么下标可以看成地址吗)

c语言数组下标是什么(在C语言里面数组的下标和地址的具体区别是什么下标可以看成地址吗)

老铁们,关于c语言数组下标是什么,你可能听过不少说法。今天,咱们就坐下来好好聊聊在C语言里面数组的下标和地址的具体区别是什么下标可以看成地址吗,保证让你豁然开朗。

2026年4月26日 03:40

hard什么意思中文意思(hard什么意思)

hard什么意思中文意思(hard什么意思)

各位老铁们,大家好,今天由我来为大家分享hard什么意思中文意思,以及hard什么意思的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!

2026年4月26日 03:20

drop table emp怎么撤销(oracle 一次删除多张表)

drop table emp怎么撤销(oracle 一次删除多张表)

结合最近的趋势来看,drop table emp怎么撤销的热度持续攀升,而oracle 一次删除多张表作为其核心组成部分,讨论度更是居高不下。

2026年4月26日 03:00

方法重载的判断条件(函数重载的条件)

方法重载的判断条件(函数重载的条件)

从一个常见的误区说起:很多人学方法重载的判断条件,却忽略了函数重载的条件。结果事倍功半。希望你不会再犯这个错误。

2026年4月26日 02:40

qq代码怎么使用(qq聊天满屏烟花代码怎么用)

qq代码怎么使用(qq聊天满屏烟花代码怎么用)

本文旨在解决您关于qq代码怎么使用的两大困惑:一是理清基本概念,二是深入解析qq聊天满屏烟花代码怎么用。内容干练,直奔主题。

2026年4月26日 02:20

获取index失败什么意思(EXCEL用INDEX函数提取数据出现错误)

获取index失败什么意思(EXCEL用INDEX函数提取数据出现错误)

其实获取index失败什么意思的问题并不复杂,但是又很多的朋友都不太了解EXCEL用INDEX函数提取数据出现错误,因此呢,今天小编就来为大家分享获取index失败什么意思的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!

2026年4月26日 02:00

绝对值图像翻折口诀(绝对值函数图像怎么画)

绝对值图像翻折口诀(绝对值函数图像怎么画)

面对绝对值图像翻折口诀这个议题,很多人在绝对值函数图像怎么画这里栽了跟头。今天,我们就来聊聊如何避免这个坑,轻松上手。

2026年4月26日 01:40

最近更新

陶笛入门基础教程(怎样学好陶笛)
2026-04-26 05:00:02 浏览:0
drop table emp怎么撤销(oracle 一次删除多张表)
2026-04-26 03:00:02 浏览:0
热门文章

split函数 sql(求sql split函数的用法)
2026-03-26 20:40:01 浏览:1
sql server解压安装教程(安装**L Server2008时,出现“查找**L Server2008 安装媒体”怎么解决啊)
2026-03-27 01:20:02 浏览:1
mysql insert into字段顺序问题(mysql insert into的问题)
2026-04-13 16:00:02 浏览:1
标签列表