android 开发框架

来源:互联网 发布:如何收藏淘宝店铺 编辑:程序博客网 时间:2024/06/08 02:47

开发框架方面包含基本的应用功能开发、数据存储、网络访问这三大块:
一、应用方面
  一般而言一个标准的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(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应用程序的工程文件包含如下几大部分:
  -> Java源代码部分(包含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数据访问接口);

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 怀孕后脚气严重怎么办 拼音a不会写怎么办 儿童7岁还坐不住怎么办 孩子缺锌手蜕皮裂开怎么办 宝宝读幼儿园哭怎么办 幼儿上课爱讲话怎么办 孩子上课总是乱跑怎么办 孩子听不懂老师讲课怎么办 高一上课听不懂怎么办 上课学生纪律差怎么办 一年级学生认字少怎么办 孩子上课做不住怎么办 幼儿园小孩上课乱跑怎么办 孩子挑食不爱吃饭怎么办 幼儿园孩子不听指令怎么办 1岁宝宝多动症怎么办 3岁宝宝胆小怎么办 爱挑食的孩子怎么办 小孩上课经常发呆怎么办 小孩不爱吃饭挑食怎么办 一年级小孩学习不好怎么办 宝宝上课坐不住怎么办 八个月婴儿拉稀怎么办 八个月孕妇拉稀怎么办 孩子好动爱喊怎么办 八个月小孩发烧怎么办 孩子好动怎么办学龄前教育 小孩好动症该怎么办 小孩子好动症该怎么办 怀孕5个月胎死亡怎么办 小孩多动调皮怎么办 手心老是出汗是怎么办 孩子吃饭特别慢怎么办 小孩子老想睡觉怎么办 孩子下午上课犯困怎么办 小孩子有多动症该怎么办 初中写作业犯困怎么办 孩子晚上学习困怎么办 小孩子容易兴奋激动怎么办 中考时过度兴奋怎么办 小孩兴奋不睡觉怎么办