【android编程】 第二讲-这是好的一个开始

android手机编程 第二讲

文章目录

  • android手机编程 第二讲
      • 0. 学习目标:
      • 1. Android 项目目录结构
      • 2. 通用的资源访问
      • 3. 字符串、颜色、尺寸应用
      • 4. Darwable资源
      • 5.Android项目布局文件
      • 6. AndroidManifest.xml项目配置
      • 7.题目记录

0. 学习目标:

​ 1.能够使用Android中颜色和字符串资源的调用方法和Android中XML和图片资源的调用方法。

​ 2.熟记Android项目中各种资源的功能。

​ 3.列举Android项目的项目结构和Android项目中使用的资源类型。

Android 项目结构目录

1. Android 项目目录结构

(1)res目录

① drawable-*dpi(比如ldpi,hdpi,mdpi,xdpi)

定义Android应用中需要的不同分辨率的资源文件

② values

Android应用界面上需要显示各类文本标签的文字信息(strings,styles,colors)

(2)res资源目录

① layout:Android定义的界面布局文件

② Menu:存放系统菜单项和上下文菜单项

2. 通用的资源访问

  1. 基于Java代码访问资源文件

    [.]R.

  2. 在XML配置文件中访问资源

    @[:]

3. 字符串、颜色、尺寸应用

资源列表

字符串资源、颜色资源、尺寸资源,存放在XML文件内,位于/res/values目录下。

资源类型 资源文件默认名 R类中名称
字符串资源 /res/values/strings.xml R.string
颜色资源 /res/values/colors.xml R.color
尺寸资源 /res/values/dimens.xml R.dimen
Boolean常量 /res/values/bools.xml R.bool

颜色表示方法

  1. 使用Color类常量

    Int color = Color.BLUE

  2. 使用Color类的静态方法argb

    Int color = Color.argb(127,255.0,255)

  3. fff000 (#+6位)

res和assets对比

res被映射到R.java。基于资源ID直接访问

assets需要通过资源管理器访问

res不可以建子目录,assets可以有目录结构

读取res/raw下的文件资源,通过Activity 的 getResources()方法

InputStream is = getResources();

openRawResources(R.id.filename)

assert通过assertmanager

AsserManager am = getAssets;//通过当前Activity的getAsset()方法
InputStream is = am.open("filename")

4. Darwable资源

(1)Drawable资源

① 主要格式有*.png、.jpg、*.gif等

② 图片放入/res/drawable-XXX目录下

③ 资源文件在R.java资源类中生成该资源的索引

(2)Drawable资源类型

① StateListDrawable资源(动态切换背景)

② LayerDrawable资源(图层叠加)

③ ShapeDrawable资源(绘图)

④ ClipDrawable资源

⑤ AnimationDrawable资源

5.Android项目布局文件

① 定义用户界面上各个组件之间的组织结构

② XML格式文件,Android系统负责初始化

③ 实现界面布局和逻辑代码分离

④ 修改和更新界面非常简便,无需修改代码

⑤ 布局文件是树形结构,使用根节点

⑥ 一般在布局控件中放置界面显示组件LinearLayout中放入textview文本标签

⑦ 通过节点属性设置界面显示界面组件的属性:大小、颜色、边距等

LinearLayout

orientation:vertical(垂直排列)/horizontal(水平排列)

layout_weight :是线性布局(Linelayout)的一个独特比例分配属性。使用此属性设置权重,然后按照比例对界面进行空间的分配,公式计算是:控件宽度=控件设置宽度+剩余空间所占百分比宽幅

a. 相对于父空间

XML属性 说明
layout_alignParentBottom 当前控件底端与父控件的底端对齐
layout_alignParentLeft 当前控件左端与父控件的左端对齐
layout_alignParentRight 当前控件右端与父控件的右端对齐
layout_alignParentTop 当前控件上端与父控件的上端对齐
layout_centerHorizontal 当前控件位于父控件的横向中间位置(水平方向上的中间)
layout_centerVertical 当前控件位于父控件的纵向中间位置(平面上的正中间)
layout_centerInParent 当前控件位于父控件的纵横向中间位置(垂直方向上的中间)

上述所有属性的取值皆为boolean属性:true、false。

b. 相对于给定控件

XML属性 说明
layout_above 使当前控件位于给出id控件的上方
layout_below 使当前控件位于给出id控件的下方
layout_toLeftOf 使当前控件位于给出id控件的左侧
layout_toRightOf 使当前控件位于给出id控件的右侧
layout_alignBottom 使当前控件与给出id控件的底部部重合
layout_alignLeft 使当前控件与给出id控件的左边重合
layout_alignRight 使当前控件与给出id控件的右边重合
layout_alignTop 使当前控件与给出id控件的顶部重合
layout_alignBaseline 使当前控件的BaseLine与给出id控件t的BaseLine重合

上述所有属性的取值皆为给定控件的id名,如下例子


6. AndroidManifest.xml项目配置

(1)AndroidManifest.xml项目配置文件

① AndroidManifest.xml位于根目录下,文件名不可修改,且只能出现一次

② 元素可以包含其他子元素,处于同一层次的元素,声明没有顺序

(2)Android应用使用的组件和系统配置信息

① 应用使用的组件及其实现类(Activity/Service等)

② 需要的Android系统权限

③ 声明其他应用程序与该应用程序交互需要的权限

④ 该应用程序所需Android API版本

⑤ 列出该应用程序必须链接的库

7.题目记录

  1. 以下关于Android应用程序的目录结构描述中,不正确的是(C)
  • A.assets目录是原始资源目录,该目录中的内容将不会被R类引用
  • B.src目录是应用程序的主要目录,由Java类文件组成
  • C.AndroidManifest.xml 文件是应用程序目录清单文件,该文件由ADT自动生成,不需要程序员手动修改
  • D. res目录是应用资源目录,该目录中的所有资源内容都会被R类引用
  1. 下列不属于补间动画相关类的是(C)
  • A.AlphaAnimation
  • B.TranslateAnimation
  • C.FrameAnimation
  • D.RotateAnimation
  1. 在Java代码中,通过(C )方式可以访问到配置文件中定义的颜色信息。
  • A.R.color_name_id
  • B.color_name
  • C.R.color.color_name_id1.00/1.00
  • D.R.string.color_name_id
  1. 在res目录下的布局配置文件中,通过(A )方式可以访问strings.xml中定义的字符串常量信息title。
  • A.@string/title1.00/1.00
  • B.title
  • C.String.title
  • D.string/titile
  1. 如果需要给一个UI的组件设置背景图片,在Java代码中访问到定义的图片资源bg_pic.png的方法是(A )。
  • A.R.drawable.bg_pic1.00/1.00
  • B.R.color.bg_pic
  • C.Drwable.bg_pic
  • D.R.string.bg_pic
  1. 下面哪种说法不正确 B
  • A.AndroidManifest.xml文件是 每个Android项目必须有的,是项目引用的全局描述。其中制定的程序包(package=”….”)+制定android应用的某个组件的名字(android:name=”…”)组成了该组件的完整路径
  • B.res目录是一个特殊目录,包含了 应用程序的全部资源,命名规则 可以支持 数字0-9,下航线,大小写字母1.00/1.00
  • C.assets和res目录都能存放资源文件,但是与res不同的是assets支持人资 深度的子目录,在它里面的文件不会在 R.java里生成任何ID
  • D.Android应用的gen目录下 R.java被删除后能自动生成
  1. 下列 ( C ) 方法用于制定是否使用抗锯齿功能
  • A.setDither()
  • B.setShader()
  • C.setAntiAlias()1.00/1.00
  • D.setXfermode()
  1. SDK是什么(A)
  • A.软件开发工具包1.00/1.00
  • B.虚拟设备
  • C.Android集成开发环境
  • D.JAVA开发程序包
  1. (D ) 文件夹中的文件不能被R.java文件索引,但是会被编译到.apk中,并且原文件会被保留 。
  • A.libs
  • B.gen
  • C.drawable
  • D.assets
  1. 创建Androi项目时,下面的包名错误的是(A)
  • A.com.ouchn.01
  • B.com.ouh_01
  • C.com.ouchn
  • D.com.ouchn.edu
  1. 在Android应用中需要添加访问互联网的权限配置(Permission),可以在配置文件( B)中进行设置。
  • A.values.xml
  • B.AndroidManifest.xml
  • C.stirngs.xml
  • D.project.properites
  1. 关于res/raw目录说法正确的是 A
  • A.这里的文件是原封不动的存储到设备上不会转换为二进制的格式
  • B.这里的文件最终不会以二进制的格式存储到指定的包中
  • C.这里的文件最终以二进制的格式存储到指定的包中
  • D.这里的文件是原封不动的存储到设备上会转换为二进制的

你可能感兴趣的:(Android)