携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第4天,点击查看活动详情
介绍 Android Studio 的官方文档:developer.android.com/studio/intr…
设置代理
对某个项目的某个模块设置代理的方式是:在对应的 build.gradle 文件中设置:
apply plugin: 'com.android.application'
android {
...
defaultConfig {
...
systemProp.http.proxyHost=proxy.company.com
systemProp.http.proxyPort=443
systemProp.http.proxyUser=userid
systemProp.http.proxyPassword=password
systemProp.http.auth.ntlm.domain=domain
}
...
}
对整个项目的所有模块设置代理,需要在 gradle/gradle.properties 文件中设置:
# Project-wide Gradle settings.
...
systemProp.http.proxyHost=proxy.company.com
systemProp.http.proxyPort=443
systemProp.http.proxyUser=username
systemProp.http.proxyPassword=password
systemProp.http.auth.ntlm.domain=domain
systemProp.https.proxyHost=proxy.company.com
systemProp.https.proxyPort=443
systemProp.https.proxyUser=username
systemProp.https.proxyPassword=password
systemProp.https.auth.ntlm.domain=domain
...
对所有项目设置代理,需要在 %USERPROFILE%/.gradle/gradle.properties 文件中设置。
当 Android Studio 的网络访问出现问题时,检查网络代理有没有设置正确的方式就是依次检查以上这几个地方。
在某个项目设置了代理后,打开项目时会提示是否将这个代理设置应用于全局,也就是这个弹窗:
如果点击了 Yes,那么这个代理设置就会被添加到 %USERPROFILE%/.gradle/gradle.properties 文件中,如果某天这个代理配置用不了了,那么 Android Studio 打开的所有项目的网络访问都会出现问题。这时候就需要去 %USERPROFILE%/.gradle/gradle.properties 文件中将代理修改掉。
键盘快捷键
快捷键介绍:developer.android.com/studio/intr…
笔者常用的快捷键有:
- Main Menu | Edit | Find | Add Selection for Next Occurrence
- Main Menu | Window | Editor Tabs | Close
- Main Menu | Window | Editor Tabs | Close Other Tabs
- Main Menu | Refactor | Rename...
- Main Menu | Refactor | Rename File...
- Main Menu | Refactor | Extract/Introduce | Extract Method...
- Main Menu | Refactor | Extract/Introduce | Introduce Field...
- Main Menu | Code | Reformat Code
工作流
Android 开发者的自我修养:
总结起来就是:配好环境,写好代码,连上设备,完成测试,发布版本
库模块
库模块指的是 library module 或 aar 包。
构建工具会将库模块中的资源与相关应用模块的资源合并。如果这两个模块中都定义了给定的资源 ID,系统会使用应用中的资源。
如果多个 AAR 库之间发生冲突,系统会使用依赖项列表中首先列出的库(靠近 dependencies 块顶部)中的资源。
为了避免常用的资源 ID 发生资源冲突,请考虑使用对模块具有唯一性(或在所有项目模块之间具有唯一性)的前缀或其他一致的命名方案。
应用模块的 minSdkVersion 必须等于或大于库定义的版本:库是作为相关应用模块的一部分进行编译的,因此,库模块中使用的 API 必须与应用模块支持的平台版本兼容。
每个库模块都会创建自己的 R 类:在构建相关应用模块时,库模块会先编译到 AAR 文件中,然后再添加到应用模块中。因此,每个库都有自己的 R 类,并根据库的包名称命名。
库模块可以包含自己的 ProGuard 配置文件,并且需要通过 consumerProguardFiles 将混淆文件传递到应用模块中:
android {
defaultConfig {
consumerProguardFiles 'lib-proguard-rules.txt'
}
...
}
代码补全
代码补全可以说是非常实用的功能,比如输入 fbc 可插入 findViewById() 方法,输入 Toast 可插入 Toast.makeText(this, "", Toast.LENGTH_SHORT).show(); 方法。
Android Studio 允许自定义代码模板:File > Settings > Editor > Live Templates。
比如自定义头注释 head:
模板中这里可以自定义变量,点击 Edit variables 就可以定义变量的值了,变量支持一些语法规则。可以参考系统的 Live Templates 的编写方式,然后照葫芦画瓢,编写自己的 Live Templates。