Android数据存储——SQLite

SQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中。它是D.RichardHipp建立的公有领域项目。它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如 Tcl、C#、PHP、Java等,还有ODBC接口,同样比起Mysql、PostgreSQL这两款开源的世界著名数据库管理系统来讲,它的处理速度比他们都快。(摘自百度百科

Read more
第一个Android工程——HelloWord

1 创建工程

打开AndroidStudio程序,首页如下图:

  1. 创建新的 AndroidStudio 工程。
  2. 打开已有的 AndroidStudio 工程。
  3. 从版本控制器导出工程。
  4. 分析或调试 APK。
  5. Gradle/Eclipse 工程导入。
  6. 导入 Android 代码示例。

选择创建新的工程:

支持创建手机、平板、穿戴设备、电视等多个平台的工程。入门阶段选择第一个就好。 任意选一个Activity模板,例如:BasicActivity。

输入项目名称,包名,保存的位置以及兼容的最低系统版本,图中是 API 15,Android 4.0.3 版本。支持 JavaKotlin 两种编程语言。

完成之后,会下载部分依赖的组件,如图:

最后,进入工程页面,图中正在下载 gradle 4.10.1 版本。

如果在下载 gradle 的时候遇到等了很久却下载失败的情况。

可以复制下载的地址,使用浏览器或迅雷等工具下载。下载成功之后,将 zip 文件复制到到相同版本名称的目录下,请忽略随机串。

图中是正确配置的结果,需要手动 解压 zip 文件,并删除 part 文件,最后新建一个 ok 文件,保证 lck 文件 和 ok 文件都是 0 KB。

重启 AndroidStudio ,会自动跳过 gradle 下载。除非修该改 gradle-wrapper.properties 中的 gradle 版本。

初次编译时,需要等待一段时间下载工程依赖的第三方库,编译成功之后,注意图中标记处的前后对比。

2 连接手机

如果,你是一只计算机小白,那么这个地方可能让你头大,笔者曾经也是这么过来的。强烈推荐在电脑上安装豌豆荚,其他类手机助手软件也可以。助手软件会帮助你安装好手机驱动,提示你打开开发者模式。

如果,你是计算机高手,那么可以自行安装手机驱动程序,使电脑能够访问手机数据存储。其次,自行百度具体品牌手机,打开开发者模式的方式。

至于,使用 Mac 和 Linux 的小伙伴们大可放心。因为 Android 和 Mac 都使用 Linux 内核,因此 Android 设备和 Mac/Linux 系统可以很方便的进行连接,不需要单独安装驱动。但是,打开开发者选项USB调试的方式,同上。

3 打开开发者模式

通用步骤:设置 -> 关于手机 -> 系统信息 中反复点击版本号直至提示开发者模式已经开始。回到设置页面,可以找到开发者选项菜单。进入开发者选项配置页面,打开USB调试

重新插拔手机,弹出窗口,提示需要授权电脑进行调试手机。

如果是自己的电脑,建议勾选底部的一律允许使用这台计算机进行调试。

oppo 手机比较恶心,每隔一段时间,会自动终止 adb 服务,并关闭 USB 调试。需要重新打开。当遇见 OV 系列的手机,出现连不上手机的情况或者联上手机但无法进行调试的情况,请检查开发者选项USB调试开关。

小米手机打开开发者模式的方式有些特殊,等有机会使用小米手机再举例。

4 使用模拟器

5 运行工程

点击 app 右边的三角形,运行程序。在弹出的框中选择真机或模拟器。

Demo 成功运行起来之后的样子,如下图。

创建好 Demo 工程,并正确编译运行之后,若想对 AndroidStudio 工程的各个目录和文件有更深刻的认识,请阅读[从零构建Android工程](/blog/2018-11-29/)

觉得有用?那打赏一个呗。[去打赏](/donate/)


ADB 命令总结

adb 命令全称 Android Debug Bridge。顾名思义,即 Android 开发中调试的桥梁。尽管 AndroidStudio 已经集成了很多功能,以及包括 adb 命令的常用用法,如:安装 apk 文件,查看日志等。但是,掌握下面的常用命令,可以让您在开发过程中起到事半功倍的效果。

Read more
使用OpenGrok阅读源码

本想本周再写一篇关于Android的文章, 却忘了带工作电脑的充电器。上周主要从事了安卓源码的阅读工作,那么今天就来分享下Android源码的阅读总结。不要天真的以为这是篇介绍安卓源码的文章,毕竟一周的时间不足以产生更多的心得体会,而是介绍一种阅读源码的利器——OpenGrok。工欲善其事必先利其器!!!

Read more
NDK开发入门终极教程

NDK技术的渊源始于3年前,使用so文件的时候了解到NDK技术,并且C语言一直是强项,就鼓捣起NDK开发。在AndroidStduio还没推广的年代,基于eclipse搭建NDK开发环境需要安全依赖开发工具,并且调试起来具备难度。随后AndroidStudio也先后支持nkd-buildcmake使用NDK开发。

Read more
使用Android Profiler 做性能分析及优化

做Android开发五年,开发工具从最初的eclipse+ADT插件到AndroidStduio。Google更是在新版的AndroidStudio中集成了Android应用性能分析利器——**Profile**。

Read more
使用PlantUML绘制类图

本文基于sublime的PlantUML插件绘制类图。如需了解插件安装,请点击[Sublime安装PlantUML插件](/004)

Read more
Sublime安装PlantUML插件

1 安装 graphviz

Graphviz的是AT&T Labs Research开发的图形绘制工具,他可以很方便的用来绘制结构化的图形网络,支持多种格式输出,生成图片的质量和速度都不错。(摘自百度百科

Mac 安装 graphviz只需一条命令。

brew install graphviz

2 安装Sublime Text

笔者使用的文本编辑工具比较多。VScodeAtomSublimeUltraEdit。其实都没有掌握太高深的用法,只觉得哪个好用就用哪个。

下载地址见官网

3 安装PlantUml

这其实是一个支持安装Sublime的插件,支持VScode等其他文本编辑工具。

打开Package Control,输入install

选中Install Package后,在新页面输入plantuml

点击PlantUMLDiagrams进行安装。

4 配置快捷键

安装后,配置好快捷键,按照图中步骤,配置默认快捷键。

粘贴以下内容,将可以使用command+m快捷键显示UML图片。

[ 
{"keys": ["super+m"], "command": "display_diagrams"}
]

5 添加依赖jar

切记,最后一步,需要指定plantuml.jar,不然将生成不了最终的UML效果图片。

并提示:No diagrams overlap selections.Nothing to process。

plantuml.jar下载地址

将下载下来的jar文件复制到**Application Support/Sublime Text 3/Packages/PlantUmlDiagrams/diagram/**目录下

6 设置语法高亮

在页面右下角,选择需要高亮的语法,推荐PlantUmlDiagrams->Diagram。

7 验证

1
2
3
4
5
6
@startuml

class A
note right: 这是测试类 A

@enduml

复制上面的内容,command+m生成下面的图片。

注:*针对中文乱码的情况,可以添加utf-8编码支持。

修改标记的文件最后一行"charset": null"charset": "UTF-8"

觉得有用?那打赏一个呗。[去打赏](/donate/)


给AndroidStudio工程添加依赖

前一篇博客详细讲了怎样创建一个安卓工程,见[从零构建Android工程](/001),今天在它的基础上演示怎样对主工程添加依赖。

Read more
Git常用命令

init

毫无疑问,这是学习git使用的第一个命令。在本地初始化git仓库。

1
2
cd Demo
git init

表示切换到Demo目录并在该目录初始化git仓库。会生成.git文件夹。

如图,是一个Android初始工程目录,创建git仓库后多出.git文件夹。

status

查看仓库中文件状态。

1
git status

图中表示全部文件均未添加至仓库,无需要提交至仓库文件。

有些不需要提交至仓库的文件,可以添加到.gitignore文件中。

.gitignore文件内容:

.idea
.gradle
gradle
gradlew
gradlew.bat
local.properties
build
*.iml

add

添加文件至仓库。

1
2
3
4
git add <file> # 添加一个文件至仓库
git add <file1> <file2>... # 添加多个文件至仓库
git add . # 添加全部文件至仓库
git add -f <file> # 强制将已忽略的文件添加至仓库

可以每次只添加一个文件(夹),也可以每次添加多个文件(夹)。甚至可以使用git add . 添加全部文件(夹)至仓库。

最新添加至仓库的文件(夹)会有new file标记。

在未commit之前,修改文件,也能看见修改标记。

commit

提交文件至仓库。

1
2
git commit -m 描述 #提交已在仓中的文件,不包括修改的内容
git commit -am 描述 #提交已在仓库中的文件,包括修改的内容

创建三种场景:

  1. 三个新文件。
  2. 其中一个文件修改过。
  3. 还有个文件夹未添加至版本库。

执行commit命令之后,再次查看提交前后的状态发现,修改的文件和为添加至版本库的文件没有提交。准确说,修改文件中的修改内容未提交至版本库。

log

提交记录

1
2
git log # 查看提交记录
git log --pretty=oneline # 查看精简后的提交记录

每条提交记录都对应一条40字节的id,该id在后面有很大用途。

branch

分支管理

1
2
3
4
5
git branch # 查看全部分支,当前分支会有标记
git branch name # 创建名称为name的分支
git checkout name # 将分支切换到name
git checkout -b name # 创建并切换到name分支
git branch -d name # 删除name分支

图中依次显示了上述指令用法。需要注意,删除指定分支时,不可以删除被checkout的分支。

tag

标签管理

1
2
3
4
5
6
git tag # 查看全部标签
git tag name # 创建name标签
git tag name -m 描述 # 创建name标签,并指定描述
git tag name id # 在指定的提交id上创建标签,id 只需要写前几位
git tag -d name # 删除name标签

演示了创建标签,在指定id上创建标签,查看标签,删除标签。

查看标签信息。

查看自定义描述的标签信息。

remote

1
2
3
4
5
6
7
8
# 将本地仓库关联到远程库
# 远程库名称 origin
# git@github.com:user/project.git表示远程仓库地址。
git remote add origin git@github.com:user/project.git
# 查看本地仓库关联的远程仓库
git remote -v
# 删除远程仓库
git remote rm origin

如果需要同时关联多个远程仓库,如 GitHub 和 码云。

1
2
3
4
# 远程仓库名 github 关联到 github 仓库
git remote add github git@github.com:user/project.git
# 远程仓库名 gitee 关联到 gitee 仓库
git remote add gitee git@gitee.com:user/project.git

push

1
2
git push origin master # 将 master 分支推送到远程库
git push --tags # 推送标签到远程服务

pull

1
2
// 拉取远程分支 branch1 到本地分支 branch2
git pull origin branch1:branch2