第二行代码第一章笔记
来源:互联网 发布:软件检测 编辑:程序博客网 时间:2024/05/29 09:40
第一章 开启启程
Android王国简介
Android系统架构
Linux内核层(Android系统是基于Linux内核的,这一层为Android设备的各种淫贱提供了底层的驱动)
系统运行库层(这一层通过一些C/C++库来为Android系统提供了主要的特性支持。同样在这一层的还有Android运行时库,提供了一些核心库,能够允许开发者使用Java语言来编写。另外Android运行时库中还包含了Dalvik虚拟机/ART运行环境,它使得每一个Android应用都能运行在独立的进程中,并且拥有一个自己的Dalvik虚拟机实例)
应用框架层(主要提供了构建应用程序时可能用到的各种API)
应用层(所有安装在手机上的应用程序都属于这一层)
Android系统版本机器详细信息
Android应用开发特色(四大组件、丰富系统空间、SQLite数据库、强大的多媒体、地理位置定位)
搭建开发环境及其需要用到的工具
JDK、Android SDK、Android Studio
模拟器Genymotion
真机模拟 Android通过Wifi来调试你的应用
分析Android程序的目录
.gradle和idea 这两个目录下放置的都是Android Studio自动生成的一些文件,我们无需关心,也不要去手动编辑。
app 项目中的代码、资源等内容几乎都是放置在这个目录下的。
build 包含了一些编译时自动生成的文件
libs 第三方jar包存放的目录,会被自动添加到构建路径里
androidTest 用来编写Android Test测试用例的,可以对项目进行一些自动化的测试
java 存放Java代码的地方
res 项目中使用到的所有图片、布局、字符串存放在这个目录下
AndroidManifest.xml 整个项目的配置文件,需要在这个文件中声明定义的四大组件和添加权限
test 编写Unit Test测试用例的
.gitignore 这个文件时用来将指定的目录或文件排除在版本控制之外的。
app.iml IntelliJ IDEA项目自动生成文件,不用关心不用修改
bulid.gradle app模块的gradle构建脚本,这个文件会指定很多项目构建相关的配置
proguard-rules.pro 文件用于指定项目代码的混淆规则
build这个目录不用过多关心,它主要包含了一些在编译时自动生成的文件。
gradle 这个目录下包含了gradle wrapper的配置文件,使用gradle wrapper的方式不需要提前将gradle下载好,而是会自动根据本地的缓存情况决定是否需要联网下载gradle。
.gitignore 这个文件时用来将指定的目录或文件排除在版本控制之外的。
build.gradle 这是项目全局的gradle构建脚本,通常这个文件中的内容是不需要修改的。
gradle.properties 这个文件时全局的gradle配置文件,在这里配置的属性将会影响到项目中所有的gradle编译脚本。
gradlew和gradlew.bat 这两个文件时用来在命令行皆灭中执行gradle命令的,其中gradlew是在Linux或Mac系统中使用的,bradlew.bat是在Windows系统中使用
HelloWrold.iml iml文件时所有IntelliJ IDEA项目都会自动生成的一个文件,用于标识这是一个IntelliJ IDEA项目,不需要修改。
local.properties 这个文件用于指定本机中的Android SDK路径,通常自动生成不需要修改,除非本机中Android SDK发生变化。
settings.gradle 这个文件用于指定项目中所有引入的模块(Module),通常模块的引入都是自动完成。
详解build.gradle
- 最外层目录build.gradle
两处repositories的闭包中都声明了jcenter(),jcenter是一个代码托管仓库,声明这行配置后就可以在项目中引用任何jcenter上的开源项目。dependencies闭包中使用classpath声明了一个Gradle插件。通常情况下不需要修改这个文件中的内容除非想添加一些全局的项目构建配置。
- app目录下build.gradle
第一行的apply plugin一般有两种值可选com.android.application
表示这是一个应用程序模块`com.android.library“表示这是一个库模块
apply plugin: 'com.android.application' android闭包{ complieSdkVersion指定项目编译版本 buildToolsVersion指定项目构建工具的版本 defaultConfig闭包{ applicationId指定项目的包名 miniSdkVersion指定项目最小兼容的Android系统版本 targetSdkVersion指定的值表示你在该项目中已做过测试 versionCode指定项目的版本号 versionName指定项目的版本名 } buildTypes闭包{ release闭包用于指定生成正式版安装文件的配置 minifyEnabled用于指定是否对项目代码进行混淆 proguardFiles用于指定混淆时使用的规则文件 debug闭包用于指定生成测试版本安静文件的配置,可忽略不写 } } dependencies闭包{ compile fileTree本地依赖声明 compile 远程依赖声明 compile project 库依赖声明 testCompile用于声明测试用例库 }
日志工具
Log.v()——打印最为琐碎、意义最小的日志信息
Log.d()——打印一些调试信息
Log.i()——打印一些比较重要的数据
Log.w()——打印一些警告信息
Log.e()——打印程序中的错误信息
- 第二行代码第一章笔记
- 第二行代码学习笔记之第一章
- 第二行代码--第一章学习笔记
- 第二行代码学习笔记之第一章
- 《第一行代码》第一章、第二章笔记
- 第二行代码第一章(Android原理)
- 《Python网络数据采集》第一章、第二章(阅读代码笔记)
- 第二行代码学习笔记——第一章:开始启程——你的第一行Android代码
- 第二行代码学习笔记——第一章:开始启程——你的第一行Android代码
- 第一章,第二章学习笔记
- 第一章+第二章阅读笔记
- “第二行代码”知识总结——第一章 简要概述
- 第二行代码第二章笔记
- 第二行代码第二章笔记
- 第二行代码第二章笔记
- 第一行代码第二版--第一章
- C++程序设计(第二版)第一章学习笔记
- MFC Windows程序设计(第二版)第一章笔记
- [C++ 从入门到放弃-02]C++STL之string
- uniq命令
- IBatis——初步总结
- 指针数组 数组指针 函数指针 函数指针数组 指向函数指针数组的指针的理解
- centos7下面创建自定义开机启动服务
- 第二行代码第一章笔记
- 【python学习笔记】8:网页解析器及安装Beautiful Soup 4
- 网页打开5秒后弹出广告窗口
- Android studio 创建 Drawable shape文件
- Android Study 之真正解决TextView字间距,那些扯淡的边儿去吧
- [C++ 从入门到放弃-03]C++STL之set
- JAVA RMI 反序列化远程命令执行漏洞
- 深入理解php多态及代码演示
- 单链表创建,逆序,删除