android studio 学习基础知识点

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/shsh_0415/article/details/79494191

昨晚编辑了上传之后就没了,再来试试。学习之路还在继续会持续更新。。


1、代码编辑完成后,查看控制台编译报错信息,我经常不能辨析出错误的信息,拿到网上翻译学习,也可以查看日志红色信息。

说道颜色还有文件 这主要和版本控制工具相关
经常出现的VCS就就是 不过我们使用是Git(现在不会用以后再说)
绿色,已经加入控制暂未提交
红色,未加入版本控制
蓝色,加入,已提交,有改动
白色,加入,已提交,无改动
灰色:版本控制已忽略文件。


2、一些信息


TODO:有TODO注释的列表方便查看
Android Montitor:监控打印日志(这是我出现问题常看的)
Terminal:终端(我美怎么使用过)
Message和Build:编译时候输出信息(出现很多的红字我一般不会提取有效信息)
Run:运行时候报信息
Evevt log: 事件日志


Project:工程文件
Structure:文件的结构
Gradle:构建工具,android studio的tasks查看窗口
Database:数据库
DDMS:Dalvik Debug Monitor Service,Dalvik调试监控服务。(这个我也不怎么打开)


工程根目录下和module下都有build.gradle文件,一个是全局一个是针对项目
 模块下的
(1)插件
  apply plugin: ‘com.android.application’
说明在这个build文件中使用Android plugin for Gradle,有了这一句后,那些针对Android的元素才有意义。比如android {…}这个就是配置所有针对Android项目build时的选项。
(2)Android
  compileSdkVersion: 编译时用的sdk版本
  buildToolsVersion: build工具的版本
  defaultConfig: 动态的在build时配置AndroidManifest.xml里的项目,defaultConfig里的配置可以覆盖manifest里的配置。
  buildTypes: 配置如何构建和打包你的App,默认有debug和release两个类型。debug类型包含调试时的信息,所以比release大。
(3)依赖
  dependencies: 在android {…}这个元素之外,配置此模块的依赖。
依赖模块作为gradle默认的属性之一(这也是为什么其放在了Android的外面),为你的app定义了所有的依赖包。默认情况下,我们依赖了所有在libs文件下的jar文件,同时包含了AppCompat这个aar文件。
(4)tasks
android插件依赖于Java插件,而Java插件依赖于base插件。
base插件有基本的tasks生命周期和一些通用的属性。
    这些tasks的约定含义:
assemble: 集合所有的output
clean: 清除所有的output
check: 执行所有的checks检查,通常是unit测试和instrumentation测试.
build: 执行所有的assemble和check
    android插件继承了这些基本tasks,并且实现了他们自己的行为:
assemble 针对每个版本创建一个apk
clean 删除所有的构建任务,包含apk文件(idea上没看见clean)
check 执行Lint检查并且能够在Lint检测到错误后停止执行脚本(Lint 是Android Studio 提供的 代码扫描分析工具)
build 执行assemble和check
  build task依赖于check任务,但是不依赖于connectedCheck或者deviceCheck,执行check任务的使用Lint会产生一些相关文件,这些报告可以在app/build/outputs中查看


 根目录下的
buildscript方法是定义了全局的相关属性,repositories定义了jcenter作为仓库。一个仓库代表着你的依赖包的来源,例如maven仓库。dependencies用来定义构建过程。这意味着你不应该在该方法体内定义子模块的依赖包,你仅仅需要定义默认的Android插件就可以了(?),因为该插件可以让你执行相关Android的tasks。
allprojects方法可以用来定义各个模块的默认属性


再补充关于android studio的project和module
(1)文件夹中有settings.gradle的就是一个project,反之则是一个module。里面是声明了所包含的模块。
(2)Project相当于eclipse里面的工作区间,module相当于其project。AS里面的项目结构也可以像eclipse一样,一个project新建多个module。切换app的时候,就会先打开一个app,然后再AS中打开另一个app,运行两个AS,这是没必要的。(我现在仍然这么做,因为module之间的关联多了修改就会乱我也分不清)
(3)module可以作为狭义上的模块,就是可以多个app公用的module


3、加断点调式


设置断点,剪辑Debug按钮,出现调式视图。
Frames:程序调用栈区,该区域显示了程序执行到断点处所调用过的所有方法,越下面的越早被调用
Varlables:局部变量观察区
Watches:制定变量观察区
一些快捷键
F8=Step Over:执行完成当前断点停留处的代码,然后停在下一行待执行的代码处。
F7=Step Into:如果当前断点执行处是一个函数,那么执行Step Into后,进入到该函数。
F9=Step Out:在当前断点执行处执行Step Out后,返回到调用该函数的地方等待执行。
再调式过程中可以再观察区修改变量值


4、adb常用命令
adb devices 查看所连设备
adb start-server 启动ADB工具
adb kill-server 停止ADB工具
adb shell 从电脑登录到安卓设备上
看以再DDMS界面 data/app目录下查看apk
adb install * 安装应用
adb uninstall * 卸载应用




一些参考
关于module的一点使用:http://blog.csdn.net/Android_BlackCat/article/details/71514308
VC版本控制:https://my.oschina.net/wenlongguo/blog/863341
Link:http://blog.csdn.net/u011240877/article/details/54141714
测试:https://my.oschina.net/u/1433482/blog/616440
Gradle:http://blog.csdn.net/L664675249/article/details/50556133
build.gradle:http://blog.csdn.net/u011904605/article/details/52124981
界面:https://jingyan.baidu.com/article/a378c960cfcc3db328283007.html
断点:http://blog.csdn.net/dd864140130/article/details/51560664
断点:https://www.2cto.com/kf/201605/511039.html


一些推荐
关于AS使用版本控制:http://blog.csdn.net/diyangxia/article/details/44218835
跟上面配套使用的获取Token方法:http://blog.csdn.net/u014175572/article/details/55510825

展开阅读全文

没有更多推荐了,返回首页