android手机编程 第二讲
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. 通用的资源访问基于Java代码访问资源文件
[.]R.
在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 |
颜色表示方法
使用Color类常量
Int color = Color.BLUE
使用Color类的静态方法argb
Int color = Color.argb(127,255.0,255)
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.题目记录 以下关于Android应用程序的目录结构描述中,不正确的是(C) A.assets目录是原始资源目录,该目录中的内容将不会被R类引用 B.class="lazy" data-src目录是应用程序的主要目录,由Java类文件组成 C.AndroidManifest.xml 文件是应用程序目录清单文件,该文件由ADT自动生成,不需要程序员手动修改 D. res目录是应用资源目录,该目录中的所有资源内容都会被R类引用 下列不属于补间动画相关类的是(C) A.AlphaAnimation B.TranslateAnimation C.FrameAnimation D.RotateAnimation 在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 在res目录下的布局配置文件中,通过(A )方式可以访问strings.xml中定义的字符串常量信息title。 A.@string/title1.00/1.00 B.title C.String.title D.string/titile 如果需要给一个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 下面哪种说法不正确 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被删除后能自动生成 下列 ( C ) 方法用于制定是否使用抗锯齿功能 A.setDither() B.setShader() C.setAntiAlias()1.00/1.00 D.setXfermode() SDK是什么(A) A.软件开发工具包1.00/1.00 B.虚拟设备 C.Android集成开发环境 D.JAVA开发程序包 (D ) 文件夹中的文件不能被R.java文件索引,但是会被编译到.apk中,并且原文件会被保留 。 A.libs B.gen C.drawable D.assets 创建Androi项目时,下面的包名错误的是(A) A.com.ouchn.01 B.com.ouh_01 C.com.ouchn D.com.ouchn.edu 在Android应用中需要添加访问互联网的权限配置(Permission),可以在配置文件( B)中进行设置。 A.values.xml B.AndroidManifest.xml C.stirngs.xml D.project.properites 关于res/raw目录说法正确的是 A A.这里的文件是原封不动的存储到设备上不会转换为二进制的格式 B.这里的文件最终不会以二进制的格式存储到指定的包中 C.这里的文件最终以二进制的格式存储到指定的包中 D.这里的文件是原封不动的存储到设备上会转换为二进制的作者:xbean1028
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341