zoukankan      html  css  js  c++  java
  • 疯狂Android讲义

    第五章 

    Android使用统一的Intent对象来封装“启动意图”,不管是启动Activity、Service组件、或者BroadcastReceiver等,提供了一致的编程模型。Intent设计有点类似于Struts2框架中的逻辑视图设计。

    Intent还是应用程序组件之间通信的重要媒介:数据封装成Bundle对象,Intent携带Bundle对象。 

    5.1 Intent对象详解 

    5.2 Intent的属性及intent-filter配置

    5.2.1 Component属性 

    5.2.2 Action、Category属性与intent-filter配置 

    Intent通过指定Action属性,可以把该Intent与具体的Activity分离,从而提供高层次的解耦。 

    每个Intent只能指定一个Action要求,但可以指定多个Category要求。

    每个组件通过<intent-filter.../> 元素,可以声明自己满足多个Action要求,可满足多个Category要求。

    5.2.3 指定Action、Category调用系统Activity,只要权限允许。 P298 表5.2和表5.3 启动Activity的标准Action常量和Category常量。(源码55.2SysAction  显示系统联系人列表,取出名字、电话

    5.2.4 Data、Type属性与intent-filter配置

    Data属性通常用于向Action属性提供操作的数据,Data属性接受一个Uri对象。

    Type属性用于指定Data所指Uri对应的MIME类型,这种MIME类型可以是任何自定义的MIME类型。 

    Data属性和Type属性的关系比较微妙,这两个属性会相互覆盖,如果希望Intent既有Data属性,也有Type属性,应该调用Intent的setDataAndType()方法。 

    源码55.2ActionData  使用Action、Data属性启动系统Activity) 

    5.2.5 Extra属性

    5.2.6 Flag属性  P311 Intent的常用Flag

    5.3 使用Intent创建Tab页面

    源码55.2ActionData) 

    第六章 

    Android应用的源代码可分为如下三大类:

    1 界面布局文件:XML文件,文件中的标签对应于相应的View标签

    2 Java源文件:应用中的Activity、Service、BroadcastReceiver、ContentProvider四大组件

    3 资源文件:主要是各种XML文件,还可包括图片资源。 

    6.1 资源的类型及存储方式 

    Android应用资源可分为两大类:

    1 无法通过R资源清单类访问的原生资源,保存在assets目录下。

    2 可通过R资源清单类访问的资源,保存在res目录下。 

    6.1.1 资源的类型以及存储方式

    表6.1  P316 

    6.1.2 使用资源

    1 在Java代码中使用资源清单项:[package_name.] R.resouce_type.resource_name

    2 在Java代码中访问实际资源,需要借助于Android提供的Resource类。 

      Resource.getXxx(int id) :根据资源清单ID来获取实际资源

      Resource.getAssets():获取访问/assets/目录下资源的AssetManager对象 

    3 在XML文件中使用资源 

    6.2 使用字符串、颜色、尺寸资源

    它们对应的XML文件都将位于/res/values目录下。 

    6.2.1 颜色值的定义 

    6.2.2 定义字符串、颜色、尺寸资源文件

    6.2.3 使用字符串、颜色、尺寸资源 

    6.3 数组(Array)资源 

    Android采用位于/res/values目录下的arrays.xml文件来定义数组 

    6.4 使用Drawable资源

    6.4.1 图片资源

    6.4.2 StateListDrawable资源:用于组织多个Drawable对象。 

    源码66.4StateListDrawableTest 高亮显示正在输入的文本框) 

    6.4.3 LayerDrawable资源,与上类似,可包含一个Drawable数组,系统将会按数组中的顺序绘制它们,索引最大的Drawable对象将会被绘制在最上面。 

    源码66.4LayerDrawableTest 定制拖动条外观) 

    6.4.4 ShapeDrawable资源 用于定义一个基本的几何图形。 

    6.4.5 ClipDrawable资源 代表从其他位图上截取的一个图片片段。 

    6.4.6 AnimationDrawable资源 代表一个动画 

    6.5 属性动画资源(Property Animation) 

    Animator代表一个属性动画,但它只是一个抽象类,通常会使用它的子类:AnimatorSet、ValueAnimator、ObjectAnimator、TimeAnimator。(源码66.5AnimatorTest) 

    6.6 使用原始XML资源 

    6.6.1 定义原始XML资源 

    原始XML资源一般保存在/res/xml路径下,需要手动创建这个目录。 

    6.6.2 使用原始XML文件(源码66.6XmlResTest) 

    6.7 使用布局(Layout)资源 

    6.8 使用菜单(Menu)资源 

    6.9 样式(Style) 和主题(Theme)资源

    6.9.1 样式资源  也放在/res/values目录下 

    6.9.2 主题资源  也放在/res/values目录下

    主题与样式的区别:

    1 主题不能作用于单个的View组件,主题应该对整个应用中的所有Activity起作用,或对指定的Activity起作用。

    2 主题定义的格式应该是改变窗口外观的格式,如窗口标题、窗口边框等。 

    6.10 属性(Attribute)资源 

    源码66.10AttrResTest) 

    6.11 使用原始资源

    Android的原始资源可以放在如下两个地方:

    1 /res/raw   Android SDK会再R清单类中为该目录下的资源生成一个索引项。

    2 /assets    该目录下的资源是更彻底的原始资源。Android应用需要通过AssetManager来管理该目录下的原始资源。 

    6.12 国际化和资源自适应 

    Internationalization     I18N

    Localization     L10N 

    6.12.1 Java国际化的思路 

    6.12.2 Java支持的语言和国家 

    6.12.3 完成程序国家化 

    6.12.4 为Android应用提供国际化资源 

    6.13 自适应不同屏幕的资源


  • 相关阅读:
    社群电商
    文字超出部分省略号显示······
    jq监听页面的滚动事件,
    input 更改 pleaseholder 的字体样式
    20161213 scrapy安装
    map按照value排序的方法
    Qt跨线程信号和槽的连接
    C++ map指针的使用
    Python 高级进阶
    [转]解读C指针(5)——笔试题解析
  • 原文地址:https://www.cnblogs.com/busor/p/3785940.html
Copyright © 2011-2022 走看看