文章目录

  • 目标
  • 一、资源的管理与使用
  • 1.1 图片资源
  • 1.2 主题和样式资源
  • 1.3 布局资源
  • 1.4 字符串资源
  • 1.5 颜色资源
  • 定义颜色值
  • 1.6 尺寸资源
  • Android支持的尺寸单位
  • 二、程序调试
  • 2.1 单元测试
  • 2.2 注意
  • 2.3 Logcat的使用


目标

  1. 掌握资源的管理与使用方式,能够灵活使用程序中的资源
  2. 掌握单元测试与Logcat的使用,能够完成对程序的调试

一、资源的管理与使用

<!-- 调用styles.xml文件中定义的主题  -->
        android:theme ="@style/AppTheme"

    <!-- 引用res/values/styles.xml文件中的主题和样式资源 -->
        style="@style/textViewStyle"

    <!--调用res/values/strings.xml文件中的字符串资源-->
        @string/app_name

    <!--调用res/values/colors.xml文件中的颜色资源-->
        @color/colorPrimary

    <!--调用res/values/dimens.xml文件中的尺寸资源-->
        @dimen/activity_horizontal_margin

1.1 图片资源

调用图片资源的方式有两种,具体如下:

(1)通过Java代码调用图片资源

//调用mipmap文件夹中资源文件
   getResources().getDrawable(R.mipmap.ic_launcher);
   //调用以drawable开头的文件夹中的资源文件
   getResources().getDrawable(R.drawable.icon);

(2) 在XML布局文件中调用图片资源

@mipmap/ic_launcher   		//调用mipmap文件夹中的资源文件
   @drawable/icon              //调用以drawable开头的文件夹中的资源文件

1.2 主题和样式资源

主题:包含一种或多种格式化属性的集合,在程序中调用主题资源可改变窗体的样式。

主题资源定义位置:在res/values/styles.xml文件中

定义主题资源的标签:

<style></style>:定义主题的标签
  <item></item>:设置主题样式的标签
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
  </style>

想要调用styles.xml文件中定义的主题,可以在AndroidManifest.xml文件中设置,也可以在代码中设置。

(1)在AndroidManifest.xml文件中设置主题

android:theme ="@style/AppTheme"

(2)在Java代码中设置主题

setTheme(R.style.AppTheme);

样式:设置View的宽度、高度和背景颜色等信息。

样式资源定义位置:res/values目录下的styles.xml文件中

样式的标签:

<style></style>:定义样式的标签
  <item></item>:设置控件样式的标签

在XML布局文件中引用样式

style="@style/textViewSytle"

1.3 布局资源

布局资源:通常用于搭建程序中的各个界面。

存放位置:res/layout文件夹中

调用布局资源的方式有2种:

(1)通过Java代码调用布局资源文件

//在Activity的onCreate()方法中调用activity_main.xml布局文件
  setContentView(R.layout.activity_main);

(2)在XML布局文件中调用布局资源文件

//在XML布局文件中调用activity_main.xml布局文件
  <include layout="@layout/activity_main"/>

1.4 字符串资源

字符串:用于显示界面上的文本信息。

定义位置:res/values/strings.xml文件中

字符串标签:

<string></string>:定义字符串的标签
  <resources>
      <string name="app_name">字符串</string>
 </resources>

调用字符串资源的方式有2种:

(1)通过Java代码调用字符串资源

getResources().getString(R.string.app_name);

(2)在XML布局文件中调用字符串资源

@string/app_name

1.5 颜色资源

颜色:用于显示控件的不同色彩效果。

定义位置:res/values/colors.xml文件中

颜色标签:

<color></color>:定义颜色的标签
<resources>
       <color name="colorPrimary">#3F51B5</color>
  </resources>

调用颜色资源的方式有2种:

(1)通过Java代码调用颜色资源

getResources().getColor(R.color.colorPrimary);

(2)在XML布局文件中调用颜色资源

@color/colorPrimary

定义颜色值

在Android中,颜色值是由RGB(红、绿、蓝)三原色和一个透明度(Alpha)表示,颜色值必须以“#”开头,“#”后面显示Alpha-Red-Green-Blue形式的内容。其中,Alpha值可以省略,如果省略,表示颜色默认是完全不透明的。

一般情况下,使用以下4种形式定义颜色

android 移动应用到前台 android 移动应用基础教程_android 移动应用到前台

1.6 尺寸资源

尺寸:用于设置View的宽高和View之间的间距值。

尺寸资源定义位置:res/values/dimens.xml文件中,如果程序中没有dimens.xml文件,可自行创建。

尺寸的标签:

<dimen></dimen>:定义尺寸的标签
<resources>
       <dimen name="activity_horizontal_margin">16dp</dimen>
  </resources>

调用尺寸资源的方式有2种:

(1)通过Java代码调用尺寸资源

getResources().getDimension(R.dimen.activity_horizontal_margin);

(2)在XML布局文件中调用尺寸资源

@dimen/activity_horizontal_margin

Android支持的尺寸单位

尺寸单位:

px(pixels,像素):每个px对应屏幕上的一个点。

dp(Density-independent Pixels,设备独立像素):是一种与屏幕密度无关的尺寸单位。

sp(scaled pixels,比例像素):主要处理字体的大小,可以根据用户字体大小首选项进行缩放。

in(inches,英寸):标准长度单位。

pt(points,磅):屏幕物理长度单位,1磅为1/72英寸。

mm(Millimeters,毫米):屏幕物理长度单位。

二、程序调试

2.1 单元测试

单元测试是指在Android程序开发过程中对最小的功能模块进行测试,单元测试包括Android单元测试和Junit单元测试。

  • Android单元测试:
  1. 该测试方式执行测试的时候需要连接Android设备。
  2. 速度比较慢。
  3. 适合需要调用Android API的单元测试。
  • Junit单元测试:
  1. 该测试方式不需要依赖Android设备,在本地即可运行。
  2. 速度快。
  3. 适合只对Java代码功能进行的单元测试。

Android Studio 3.2版本在创建项目时,会默认在app/src/androidTestapp/src/test文件夹中创建Android单元测试类ExampleInstrumentedTest和Junit单元测试类ExampleUnitTest。

(1) Android单元测试类ExampleInstrumentedTest

  • 使用@RunWith(AndroidJUnit4.class)注解ExampleInstrumentedTest类
  • @Test注解类中的方法
package cn.itcast.helloworld;
 @RunWith(AndroidJUnit4.class)	  //注解类
 public class ExampleInstrumentedTest {
      @Test		//注解方法
      public void useAppContext() {
          // Context of the app under test.
          Context appContext = InstrumentationRegistry.getTargetContext();
      //断言,期望两个参数值相等
          assertEquals("cn.itcast.helloworld", appContext.getPackageName());
      }
 }

(2)Junit单元测试类ExampleUnitTest

  • @Test注解类中的方法
package cn.itcast.helloworld;
public class ExampleUnitTest {
    @Test	//注解方法
    public void addition_isCorrect() {
    //断言,期望两个参数值相等    
        assertEquals(4, 2 + 2);
    }
}

2.2 注意

Android Studio 3.2版本在创建项目时,会自动在build.gradle文件中添加单元测试的支持库,如果在进行单元测试时,程序中的build.gradle文件中没有添加单元测试的支持库,则需要手动进行添加。

dependencies {
    ......
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.2'
    androidTestImplementation  
                             'com.android.support.test.espresso:espresso-core:3.0.2'
}

2.3 Logcat的使用

LogCat是Android中的命令行工具,用于获取程序从启动到关闭的日志信息。

Log类所输出的日志内容分为六个级别。

级别

Log类中的静态方法

Verbose

Log.v()

Debug

Log.d()

Info

Log.i()

Warning

Log.w()

Error

Log.e()

Assert

Log.wtf()

Log.v("MainActivity", "Verbose");	//MainActivity打印信息的标签	Verbose需要打印的信息
Log.d("MainActivity","Degug");
Log.i("MainActivity","Info");
Log.w("MainActivity", "Warning");
Log.e("MainActivity", "Error");
Log.wtf("MainActivity","Assert");

android 移动应用到前台 android 移动应用基础教程_android 移动应用到前台_02

LogCat区域中日志信息根据级别不同显示不同的颜色

级别

显示信息

日志信息颜色

verbose(V)

全部信息

黑色

debug(D)

调试信息

蓝色

info(I)

一般信息

绿色

warning(W)

警告信息

橙色

error(E)

错误信息

红色

assert

断言失败后的错误消息

红色