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.这里的文件是原封不动的存储到设备上会转换为二进制的

更多相关文章

  1. ADB常用操作
  2. Android(安卓)数据存储---SharedPreference
  3. android录音MP3格式文件
  4. Android开发―随笔杂记(2010年的)
  5. android 性能检测资料合集
  6. Android之相机的使用
  7. Android(安卓)串口的踩坑之路
  8. Android(安卓)源码导入Eclipse技巧(Ubuntu)
  9. windows系统上安装与使用Android(安卓)NDK

随机推荐

  1. 定制android设备启动后进入的初始界面
  2. Android Studio配置Flutter遇到的问题及
  3. 在Android中使用Application保存全局变量
  4. android中动态给EditText获得焦点并弹起
  5. Google 发布 Android Design 网站
  6. Android本地视频播放器开发--ffmpeg解码
  7. Android -- Button(按钮)的几种监听方式
  8. android 模拟器键盘控制键不能用 以及 设
  9. Android消息机制探索(Handler,Looper,Mes
  10. android 自定义带关闭按钮的dialog