第一节:了解Android开发
1.通用常识
1.如何创建activity或者module
2.如何进行真机调试
USB线的连接+手机的驱动程序+USB调试开启+传输文件模式允许手机调试app+保持解锁状态
3.JAVA语言
在android的开发中的作用
创建新项目的时候是默认了JAVA语言的,虽然android开发需要JAVA环境,但是并不需要实现安装jdk,因为androidstudio内置了JRE,JRE进行复习:JRE(Java runtime enviroment)是Java的运行环境,总的来说它是一个软件,支持JAVA代码的运行,主要是由JVM(Java virtual machine:Java虚拟机),Java类库和其他必要文件组成,而JAVA虚拟机是它的核心组件,负责将Java字节码转换成特定计算机可以执行的代码,Java字节码是JAVA源代码经过编译形成的中间代码,还不能在特定的计算机中运行,除此之外Java类库提供了强大的方法可以使JAVA在许多场景下实现特定需求。
android自带的Java运行环境就是在android自带的jre下运行的。
android studio自带的jdk是java7,如果我们需要让他支持JAVA7以上的版本需要在如下的页面进行修改
4.kotlin语言
kotlin是谷歌力推的变成语言,它与JAVA一样是基于jvm的一个语言
5.c/c++
c/c++属于编译型语言,因为这个所以在图像或者音视屏处理的时候就会暴露性能的瓶颈,JNI技术允许java代码调用c/c++编写的程序,android的sdk有许多底层代码就是用c/c++来编写的
6.xml
xml是一种可扩展的编辑语言,在写页面的时候需要它
2.项目架构回忆
build.gradle
我们可以看到gradle文件分为整个项目的和模块的,也就是说模块可以自定义编译规则
项目的gradle如下:
plugins {
//
id 'com.android.application'
}
android {
//指定编译用的sdk版本号
compileSdkVersion 32
//指定编译工具的版本号。这里头两位数字必须与compileSDKVersion有关
buildToolsVersion "32.0.0"
defaultConfig {
//指定模块的应用编号,也就是APP包名
applicationId "com.example.shixi1"
//适合运行的最小SDK编号
minSdkVersion 29
//指定目标设备的SDK编号,表示最好在什么版本下的android手机下运行
targetSdkVersion 32
//指定APP的应用版本号
versionCode 1
//指定应用版本名臣
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
dependencies {
implementation 'androidx.appcompat:appcompat:1.1.0'
implementation 'com.google.android.material:material:1.1.0'
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
testImplementation 'junit:junit:4.+'
androidTestImplementation 'androidx.test.ext:junit:1.1.1'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
}
android项目由gradle工具完成编译构建工作
这是androidManifest.xml文件,其中红色框为activity页面的注册。
如果需要标为主页的话必须加上图示的anction标签和category标签
3.界面设计和代码逻辑
界面设计采用xml文件的格式,逻辑采用Java语言开发
界面和逻辑的分离是借鉴了web前端的开发模式,还有几点好处
- 使用xml文件如果需要看到直观的页面只需要点击design就能看到,而Java语言编写还需要编译才能看到。
- 一个页面可以被多处代码服用。
- 一段Java代码也可能适配多个界面布局,比如手机有竖屏或者横屏的模式,一段java代码可以适配竖屏页面,也可以适配横屏页面。
xml页面说明
这个就是页面设计的视图,最外面的标签是根节点,代表的是约束性布局,这个是根结点,下面挂着叶子结点
根结点必备:
xmlns:android="http://schemas.android.com/apk/res/android"
表示指定xml内部的命名空间,有了这个命名空间,android studio才会自动检测各个节点是否合法,如果不合法就会报错
app的逻辑页面首先需要先在布局文件里面找到这个控件,然后书写控制这个控件的具体逻辑。