Android 开发框架包括基本的应用功能开发、数据存储、网络访问三大块。

1 应用方面
一般而言,一个标准的Android 程序包括Activity、Broadcast Intent Receiver、Service、Content Provider
四部分。
1).Activity
Activity 是在Android 应用开发中最频繁、最基本的模块。在Android 中,Activity 类主要与界面资源
文件相关联(res/layout 目录下的xml 资源,也可以不含任何界面资源),包含控件的显示设计、界面交互
设计、事件的响应设计以及数据处理设计、导航设计等Application 设计的方方面面。
因此,对于一个Activity 来说,它就是手机上的一个界面,相当于一个网页,所不同的是,每个Activity
运行结束时都返回一个返回值,类似一个函数。Android 系统会自动记录从首页到其他页面的所有跳转记
录并且自动将以前的Activity 压入系统堆栈,用户可以通过编程的方式删除历史堆栈中的Activity Instance。

2).Broadcast Intent Receiver
Intent 为不同的Activity 进行跳转提供了机制,譬如从A Activity 跳转到B Activity,使用Intent 来实现,
语句如下。
Intent in = new Intent(A.this, B.class);
startActivity(in);
Broadcast Intent Receiver 为各种不同的Android 应用程序间进行进程间的通信提供了可能。如当电话
呼叫来临时,可以通过Broadcast Intent Receiver 发布广播消息。对用户而言,用户是无法看到Broadcast Intent
Receiver 事件的,它对用户是不透明的,Broadcast Intent Receiver 通过Notification Manager 来通知用户这
些事件发生了,它既可以在资源AndroidManifest.xml 中注册,也可以在代码中通过Context.registerReceiver()
进行注册在AndroidManifest.xml 中注册以后,当事件来临时,即使程序没有启动,系统也会自动启动此应
用程序。另外,各应用程序可以很方便地通过Context.sendBroadcast()将自己的事件广播给其他应用程
序。

3).Service
Android 中的Service 和Windows 中的Service 完全是一个概念,用户可以通过StartService(Intent service)
启动一个Service,也可通过Context.bindService 来绑定一个Service。

4).Content Provider
Content Provider 提供了应用程序之间数据交换的机制,一个应用程序通过实现一个Content Provider
的抽象接口将自己的数据暴露出去,并且隐蔽了具体的数据存储实现,这样实现了Android 应用程序内部
数据的保密性。标准的Content Provider 提供了基本的CRUD(Create、Read、Update、Delete)接口,并
且实现了权限机制,保护了数据交互的安全性。
一个标准的 Android 应用程序的工程文件包含以下几大部分。
 Java源代码部分(包含Activity)——放置在src目录中。
 R.java文件——由Eclipse自动生成与维护,开发者不需要修改,提供了对Android资源的全局索引。
 Android Library——应用程序运行的Android库。
 assets目录——主要用于放置多媒体等文件。
 res目录——放置的是资源文件: drawable包含的是图片文件,layout里面包含的是布局文件,values
里面主要包含的是字符串(strings.xml)、颜色(colors.xml)以及数组(arrays.xml)资源。
 AndroidManifest.xml——应用的配置文件,在这个文件中,需要声明所有用到的Activity、Service、
Receiver等。

2 数据存储
Android 中提供的存储方式包括:SharedPreferences、文件存储、SQLite 数据库存储方式、内容提供器
方式Content Provider 以及网络方式 5 种,具体介绍如下。

1).SharedPreferences
作为Android 提供的一种配置文件读/写方式,默认保存在应用的目录data/<package name>/shared_prefs
下,通过方法getSharedPreferences(xx, 0);来获取SharedPreferences 对象进行读/写操作。
2).文件存储
Android 系统提供了进行数据读/写访问的API,例如,openFileInput、openFileOutput 等,需要特别注
意的是,Android 中应用程序的数据是私有的,也就是说,其他应用程序无法访问当前应用程序产生的文
件。
3).SQLite 数据库存储方式
通过继承 SQLiteOpenHelper 类提供的CRUD 接口来进行数据库操作,方便了应用程序的数据存储操
作。
4).内容提供器方式(Content Provider)
通过调用其他应用程序的数据接口来实现数据的读/写访问。
5).网络方式
主要通过下面要提到的网络访问该网络提供的网络服务接口,实现数据的读/写服务(如WebService
数据访问接口)。

网络访问方面

Android 主要通过java.net.*及Android.net.*来进行HTTP 访问技术的封装;利用其提供的HttpPost、
DefaultHttpClient、HttpResponse 等类提供的访问接口来实现具体的Web 服务访问。

Android 开发框架的更多相关文章

  1. Android 开发框架汇总

    Android 开发框架汇总 时间过的真快,转眼间就要进入到16年的8月了,现在应该是三伏期间,一个字“热”.前端时间整理了一篇“JS前端框架汇总”,然后紧接着又抽时间学习了一下Android开发,在 ...

  2. Android开发框架androidannotations的使用

    Android开发框架AndroidAnnotations,它除了有依赖注入的特性以外,还集成了Ormlite,Spring-android中的REST模板.使用起来非常方便,大大提高了开发效率. 使 ...

  3. 一个快速、完善的Android开发框架整合实践(QuickAndroid)

    https://github.com/alafighting/QuickAndroid QuickAndroid 一个快速.完善的Android开发框架整合实践 QA项目简介 本框架QuickAndr ...

  4. Android 开发框架介绍

    一.概述 现android开发有很多开发框架使用,做App不一定用到框架,但好框架的思想也是值得学习.选择合适的开发框架可提供实用功能,简化项目开发提升效率. 二.Afinal框架 简介 Afinal ...

  5. Android开发框架--AndroidAnnotations(一)

    annotation:注解 什么是框架 框架是基石 android开发中哪些内容可以做成框架呢 网络模块 图片缓存模块 数据库模块 UI基础模块 开发框架给我们带来了哪些好处 提升开发效率 代码简洁 ...

  6. 值得推荐的android开发框架简单介绍

    一些总结出来的Android高速开发框架,所有都是开源框架,附带项目地址,是开发学习的绝佳资料. Direct-Load-apk项目 项目主页地址:http://www.kymjs.com/ 功能:D ...

  7. Android开发框架

    AsyncHttpClient 它把HTTP所有的通信细节全部封装在了内部,我们只需要简单调用几行代码就可以完成通信操作 Universal-Image-Loader 它使得在界面上显示网络图片的操作 ...

  8. 开源的Android开发框架-------PowerFramework使用心得(五)网络请求HTTPRequest

    GET请求示例 //所有参数都使用Bundle,用putString Bundle bundle = new Bundle(); bundle.putString("username&quo ...

  9. 开源的Android开发框架-------PowerFramework使用心得(一)总体介绍

    PowerFramework是一款几乎囊括了所有Android基础功能的框架应用,这个框架目前是开源的,开发者可以在这个框架的基础上进行二次开发.结合开发者自己的UI设计,可以很快就能开发出具备基础应 ...

随机推荐

  1. 用C#编程的建议

    1.如果可能尽量使用接口来编程       .NET框架包括类和接口,在编写程序的时候,你可能知道正在用.NET的哪个类.然而,在这种情况下如果你用.NET支持的接口而不是它的类来编程时,代码会变得更 ...

  2. [CLR via C#]8. 方法

    一.实例构造器和类(引用类型) 类实例构造器是允许将类型的实例初始化为良好状态的一种特殊的方法. 类实例构造器方法在"方法定义元数据表"中始终叫.ctor(代表constructo ...

  3. jquery实现网页选项卡

    这个功能在现在的网站中使用较为普遍,就是以选项卡的形式来对一些内容做了分类.,比如下面的天猫商城. 下面的源码是仿照天猫写的一个选项卡,实现起来的效果如下. 主要是利用我们在点击相应板块是触发它的单击 ...

  4. net 数据库连接详解 相当经典啊

    ADO.NET与抽水的故事 ADO.NET是微软新一代.NET数据库的访问架构,ADO是ActiveX Data Objects的缩写.ADO.NET是数据库应用程序和数据源之间沟通的桥梁,主要提供一 ...

  5. 分享一些WinForm数据库连接界面UI

    1.动软代码生成器源码中. 2.DevExpress控件包中有类似的界面 3.代码生成器:http://www.csharpwin.com/csharpspace/11666r2577.shtml 4 ...

  6. C# winform调用浏览器打开页面方法分享,希望对大家有帮助

    在很多客户端程序中我们都需要调用浏览器打开网页,这里分享一个可以在我winform程序调用浏览器的方法,测试通过了. 声明:这个方法是上万个用户测试通过的,不是我没有测试通过就拿出来分享,那个是自己搬 ...

  7. java微信开发(wechat4j)——access_token中控服务器实现

    access_token是与微信服务器交互过程中的一个凭证,每次客户服务器主动与微信服务器通信都需要带上access_token以确认自己的身份.wechat4j内部封装了对access_token的 ...

  8. C# Sqlite事务

    在 C#中执行Sqlite数据库事务有两种方式:Sql代码和C#代码 1.Sql代码: BEGIN… COMMIT /ROLLBACK 2.C#代码: using (SQLiteConnection ...

  9. jquery动态创建节点

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  10. ArcGIS快捷键导出

    在以前的文章中说过怎样恢复ArcGIS默认界面.今天同事的电脑用ArcMap打开数据后,移动或缩放数据时莫名的闪动. 于是使用排除法来查找原因:(1)先以为是数据的原因,换个数据还是有问题:(2)后以 ...