安卓开发特色
四大组件
activity是所有Android应用程序的门面,凡是应用中看得到的东西,全部放在activity中
service无法看到,但它会一致在后台默默的运行,即使用户退出了应用,service仍然是可以继续运行的
broadcast receiver允许你的应用接收来自各处的广播消息,比如电话、短信等。当然,你的应用也可以向外发出广播消息
content provider则为应用程序之间共享数据提供了可能,比如你想要读取系统电话本中的联系人,就需要通过content provider来实现
丰富的系统控件<br>
各种布局控件
还可以自定义控件
SQLite数据库
轻量级、运算速度极快的嵌入式关系型数据库
它不仅支持标准的SQL语法
强大的多媒体<br>
音乐、视频、录音、拍照、闹铃
地里位置定位<br>
使用日志工具Log
为什么使用Log
因为android studio有logcat方便查询
有级别过滤器
简介
Android系统是目前世界上市场占有率最高的移动操作系统<br>
2003年10月,Andy Rubin等人一起创办了Andorid公司<br>
2005年8月,谷歌收购了这家仅仅成立了22个月的公司,并让Andy Rubin继续负责Android项目<br>
2008年推出了Android系统的第一个版本<br>
仅仅推出2年Android就超过了已经霸占市场逾十年的Symbian<br>
由于谷歌开放政策,任何厂商个人都能免费获取到Andorid操作系统源码,自由定制,迎来了春天<br>
项目目录分析
.idea
自动生成的文件,无须关心,也不用手动编辑
app
项目中的代码,资源文件,主要工作目录
androidTest
编写Android Test测试用例,可以对项目进行一些自动化测试
res
资源目录
xml
xx-hdpi,xhdpi,xxhdpi
不同分辨率显示不同的布局
AndroidManitest.xml
项目配置文件,声明四大组件,给程序添加权限
activity标签代表对活动进行注册<action android:name="android.intent.action.MAIN"></action>
android.intent.action.MAIN<br>
启动页面
android.intent.category.LAUNCHER
test
单元测试,对项目进行自动化测试的另外一种方式
.gitignore
将app模块内的指定的目录文件排除在版本控制之外<br>
build.gradle
app模块的gradle构建脚本,一般引用依赖库,框架等
内层gradle
apply plugin: 'com.android.application'
应用程序模块
android闭包
compileSdkVersion<br>
编译版本
buildToolsVersion
用于指定项目构建工具的版本
defaultConfig闭包
minSdkVersion
最低兼容的Android系统版本
buildTypes闭包<br>
release闭包
proguardFiles
混淆规则
getDefaultProguardFile('proguard-android.txt')
通用混淆规则 SDK目录下
'proguard-rules.pro'
当前目录下
dependencies闭包
指定当前项目所有的依赖关系
库依赖
对项目中的库添加依赖关系
声明方式 implementation project(':filedialog')
远程依赖
可以对jcenter库上的开源项目添加依赖关系
implementation fileTree(dir: 'libs', include: ['*.jar'])
本地依赖声明,表示libs目录下所有.jar后缀文件都添加到项目的构建路径当中
implementation 'com.android.support:appcompat-v7:28.0.0'
implementation远程依赖声明<br>
com.android.support是域名部分
appcompat-v7是组件部分
28.0.0版本号
testImplementation 'junit:junit:4.12'
声明测试用例的库一般用不到
proguard-rules.pro
混淆规则,当发布apk时,不希望代码被人破解,通常进行混淆,让破解者难以阅读
gradle
包含gradle wrapper的配置文件,根据缓存情况是否联网下载gradle
.gitignore
用来讲指定的陆慕或文件排除在版本控制之外的
build.gradle<br>
项目全局的gradle构建脚本,通常不需要修改
是一个非常先进的项目构建工具
基于Groovy的领域特定语言(DSL)来声明设置
Groovy是一种基于JVM(Java虚拟机)的敏捷开发语言,它结合了Python、Ruby和Smalltalk的许多强大的特性,Groovy 代码能够与 Java 代码很好地结合,也能用于扩展现有代码
外层build.gradle
jcenter()<br>
代码托管库,可以引用jcenter上开源的项目
classpath 'com.android.tools.build:gradle:3.4.0'
因为gradle并不是专门构建Android项目而开发的,Java C++等都可以使用Gradle来构建
最后面是版本号
gradle.properties
全局的gradle配置文件,在这里配置的属性将会影响项目中所有的gradle编译脚步
gradlew
Linex或Mac系统中使用,执行gradle命令
gradlew.bat
在windows系统中使用,执行gradle命令
local.properties
指定本机SDK路径,自动生成,一般无须关心
*.iml<br>
标识这是一个IntelliJ IDEA项目 ,无须关心
IDEA 全称 IntelliJ IDEA,是java编程语言开发的集成环境
settings.gradle
指定项目引入模块,一般都是自动生成无须手动改