测试类型和位置
测试代码的位置取决于您要编写的测试的类型。Android Studio 为以下两种类型的测试提供了源代码目录(源代码集):
本地单元测试
位于 module-name/src/test/java/。
这些测试在计算机的本地 Java 虚拟机 (JVM) 上运行。如果您的测试没有 Android 框架依赖项,或者您可以模拟 Android 框架依赖项,使用这些测试可以最大限度地缩短执行时间。
在运行时,这些测试的执行对象是去掉了所有 final 修饰符的修改版 android.jar。这样一来,您就可以使用 Mockito 之类的常用模拟库。
插桩测试
位于 module-name/src/androidTest/java/。
这些测试在硬件设备或模拟器上运行。这些测试有权使用 Instrumentation API,可让您获取某些信息(例如您要测试的应用的 Context),并且可让您通过测试代码来控制受测应用。在编写集成和功能界面测试来自动执行用户交互时,或者当您的测试具有模拟对象无法满足的 Android 依赖项时,可以使用这些测试。
由于插桩测试内置于 APK 中(与应用 APK 是分开的),因此它们必须拥有自己的 AndroidManifest.xml 文件。不过,由于 Gradle 在构建期间会自动生成此文件,因此它不会显示在您的项目源代码集中。您可以在必要时(例如需要为 minSdkVersion
指定其他值或注册测试专用的运行监听器时)添加自己的清单文件。构建您的应用时,Gradle 会将多个清单文件合并成一个清单。
添加新测试
要创建本地单元测试或插桩测试,您可以按照以下步骤针对特定类或方法创建新测试:
- 打开包含要测试的代码的 Java 文件。
- 点击要测试的类或方法,然后按 Ctrl+Shift+T 键 (⇧⌘T)。
- 在显示的菜单中,点击 Create New Test。
- 在 Create Test 对话框中,修改任何字段并选择要生成的任何方法,然后点击 OK。
- 在 Choose Destination Directory 对话框中,点击与要创建的测试所属的类型对应的源代码集:如果是插桩测试,请点击 androidTest;如果是本地单元测试,请点击 test。然后,点击 OK。
或者,您也可以在相应的测试源代码集中创建一个通用 Java 文件,具体操作步骤如下:
- 在左侧的 Project 窗口中,点击下拉菜单并选择 Project 视图。
- 展开相应的模块文件夹和嵌套的 src 文件夹。要添加本地单元测试,请展开 test 文件夹和嵌套的 java 文件夹;要添加插桩测试,请展开 androidTest 文件夹和嵌套的 java 文件夹。
- 右键点击 Java 软件包目录,然后依次选择 New > Java Class。
- 为文件命名,然后点击 OK。
此外,请务必在应用模块的 build.gradle 文件中指定测试库依赖项:
dependencies {
// Required for local unit tests (JUnit 4 framework)
testImplementation ‘junit:junit:4.12’
// Required for instrumented tests
androidTestImplementation ‘com.android.support:support-annotations:24.0.0’
androidTestImplementation ‘com.android.support.test:runner:0.5’
}
更多请查询Android开发者文档
五大布局
1,线性布局 LinearLayout orientation vertical Horizontal
2,相对布局 RalativeLayout
3,框架布局 FrameLayout margin外边距 padding内边距
4,表格布局 TableLayout
5,绝对布局 AbsoluteLayout Layout_x Layout_y
日志
文件操作
写
//最好通过获取上下文环境取得路径
//需要在调用函数时传入context
File file = new File(context.getFileDir().getAbsolutePath()+”/info2.txt”);
//直接创建写到是哦与目录的输出流
FileOutputStream fos =context.openFileOutput(“info3.txt”,Context.MODE_PRIVATE);
下面读操作同理
读
访问SD卡。
需要在清单文件中添加权限
判断SD卡状态
写入SD卡
获取SD卡空间大小
通过sharedpreferences保存数据(XML)
读
写
XML序列化(详细自己百度)