码迷,mamicode.com
首页 > 移动开发 > 详细

android

时间:2015-09-12 01:06:41      阅读:229      评论:0      收藏:0      [点我收藏+]

标签:android   资源管理器   activity   应用程序   content   

#android应用开发步骤
    
#android的资源管理器
#android应用程序构成
    活动activity、意图intent、服务service、内容提供器content provider
###活动activity
    活动是一个组件,一个活动就是一个屏幕,它负责创建窗口容纳视图组件。每个活动都继承活动基类被实现为一个独立的类。活动类可以显示由多个视图空间组成的用户接口,并对事件做出响应。一个activity中通常包含多个widget,一个intent,一个布局(xml或Java代码实现),一个bundle。
###意图intent
    是一种运行时绑定机制。与intent有关的2个类是IntentFilter和IntentReceiver。Intent提供应用程序、activity和service三种之间的相互触发和数据交互(运行时绑定)。intent描述了一次操作的动作、动作涉及的数据和附加数据,系统通过intent的描述调用对应的应用。
###服务service
    服务在后台运行,没有界面,相当于activity启动的守护进程。可以被activity调用。处理与activity生存期无关的事务。
###内容提供器ContentProvider
    ContentProvider提供了一种多应用间数据共享的方式-文件,SQLite。ContentProvider提供了数据共享访问和存取的标准方法。
#android将activity的UI设计与动作实现分开
    *代码中实现活动设计
    *xml中实现UI设计(窗口组件widget的外观表现形式),设置每一种窗口组件的属性(widget组件不同,所拥有的属性也不同)。同res文件下的资源一样,.xml中的组件申明也会在R.java文件中产生组件对象及其引用ID,在该.xml文件中需要为引用对象指明一个对应的id标签,方法为andoid:id="@+id/xxx" ,如果不指定这个id标签,那么在R.java中的id类中就不会生成该组件的id,不需要在Java代码中引用的组件不要用申明id标签,比如文本标签视图;所有res资源文件夹下的资源对象都会在R.java文件中产生一个资源id,资源不同id所属的类会不同。
    *UI的设计方法有2种:XML文件和Java代码。
    *每一个activity中需要对应一个xml布局文件或实现Java代码布局,布局和组件申明在同一个.xml(res/layout/xxx.xml)文件中,每一个activity都应该对应一个自己的.xml文件,该.xml文件可以通过可视化的设计工具来实现
#Resource类资源管理器
    *在activity类中 Resource resmanage=this.getBaseContext().getResources(); Drawable pic1=resmanage.getDrawable(R.id.pic1); 可以获取到该图片资源的引用
#android 工程的文件管理
###src文件夹
    存放项目中的所有源文件。
###gen文件夹
    只读文件夹,不能手动修改,包含了已构造为对象的资源的引用类,保存所有资源对象的地址
###android2.1文件夹
    包含构建应用程序所需的所有android SDK库和API接口
###assets文件夹
    包含应用程序所需要的视频和音频等不可修改的资源的资产文件
###res文件夹
    资源目录,包含项目中需要被编译进应用程序的资源文件,向此文件中添加资源时会被gen自动记录生成资源对象及其引用并产生资源ID,代码中可以根据资源ID来引用资源
###androidmanifest.xml文件
    项目组件配置文件
###default.properties文件
    该文件负责记录项目所需要的环境信息
#Bundle类
    final类型,相当于map,用于activity之间的数据传递。传递的数据可以是boolean、byte、int、long、float、double、string等基本类型或它们对应的数组,也可以是对象或对象数组。当Bundle传递的是对象或对象数组时,必须实现Serializable 或Parcelable接口。一个activity的实现中一般会有多个widget窗口类、一个intent,一个bundle类。
#android的常用包
    *android.app.activity activity类
    *android.os.Bundle Bundle类
    *android.widget.*  窗口组件包
    *android.view.*    可视化包
    *android.content.Intent 
#View视图类和Widget类
    *View类是Widget类的基类
    *Widget主要包括以下视图:TextView文本框视图 EditText编辑框视图 Button CheckBox复选框视图 RadioGroup Spinner下拉列表 AutoCompleteTextView自动完成文本框视图 DatePicker日期选择器视图 TimePicker时间选择器视图 DigitalClock数字时钟 AnalogClock表状时钟 ProcessBar进度条 RatingBar评分条 SeekBar拖动条 GridView网格视图 ListView列表视图 ScrollView滚动视图 ImageView图片视图 Tab图标切换视图
    *TextView和ImageView的区别就是-TextView用于显示文本而ImageView用于显示图片 ContextMenu菜单 OptionsMenu
    *每一种视图都有自己的事件监听器,当事件到来时将触发回调函数。
    *菜单结构的设计有2种:Java代码和XML。首先进行UI设计,通过@+id/xxx为组件对应一个对象关键字。UI设计完之后,就产生了每个组件对应的对象,但是在代码里还无法引用该对象,因为没有这些widget对象的引用,使用findViewById(R.id.xxx)可以返回这些已布局对象的引用。
#android提供了4种应用程序交互功能的组件
    *Broadcast
    *Intent :是一种利用消息进行交互的机制。Intent对象描述了应用中一次操作的动作、动作涉及的数据和附加数据,系统通过该intent对象的描述调用对应的应用。调用的应用可以是一个应用程序、activity或者service。即intent用于通知操作系统的主消息循环去启动一个应用、activity或service。intent消息是一种同一或不同应用程序中的组件之间延迟运行时绑定的机制。intent分成2类:(1)显式intent(action intent 单播):显式intent通过名字指定将要被调用的应用(activity/service),常用于同一应用中不同activity之间的交互。因为当前应用通常不知道其他应用中的activity的名字。(2)隐式intent(broadcast intent):隐式intent无需指定目标应用的名字,只需要广播隐式intent。4大组件中Activity、BroadCastreceiver、service这3个都是通过intent被激活的。
    *Adapters
    *Content Providers

#service实现android中的后台运行
###service类型分为2种
    *本地服务:用于应用内部,实现应用程序自己的一些耗时任务。
    *远程服务:用于应用程序之间,允许调用其他应用程序的服务。
    *service类派生了多种类型的服务:AbstractInputService AccessibilityService IntentService RecognitionService WallpaperService
###Service的2个应用
    *作为应用程序的一种设施,以一种与当前activity无关的方式启动一段Java代码。通过context.startService方法启动Service,或通过context.stopService终止。
    *在应用程序之间提供交互功能:通过调用context.bindService方法启动一个长期的Service。调用context.unbindService终止
###Service的实现方法
    *创建Service:首先需要继承Service类,并且覆盖其中的onCreate,onStart, onDestroy方法
    *onCreate 中实现需要在后台执行的代码
    *onStart  intent数据通常都是传递给onstart
    *onDestroy 实现清除数据

#Android提供了4种持久数据存储的方法
    *Preferences存储数据:Preferences采用"键-值"对组织和管理数据,其数据存储在XML文件中,适用于简单数据存储。可以像bundle存取数据
    *文件存储数据:从存储量来看,文件存储是一种"重量级"的存储机制,它比Preferences方式更适合存储较大的数据。
    *SQLite存储数据:“重量级“存储机制
    *ContentProvider存储数据:应用程序之间唯一共享数据的途径,主要用于存储、检索数据以及向其他应用程序提供数据访问的接口。可以提供像sqlite一样的数据访问方式,可以存储非结构化数据。
#android提供了3种网络通信方式
    *Webkit(android.webkit):浏览器引擎
    *HttpComponents
    *Socket(java.net.*)
#androidmainfest.xml作用
    当Android启动一个应用程序组件之前,它必须知道哪些个组件是存在的,所以开发人员在开发过程中,必须将应用程序中出现的组件一一在 AndroidManifest.xml文件中手动申明,最终这个AndroidManifest.xml文件也会被一起打包到.apk文件中去。
    Android的四大组件分别是:Activity、BroadCastreceiver、service、ContentProvider,所以我们如果在程序中用到了这些组件,一定要在AndroidManifest.xml文件中申明,否则Android应用程序在运行时,在需要跳转到、或者需要用到组件找不到时报错。activity许可设置也在androidmanifest.xml中。 

本文出自 “tech记录” 博客,谢绝转载!

android

标签:android   资源管理器   activity   应用程序   content   

原文地址:http://a1liujin.blog.51cto.com/5519498/1693905

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!