博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android开发框架介绍
阅读量:4199 次
发布时间:2019-05-26

本文共 2388 字,大约阅读时间需要 7 分钟。

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

一、应用方面

  一般而言一个标准的程序由如下4部分组成即Activity、Broadcast Intent Receiver、Service、Content Provider

  1. Activity是最频繁、最基本的模块,在Android中,一个Activity就是手机上一屏,相当于一个网页一样,所不同的是,每个Activity运行结束了,有个返回值,类似一个函数一样。会自动记录从首页到其他页面的所有跳转记录并且自动将以前的Activity压入系统堆栈,用户可以通过编程的方式删除历史堆栈中的Activity Instance。
     Activity类中主要是跟界面资源文件关联起来(res/layout目录下的xml资源,也可以不含任何界面资源),内部包含控件的显示设计、界面交互设计、事件的响应设计以及数据处理设计、导航设计等application设计的方方面面。

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

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

  4. Content Provider,由于Android应用程序内部的数据都是私有的,Content Provider提供了应用程序之间数据交换的机制,一个程序可以通过实现一个ContentProvider的抽象接口将自己的数据暴露出去,并且隐蔽了具体的数据存储实现,标准的ContentProvider提供了基本的CRUD(Create,Read,Update,Delete)的接口,并且实现了权限机制,保护了数据交互的安全性;

  一个标准的Android应用程序的工程文件包含如下几大部分:

  -> 源代码部分(包含Activity),都在src目录当中;
  -> R.java文件,这个文件是Eclipse自动生成与维护的,开发者不需要修改,提供了Android对的资源全局索引;
  -> Android Library,这个是应用运行的Android库;
  -> assets目录,这个目录里面主要用与放置多媒体等一些文件;
  -> res目录,放置的是资源文件,跟VC中的资源目录基本类似,其中的drawable包含的是图片文件,layout里面包含的是布局文件,values目录里面主要包含的是字符串(strings.xml)、颜色(colors.xml)以及数组(arrays.xml)资源;
  -> AndroidManifest.xml,这个文件异常重要,是整个应用的配置文件,在这个文件中,需要声明所有用到的Activity、Service、Receiver等。

 

二、数据存储

  在Android,可供选择的存储方式包括了SharedPreferences、文件存储、SQLite数据库存储方式、内容提供器方式(Content Provider)以及网络方式 5种,具体如下:
   -> SharedPreferences是Android提供的一种配置文件读写方式,默认存在应用的data/<package name>/shared_prefs下面,通过getSharedPreferences(xx, 0);来获取SharedPreferences对象进行读写操作;
   -> 通过openFileInput、openFileOutput等系统提供的API来进行数据的读写访问,特别需要注意的是在Android之中应用程序的数据是私有的,这就是说当前应用程序产生的文件其他应用程序无法访问。
   -> SQLite数据库存储方式则是通过继承SQLiteOpenHelper类,并且获取此类的应用程序级别的实例来进行数据库操作的,该类中提供了默认的CRUD访问接口,方便了应用程序的数据存储操作;
   -> 内容提供器方式(Content Provider),如在上面应用方面所论述的一样,通过调用其他应用程序的数据接口来实现数据的读写访问;
   -> 网络方式主要是通过下面要提到的网络访问该网络提供的网络服务接口实现数据的读写服务(譬如WebService数据访问接口);
  
三、网络访问方面

   主要是Http访问技术的封装,通过java.*;以及Android.net.*;下面提供的HttpPost、DefaultHttpClient、HttpResponse等类提供的访问接口来实现具体的服务访问

转载地址:http://fpfli.baihongyu.com/

你可能感兴趣的文章
【一天一道LeetCode】#202. Happy Number
查看>>
带你深入理解STL之Vector容器
查看>>
带你深入理解STL之Deque容器
查看>>
带你深入理解STL之Stack和Queue
查看>>
带你深入理解STL之Set和Map
查看>>
Redis源码剖析--源码结构解析
查看>>
Redis源码剖析--动态字符串SDS
查看>>
Redis源码剖析--双端链表Sdlist
查看>>
Redis源码剖析--字典dict
查看>>
Redis源码剖析--跳跃表zskiplist
查看>>
Redis源码剖析--整数集合Intset
查看>>
Redis源码剖析--对象object
查看>>
Redis源码剖析--字符串t_string
查看>>
Redis源码剖析--快速列表quicklist
查看>>
Redis源码剖析--列表list
查看>>
Android开发学习 之 五、基本界面控件-4时间控件
查看>>
详细解读Jquery的$.get(),$.post(),$.ajax(),$.getJSON()用法
查看>>
同步与异步的区别
查看>>
IT行业--简历模板及就业秘籍
查看>>
JNI简介及实例
查看>>