Android编程权威指南笔记2:解决R文件爆红问题和SDK概念
在android studio中会遇到R文件的丢失,所以遇见这问题怎么解决呢?
重新检查资源文件中xml文件
最近一次编译时如果未生成R.java文件,项目中资源引用的地方都会出错。通常,这是某个xml布局文件的代码写错了,这里你就要检查一下了,修改找到的错误保存就可以了,这时R.java文件就不会爆红了。
清理项目
选择Build—》Clean Project菜单项,android studio会重新编译整个项目,消除错误,建议经常进行。
Gradle同步项目
这是教师给的:刚百度了一下,那个按钮是『sync file with gradle files』,就是根据gradle文件重新同步项目的依赖库。如果你修改了build.gradle配置文件,就需要同步更新项目的编译设置,选择Tools–>Android–>Sync Project with Gradle Files 菜单项,Android Studio会使用正确的项目设置重新编译项目。这是解决Gradle配置变更带来的问题。
在Android manifest配置文件中声明activity
manifest配置文件是个包含元数据的xml文件,每个应用的所有activity都必须在mainfest配置文件中声明,这样操作系统才能够使用它们。
哦哦。。创建新的activity
至少涉及三个文件:Java类,xml布和应用的mainfest文件。
Intent的对象
intent对象是component用来与操作系统通信的一种媒介工具。目前为止,我们唯一见过的component就是activity。实际上还有:service,broadcast,receiver,….其实这些我也没有接触过,还不太懂,到时了解后,会写文章出来的。
反正intent就是一种多用途通信工具。Intent类提供了多个构造方法。
在AndroidManifest.xml中
<activity android:name=".QuizActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
SDK概念
在android studio中以最低版本设置值为标准的sdk,操作系统会拒绝将应用安装在系统版本低于标准的设置上。
sdk目标版本:在应用设计时告知用哪个API级别去运行了。
sdk编译版本:在android studio中,最低版本和目标版本会通知给操作系统,而sdk编译版本是我们和编译器之间的小秘密。(不能告诉的小秘密)
android的特色功能就是通过sdk中的类和方法展现的。在编译代码时,sdk编译版本或编译目标指定要使用系统版本。在文件中可以修改sdk版本。
就是在build.gradle文件中的最低sdk版本,目标版本,以及编译版本。
compileSdkVersion 26
buildToolsVersion "26.0.1"
defaultConfig {
applicationId "cn.edu.gdmec.android.geoquiz"
minSdkVersion 19
targetSdkVersion 26
versionCode 1
versionName "1.0"
testInstrumentationRunner
"android.support.test.runner.AndroidJUnitRunner"
}
修改完后,点击Tools–>Android–>Sync Project with Gradle Files 菜单项,项目随即会重新完成编译的,然后就可以了哦。
注意了哦
还有一个就是Android Lint 的这个东西,就是。。。你所写的上述代码在低版本中设备上运行时会崩溃,这时候你就得注意了,点击android studio 上的 Analyze –> Inspect Code… 菜单项手动触发 Lint 。
崩溃原因是:sdk编译版本为API ,,级,编译器本身编译代码没有问题,而是 Android Lint 这东西知道了项目SDK 最低版本,所以及时值出了问题的所在。
学习安卓就要用开发者文档,建议:文档主页是 : http://developer.android.com/
笔记记录
关注我,每天都有优质技术文章推送。工作、学习累了的时候放松一下自己。
本文如果对你有帮助请点顶 。你的顶是对我最大的肯定!!!
Android编程权威指南笔记2:解决R文件爆红问题和SDK概念的更多相关文章
- Android编程权威指南笔记3:Android Fragment讲解与Android Studio中的依赖关系,如何添加依赖关系
Android Fragment 当我在学习时,了解了Fragment词汇 Fragment是一种控制器对象,我就把所了解的简单说一下.activity可以派fragment完成一些任务,就是管理用户 ...
- Android编程权威指南笔记
学习android开发,你需要对java语言,包括类,对象,接口,监听器,包,内部类,匿名内部类有所了解. android studio 的下载与安装 可以从android开发者网站下载android ...
- 《Android编程权威指南》
<Android编程权威指南> 基本信息 原书名:Android programming: the big nerd ranch guide 原出版社: Big Nerd Ranch Gu ...
- 使用最新AndroidStudio编写Android编程权威指南(第3版)中的代码会遇到的一些问题
Android编程权威指南(第3版)这本书是基于Android7.0的,到如今已经过于古老,最新的Android版本已经到10,而这本书的第四版目前还没有正式发售,在最近阅读这本书时,我发现这本书的部 ...
- Android编程权威指南(第2版)--第16章 使用intent拍照 挑战练习
16.7挑战练习:优化照片显示 新建dialog_photo.xml 1234567891011121314 <?xml version="1.0" encoding=&qu ...
- 读《Android编程权威指南》
因为去年双十二购买了一折的<Android 编程权威指南(第一版)>,在第二版出来后图灵社区给我推送了第二版的优惠码,激动之余就立马下单购买电子书,不得不说Big Nerd Ranch G ...
- 《Android编程权威指南》PhotoGallery应用梳理
PhotoGalley是<Android编程权威指南>书中另外一个重要的应用.
- 《Android编程权威指南》CriminalIntent项目梳理
相信很多新手或者初级开发人员都已经买了第2版的<Android编程权威指南>, 这本书基于Android Studio开发,对入门人员来说是很好的选择,但是很可惜的是, 在完成一个项目后, ...
- Android编程权威指南第三版 第32章
版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/qq_35564145/article/de ...
随机推荐
- 自定义WPF Popup控件
解决问题 1.WPF Popup 不随着 Window 一起移动的问题 2.WPF Popup 总是显示在最前面 引用命名空间 xmlns:ctrl="clr-namespace:Micro ...
- pytest之mark功能
pytest系列(一)中给大家介绍了pytest的特性,以及它的编写用例的简单至极. 那么在实际工作当中呢,我们要写的自动化用例会比较多,不会都放在一个py文件里. 如下图所示,我们编写的用例存放在不 ...
- C# LINQ干掉for循环
public void OldSum() { ; ; i < ; i++) { sum0 += i; } Assert.AreEqual(, sum0); } public void NewSu ...
- 几何不变矩--Hu矩
[图像算法]图像特征: ---------------------------------------------------------------------------------------- ...
- Deepo
Deepo is a series of Docker images that allows you to quickly set up your deep learning research env ...
- Django ForeignKey不需要参照完整性?
我想在django模型中设置一个ForeignKey字段,它在某些时候指向另一个表.但我希望可以在这个字段中插入一个id,它引用另一个表中可能不存在的条目.因此,如果该行存在于另一个表中,我希望获得F ...
- spark存储模块之内存存储--MemeoryStore
MemeoryStore 上一节,我们对BlockManager的主要写入方法做了一个整理,知道了BlockMananger的主要写入逻辑,以及对于块信息的管理.但是,由于spark的整个存储模块是在 ...
- web和网络基础
TCP/IP 协议族按层次分别分为以下 4 层: 应用层. 传输层. 网络层和数据链路层 把 TCP/IP 层次化是有好处的. 比如, 如果互联网只由一个协议统筹, 某个地方需要改变设计时, 就必须把 ...
- js学习之面向对象
一.创建对象的方法 1. {} 字面量创建 var person ={ name: "lisi", age: , say: function(){ alert(this.name) ...
- consul:健康检查
官方文档:https://www.consul.io/docs/agent/checks.html consul提供的健康检查有以下几种: 1.script+interval 2.http+inter ...