Android Studio
一、安装配置环境
安装JDK:参考 JAVA开发环境配置
安装Android Studio:参考https://www.runoob.com/android/android-studio-install.html
------------------------------------------------------------------------------------------------------------------------------------
二、目录结构
.gradle:Gradle编译系统
.idea:Android Studio IDE 所需文件
app:代码、资源
gradle:wrapper的jar和配置文件
.gitignore:git使用的ignore文件
build.gradle:gradle编译的配置文件(类似Makefile)
gradle.properties:gradle全局设置
local.properties:指定本机Android SDK路径,自动生成。
settings.gradle:指定项目中所有引入模块。
用于在命令行界面执行gradle命令,第一个是Linux/Mac,第二个是在Windows使用。
1)app子目录结构:
build:编译后文件位置,包括apk
libs:依赖库,第三方jar包(会被自动添加到构建路径)
src:源代码
proguard-rules.pro:指定项目代码的混淆规则。
2)src子目录结构:
java:放置所有java&Kotlin代码
AndroidManifest.xml:整个Android项目的配置文件
3)res的子目录结构:
drawable开头:放图片
mipmap开头:放应用图标
values开头:放字符串、样式、颜色等配置
layout开头:放布局文件
----------------------------------------------------------------------------------------
三、日志工具
(重要性依次递增)
Log.v() 级别最低
Log.d() 打印调试信息
Log.i()
Log.w() 打印警告信息
Log.e() 打印错误信息
---------------------------------------------------------------------------------------
四、Activity
设计:Android程序的设计讲究逻辑和视图分离,最好每一个Activity都能对应一个布局。
底层调用:Android是使用任务(task)来管理Activity的,一个任务就是一组存放在栈里的Activity的集合,这个栈也被称作返回栈(back stack)。
每当我们按下Back键或调用finish()方法去销毁一个Activity时,处于栈顶的Activity就会出栈,前一个入栈的Activity就会重新处于栈顶的位置。 系统总是会显示处于栈顶的Activity给用户。
启动模式:
- standard:对于使用standard模式的Activity,系统不会在乎这个Activity是否已经在返回栈中存在,每次启动都会创建一个该Activity的新实例。
- singleTop:在启动Activity时如果发现返回栈的栈顶已经是该Activity,则认为可以直接使用它,不会再创建新的Activity实例。
- singleTask:每次启动该Activity时,系统首先会在返回栈中检查是否存在该Activity的实例,如果发现已经存在则直接使用该实例,并把在这个Activity之上的所有其他Activity统统出栈,如果没有发现就会创建一个新的Activity实例。
- singleInstance:会有一个单独的返回栈来管理这个Activity,不管是哪个应用程序来访问这个Activity,都共用的同一个返回栈,也就解决了共享Activity实例的问题。
生命周期:
| 回调 | 描述 |
| onCreate() | 活动第一次创建时调用 |
| onStart() | 活动为用户可见时被调用 |
| onResume() | 应用程序与用户开始可交互的时候调用 |
| onPause() | 当前活动将要被暂停,上一个活动将要被恢复时调用 |
| onStop() | 当活动不在可见时调用 |
| onDestroy() | 当活动被系统销毁之前调用 |
| onRestart() | 当活动被停止以后重新打开时调用 |
Toast
Toast是Android系统提供的一种非常好的提醒方式。 在程序中可以使用它将一些短小的信息通知给用户,这些信息会在一段时间后自动消失,并且不会占用任何屏幕空间。
Menu
Menu提供了一种机制,可以让界面中的菜单项在默认情况下不显示。 只有当用户主动点击了菜单按钮时,才会弹出里面具体的内容,因此它不会占用任何Activity的空间。
Intent
Intent是Android程序中各组件之间进行交互的一种重要方式,它不仅可以指明当前组件想要执行的动作,还可以在不同组件之间传递数据。 显式Intent可以用于明确指定启动某个Activity
五、