探索 Android Studio (二)

·  阅读 35

携手创作,共同成长!这是我参与「掘金日新计划 · 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 的网络访问出现问题时,检查网络代理有没有设置正确的方式就是依次检查以上这几个地方。

在某个项目设置了代理后,打开项目时会提示是否将这个代理设置应用于全局,也就是这个弹窗:

image.png

如果点击了 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:

Live Templates

模板中这里可以自定义变量,点击 Edit variables 就可以定义变量的值了,变量支持一些语法规则。可以参考系统的 Live Templates 的编写方式,然后照葫芦画瓢,编写自己的 Live Templates。

分类:
Android
标签:
收藏成功!
已添加到「」, 点击更改