目录
一、基于AndroidStudio配置SonarLint
1.首先从SonarQube官网https://www.sonarsource.com/products/sonarqube/上下载SonarQube软件包。(这边下载的是8.9.10版本)
2.解压后运行bin\Window-x86-64目录下的StartSonar.bat文件启动SonarQube服务器(本机为Windows64位操作系统)。
运行至出现如下图输出时表示服务器已经建立:
3.访问http://localhost:9000并使用账户admin进行登陆,成功后即连接上SonarQube服务器。
输入账号密码后,进入如下图的界面:
点击创建项目,添加项目密钥:
生成令牌:
4.为了方便在本地的AndroidStudio中进行代码质量分析,下一步在AndroidStudio中配置SonarLint插件,该插件可以按照SonarQube中的规则对代码进行分析。
选择Settings中的Plugins搜索SonarLint插件进行下载:
绑定SonarQube:
选择Settings中的Tools的SonarLint,点击+号,绑定服务器:
点击下一步,可以选择Token方式登录或者用户密码的方式登录,输入Token或是账号密码即可:(这里选择账号密码)
配置本地端和服务端建立远端关联:
Android App构建脚本配置:
在工程的build.gradle添加以下语句:
maven {url "https://plugins.gradle.org/m2/"}
classpath "org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:3.0"
如下图:
在App的build.gradle添加以下语句:
apply plugin: 'org.sonarqube'
sonarqube {
properties {
//Sonar服务器地址
property "sonar.host.url", "*****************************"
//Token模式
property "sonar.login","**********************************"
//账号密码模式
//property "sonar.login","*******"
//property "sonar.password","******"
property "sonar.sourceEncoding", "UTF-8"
property "sonar.projectKey", "Android_DuoApp"
property "sonar.projectName", project.name
//需要扫描的上传检测代码的模块,可以选择也可以配置哪一些需要或者不需要上传的模块(这里指APP模块下面的java包里面的全部)
property "sonar.sources", "src/main/java"
property "sonar.projectVersion", project.version
}}
如下图:
执行扫描并且上传分析
在终端使用命令./gradlew sonarqube:
build成功:
build成功之后就可以检查服务器端:
二、顺序图
2.1 概念
述参与者或子系统之间自上而下(时间维度)的交互。交互主要通过对象之间发送消息来实现。顺序图也可以用来展示出用例图的行为顺序,当参与者执行/触发一个用例时,都会有一条消息从触发者发送给接收者,从而引起状态转换。因为顺序图是按照时间顺序现实对象之间的交互,所以顺序图只能应用于顺序逻辑中,对于并发、异步等场景显得无能为力。
2.2 顺序图元素
顺序图有四部分:参与者/对象、生命周期线、激活期和消息。
2.3 顺序图
三、类图
3.1 ui里的继承类间关系
3.2 ui里的实现类间关系
3.3 data的类之间的调用关系图
3.4 gtask的类之间的调用关系图
四、精读部分的代码标注
4.1 data包
- contact.java ( 获取联系人信息)
用于从Android设备上的联系人数据库中获取特定电话号码对应联系人姓名的Java类
这段代码的时间复杂度主要取决于数据库查询操作的效率,假设查询操作的平均时间复杂度为O(n),n为数据库中联系人的数量,那么整体的时间复杂度也可以认为是O(n)。
2. Notes.java (定义一些常量和标识符)
这个Notes