文章目录

  • 零、学习目标
  • 一、资源说明
    • 1、字符串资源
    • 2、数组资源
    • 3、颜色资源
    • 4、图片资源
    • 5、音频资源
  • 二、案例演示 - 使用安卓应用程序资源
    • (一)运行效果
    • (二)涉及知识点
    • (三)实现步骤
      • 1、创建安卓应用【UseAppResources】
      • 2、将图片素材拷贝到drawable目录
      • 3、将音频资源拷贝到自建的raw目录
      • 4、主布局资源文件activity_main.xml
      • 5、字符串资源文件strings.xml
        • (1)字符串资源
        • (2)数组资源
      • 6、颜色资源文件colors.xml
      • 7、主界面类MainActivity
      • 8、启动应用,查看效果
      • 9、优化代码说明
  • 三、访问安卓平台资源
  • 四、课后作业
    • 任务:制作个人相册

零、学习目标

  1. 会在布局或程序里使用字符串资源
  2. 会在布局或程序里使用数组资源
  3. 会在布局或程序里使用颜色资源
  4. 会在布局或程序里使用图片资源
  5. 会在程序里使用安卓应用音频资源

一、资源说明

1、字符串资源

  • 在字符串资源文件strings.xml里,利用<string>元素来定义字符串资源

2、数组资源

  • 在字符串资源文件strings.xml里,利用<array><integer-array><string-array>元素来定义数组资源

3、颜色资源

  • 在颜色资源文件colors.xml里,利用<color>元素来定义颜色资源

4、图片资源

  • 图标资源一般放在mipmap目录
  • 图像资源一般放在drawable目录

5、音频资源

  • 应用内含音频资源一般放在自建的raw目录
  • 应用外置音频资源一般存放在外置存储卡上
  • 安卓应用可以访问网络上的音频(通过URI

二、案例演示 - 使用安卓应用程序资源

  • 任务:使用安卓应用程序资源,包括字符串、数组、颜色、图片、音频。

  • 关于样式资源styles,有点网页设计里CSS的味道,是一个界面美化师,当然也很有用,我们留待以后再讲述。

(一)运行效果

  • 单击【播放音乐】按钮,会听到音乐响起,但是现在我们没有去控制音乐的播放,比如暂停、停止之类的功能以后我们会学习如何实现。

(二)涉及知识点

  1. 线性布局
  2. 按钮
  3. 字符串资源
  4. 数组资源
  5. 颜色资源
  6. 音频资源(播放)

(三)实现步骤

1、创建安卓应用【UseAppResources】


2、将图片素材拷贝到drawable目录

  • 在布局资源文件里访问图片资源bg1.jpg:android:background="@drawable/bg1"
  • 在Java代码里访问图片资源bg1.jpg:Drawable bg1 = getResources().getDrawable(R.drawable.bg1);

3、将音频资源拷贝到自建的raw目录

  • 在Java代码里访问音频文件:MediaPlayer mp = MediaPlayer.create(this, R.raw.alice);
  • 安卓应用程序可以访问项目里的音频,也可以访问存储卡上的音频,甚至可以访问网络上的音频资源,目前我们只讲述第一种情况。

4、主布局资源文件activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:id="@+id/root"android:layout_width="match_parent"android:layout_height="match_parent"android:background="@color/black"android:gravity="center"android:orientation="vertical"><Buttonandroid:id="@+id/btnAccessString"android:layout_width="200dp"android:layout_height="wrap_content"android:onClick="doAccessString"android:text="@string/access_string"android:textColor="#0000ff"android:textSize="20sp" /><Buttonandroid:id="@+id/btnAccessStringArray"android:layout_width="200dp"android:layout_height="wrap_content"android:onClick="doAccessStringArray"android:text="@string/access_string_array"android:textColor="#0000ff"android:textSize="20sp" /><Buttonandroid:id="@+id/btnChangeBackColor"android:layout_width="200dp"android:layout_height="wrap_content"android:onClick="doChangeBackColor"android:text="@string/change_backcolor"android:textColor="#0000ff"android:textSize="20sp" /><Buttonandroid:id="@+id/btnChangeBackground"android:layout_width="200dp"android:layout_height="wrap_content"android:onClick="doChangeBackground"android:text="@string/change_background"android:textColor="#0000ff"android:textSize="20sp" /><Buttonandroid:id="@+id/btnPlayMusic"android:layout_width="200dp"android:layout_height="wrap_content"android:onClick="doPlayMusic"android:text="@string/play_music"android:textColor="#0000ff"android:textSize="20sp" /></LinearLayout>

5、字符串资源文件strings.xml

(1)字符串资源

  • 在布局资源文件里访问college变量:android:text="@string/college"
  • 在Java源代码里访问college变量:String strCollege = getResources().getString(R.string.college);

(2)数组资源

  • 在布局资源文件里访问majors变量:android:entries="@array/majors"
  • 在Java代码里访问majors变量:String[] strMajors = getResources().getStringArray(R.array.majors);

6、颜色资源文件colors.xml

  • 一个应用程序里会用到不少颜色,如果都是用“#XXXXXX”去设置颜色,就很不直观,不便于程序里使用,为此我们应该在颜色资源文件里创建程序需要的各种颜色,可以达到顾名思义的目的。

    ● 在布局资源文件里访问颜色变量:android:background="@color/red"
    ● 在Java代码里访问颜色变量:int color = getResources().getColor(R.color.red)

7、主界面类MainActivity

  • 声明变量
  • 通过资源标识符获取控件实例
  • 访问字符串资源按钮单击事件处理方法
  • 访问字符串数组资源按钮单击事件处理方法
  • 改变背景色按钮单击事件处理方法
  • 改变背景图片按钮单击事件处理方法
  • 播放音乐按钮单击事件处理方法

8、启动应用,查看效果

9、优化代码说明

  • 初始化颜色数组,不放在事件处理方法里,放在onCreate方法里
  • 初始化图片数组,不放在事件处理方法里,放在onCreate方法里

三、访问安卓平台资源

  • 安卓包含大量标准资源,比如图片、样式、主题和布局。
  • 要访问这些资源,需要在资源引用前加上android包名,比如访问res/drawale-mdpi/btn_check_off.png资源,在布局资源文件里利用android.R.drawable.btn_check_off即可访问。

四、课后作业

任务:制作个人相册

  • 做一个简单的个人相册,提供【上一张】与【下一张】按钮来切换图片,并配上优美的背景音乐。
  • 当切换到第一张图片,如果再单击【上一张】,那么切换到最后一张图片;
  • 当切换到最后一张图片,如果再单击【下一张】,那么切换到第一张图片。
  • 要求每张图片下面有文字说明。

安卓学习笔记15:使用安卓应用程序资源相关推荐

  1. 安卓学习笔记14:安卓手势操作编程

    文章目录 零.学习目标 一.安卓手势操作原理 二.安卓手势类与接口 1.MotionEvent 2.GestureDetector 3.OnGestureListener 三.教学案例--利用手势切换 ...

  2. 安卓学习笔记13:安卓触摸事件

    文章目录 零.学习目标 一.安卓触摸事件概述 1.触摸分类 2.触摸动作 3.触摸监听器 4.触摸方法 5.触点个数与坐标 二.安卓单点触摸 三.教学案例--通过单点触摸移动米老鼠 (一)运行效果 ( ...

  3. 安卓学习笔记04:安卓平台架构

    文章目录 零.学习目标 一.安卓平台架构 (一)安卓平台架构简述 1.Linux 内核 2.硬件抽象层 (HAL) 3.安卓运行时(Android Runtime) 4.原生 C/C++ 库 5.Ja ...

  4. 安卓学习笔记12:安卓按键事件

    文章目录 零.学习目标 一.安卓界面事件 (一)安卓常用事件 1.单击事件 2.焦点事件 3.按键事件 4.触碰事件 (二)安卓事件处理方式 1.基于回调的事件处理机制 2.基于监听的事件处理机制 二 ...

  5. 安卓学习笔记03:安卓应用目录结构

    文章目录 零.学习目标 一.安卓应用视图 1.Project视图 2.Package视图 3.Android视图 二.安卓应用目录结构 (一)项目清单目录 - manifests (二)Java源程序 ...

  6. 安卓学习笔记 1.1 安卓Android Studio应用

    ​ Android Studio下载安装.创建第一个APP上课笔记步骤: 一.下载Android Studio 二.安装Android Studio 三.配置Android Studio 四.创建第一 ...

  7. 2020年安卓学习笔记目录

    文章目录 一.讲课笔记 二.安卓案例 三.安卓实训项目 四.学生安卓学习博客 五.安卓课后作业 (一)界面设计练习 1.制作登录界面 2.制作部队管理界面 3.制作灭火救援界面 4.制作交付界面 5. ...

  8. 安卓学习笔记07:事件处理、窗口跳转与传递数据

    文章目录 零.学习目标 一.三个基本控件 1.标签控件(TextView) 2.编辑框控件(EditText) 3.按钮控件(Button) 二.安卓事件处理机制 (一)安卓事件处理概述 (二)安卓事 ...

  9. 很low的安卓学习笔记(一、实用技巧)

    很low的安卓学习笔记(一.实用技巧) 一.学习了几天的实用技巧小总结: 1.规范的定义内容的格式: 2.一些快捷键 3.将xxx.xml布局改为Activity中可以调用的View视图 4.当左下角 ...

最新文章

  1. centos 配置bond_Linux CentOS 7 多网卡配置bond模式 bond1 bond5 bond6
  2. ubuntu14.04LTS openssh-server 手动安装配置步骤
  3. sql 执行顺序_10个简单步骤,完全理解SQL
  4. 2021-10-7 !二叉树的前序、中序、后序遍历 (递归版本)
  5. 用计算机计算的手抄报内容,关于数学计算手抄报
  6. 自定义类在PropertyGrid上的展示方法
  7. 深入理解及配置ISA Server 2006访问规则
  8. python cannot import name main_virtualenv: cannot import name 'main'
  9. lamp兄弟连的解决问题套路
  10. ICA算法的数学原理
  11. 西安理工大学计算机科学与技术分数线,2017西安理工大学各专业录取分数线
  12. 第二人生的源码分析(十九)人物组合显示
  13. Windows下的SysWow64和System32
  14. Echarts 飞线图
  15. iOS视频转Gif(附example code)
  16. 亲测苹果CMS简洁精美影视模板整站源码+带视频教程
  17. keep sb updated_keep me updated是什么意思
  18. Ubuntu下能连上无线但不能上网
  19. python输出间隔符号_间隔符号?
  20. 实战演练-抽奖程序(C#)(第一部分)

热门文章

  1. 带着canvas去流浪系列之八 碰撞
  2. mysql 数据目录更换_更改Mysql数据目录,这个坑你可能也趟过~
  3. Android笔记 杀死进程demo
  4. 简述java的异常处理机制_简述java异常处理机制
  5. spikingjelly中的ANN2SNN程序20201221是好使的
  6. qq批量登录软件_把微信PC版越甩越远!QQ电脑版这些新功能太良心
  7. MarkDown中的表格在jekyll的pages博客中不能正常显示
  8. oracle切换sqlserver,ORACLE语法转换成sqlserver,该如何解决
  9. java行转列_Java后端面试标准:如何准备一场后端面试?
  10. java 内存泄漏问题_JAVA内存泄漏问题处理方法经验总结