Android 开发框架
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 开发框架的更多相关文章
- Android 开发框架汇总
Android 开发框架汇总 时间过的真快,转眼间就要进入到16年的8月了,现在应该是三伏期间,一个字“热”.前端时间整理了一篇“JS前端框架汇总”,然后紧接着又抽时间学习了一下Android开发,在 ...
- Android开发框架androidannotations的使用
Android开发框架AndroidAnnotations,它除了有依赖注入的特性以外,还集成了Ormlite,Spring-android中的REST模板.使用起来非常方便,大大提高了开发效率. 使 ...
- 一个快速、完善的Android开发框架整合实践(QuickAndroid)
https://github.com/alafighting/QuickAndroid QuickAndroid 一个快速.完善的Android开发框架整合实践 QA项目简介 本框架QuickAndr ...
- Android 开发框架介绍
一.概述 现android开发有很多开发框架使用,做App不一定用到框架,但好框架的思想也是值得学习.选择合适的开发框架可提供实用功能,简化项目开发提升效率. 二.Afinal框架 简介 Afinal ...
- Android开发框架--AndroidAnnotations(一)
annotation:注解 什么是框架 框架是基石 android开发中哪些内容可以做成框架呢 网络模块 图片缓存模块 数据库模块 UI基础模块 开发框架给我们带来了哪些好处 提升开发效率 代码简洁 ...
- 值得推荐的android开发框架简单介绍
一些总结出来的Android高速开发框架,所有都是开源框架,附带项目地址,是开发学习的绝佳资料. Direct-Load-apk项目 项目主页地址:http://www.kymjs.com/ 功能:D ...
- Android开发框架
AsyncHttpClient 它把HTTP所有的通信细节全部封装在了内部,我们只需要简单调用几行代码就可以完成通信操作 Universal-Image-Loader 它使得在界面上显示网络图片的操作 ...
- 开源的Android开发框架-------PowerFramework使用心得(五)网络请求HTTPRequest
GET请求示例 //所有参数都使用Bundle,用putString Bundle bundle = new Bundle(); bundle.putString("username&quo ...
- 开源的Android开发框架-------PowerFramework使用心得(一)总体介绍
PowerFramework是一款几乎囊括了所有Android基础功能的框架应用,这个框架目前是开源的,开发者可以在这个框架的基础上进行二次开发.结合开发者自己的UI设计,可以很快就能开发出具备基础应 ...
随机推荐
- 实例对比剖析c#引用参数的用法
c#引用参数传递的深入剖析值类型的变量存储数据,而引用类型的变量存储对实际数据的引用.(这一点很重要,明白了之后就能区分开值类型和引用类型的差别) 在参数传递时,值类型是以值的形式传递的(传递的是值, ...
- C#中ListView的简单使用方法
ListView是用于显示数据的,先在窗体中拉一个lisview控件,还有一些新增.修改.删除.查询按钮和文本框,控件名称为listview,按钮为btnInsert,btnUpate,btnDele ...
- Java中处理异常throw和throws
1.首先我们来了解什么是异常呢? 异常阻止当前方法或作用域继续执行的问题. 2.处理异常 说到处理异常,我们当然会想到 try catch finally 在java中我们会对异常的处理有更高的认识 ...
- docker 使用
https://www.digitalocean.com/community/tutorials/how-to-use-the-digitalocean-docker-application http ...
- art-template引擎模板
art-template简介 artTemplate(后文简称aT)才是模板引擎,而TmodJS(后文简称TJ,曾用名atc)则是依赖于前者的一款模板预编译器.两者都是由腾讯开发.其实aT完全可以独立 ...
- Android Http请求框架一:Get 和 Post 请求
1.HttpUtil package com.app.android01; import java.io.BufferedReader; import java.io.IOException; imp ...
- Android 程序目录及UI的简介
Android程序的目录结构 src:源码的组织管理目录. gen:自动生成的目录,会生成一些重要的文件,如R.java,该目录一般不需要我们编写. assets:该目录文件不会被编译成二进制编码,多 ...
- 实战3--应用EL表达式判断用户登录信息
1.判断用户名是否为空,空则显示提示信息 (1)编写index.jsp页面 <%@ page language="java" contentType="text/h ...
- iOS开发~UI布局(二)storyboard中autolayout和size class的使用详解
一.概要:前一篇初步的描述了size class的概念,那么实际中如何使用呢,下面两个问题是我们一定会遇到的: 1.Xcode6中增加了size class,在storyboard中如何使用? 2.a ...
- MySQL学习基础 之 起航篇
MySQL 学习来自慕课网<与MySQL的零距离接触> MySQL是一个开源的关系型数据库管理系统 MySQL分为社区版和企业版 MySQL登录和退出相关的命令 参数 描述 -D,--da ...