在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概念的更多相关文章

  1. Android编程权威指南笔记3:Android Fragment讲解与Android Studio中的依赖关系,如何添加依赖关系

    Android Fragment 当我在学习时,了解了Fragment词汇 Fragment是一种控制器对象,我就把所了解的简单说一下.activity可以派fragment完成一些任务,就是管理用户 ...

  2. Android编程权威指南笔记

    学习android开发,你需要对java语言,包括类,对象,接口,监听器,包,内部类,匿名内部类有所了解. android studio 的下载与安装 可以从android开发者网站下载android ...

  3. 《Android编程权威指南》

    <Android编程权威指南> 基本信息 原书名:Android programming: the big nerd ranch guide 原出版社: Big Nerd Ranch Gu ...

  4. 使用最新AndroidStudio编写Android编程权威指南(第3版)中的代码会遇到的一些问题

    Android编程权威指南(第3版)这本书是基于Android7.0的,到如今已经过于古老,最新的Android版本已经到10,而这本书的第四版目前还没有正式发售,在最近阅读这本书时,我发现这本书的部 ...

  5. Android编程权威指南(第2版)--第16章 使用intent拍照 挑战练习

    16.7挑战练习:优化照片显示 新建dialog_photo.xml 1234567891011121314 <?xml version="1.0" encoding=&qu ...

  6. 读《Android编程权威指南》

    因为去年双十二购买了一折的<Android 编程权威指南(第一版)>,在第二版出来后图灵社区给我推送了第二版的优惠码,激动之余就立马下单购买电子书,不得不说Big Nerd Ranch G ...

  7. 《Android编程权威指南》PhotoGallery应用梳理

    PhotoGalley是<Android编程权威指南>书中另外一个重要的应用.       

  8. 《Android编程权威指南》CriminalIntent项目梳理

    相信很多新手或者初级开发人员都已经买了第2版的<Android编程权威指南>, 这本书基于Android Studio开发,对入门人员来说是很好的选择,但是很可惜的是, 在完成一个项目后, ...

  9. Android编程权威指南第三版 第32章

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

随机推荐

  1. php 逻辑题

    越长大约发现,高中学的数学,都还给了数学老师,一点都没有留住. 最近遇到了一个 逻辑题,然后想了半天,后来做出来了,我就发现了,我可能是一个假的理科生.很简单的样子. 废话不说,看看这道题吧. /** ...

  2. C#读写设置修改调整UVC摄像头画面-增益

    有时,我们需要在C#代码中对摄像头的增益进行读和写,并立即生效.如何实现呢? 建立基于SharpCamera的项目 首先,请根据之前的一篇博文 点击这里 中的说明,建立基于SharpCamera的摄像 ...

  3. selenium中元素操作之上传操作(六)

    上传操作分为两种情况: 1.input标签上传 如果是input可以直接输入路径的,那么直接调用send_keys输入路径,和前边的元素操作类似,在这里不再过多的赘述. 2.非input标签上传 非i ...

  4. 分享整理vue.js在日常工作中用到的组件,帮助你在vue应用中快速开发

    Vue-Echarts vue-echarts是封装后的vue插件, 基于 ECharts v4.0.1+ 开发,依赖 Vue.js v2.2.6+,功能一样的只是把它封装成vue插件 这样更方便以v ...

  5. Solr基础理论【倒排索引,模糊查询】

    一.简介 现有的许多不同类型 的技术系统,如关系型数据库.键值存储.操作磁盘文件的map-reduce[映射-规约]引擎.图数据库等,都是为了帮助用户解决颇具挑战性的数据存储与检索问题而设计的.而搜索 ...

  6. Django2.2 pymysql 连接mysql数据库的坑

    参考链接 https://www.52pojie.cn/thread-921141-1-1.html 1. mysqlclient 1.3版本不对 解决办法:注释掉D:\Users\xxx\AppDa ...

  7. 关于SQL中的 where 1 = 1 的用法

    在项目中的常见的一个操作:在有关SQL的代码中加入where 1 = 1,关于它的用法,可以总结如下: 首先,where 1 = 1的用法往往是为了方便后续的给SQL增加where限制条件.如果实现加 ...

  8. Django 之 restframework 版本控制的使用以及源码分析

    Django rest_framework 之 版本控制 一.何为版本控制: ​ 用于版本的控制 二.内置的版本控制类: from rest_framework.versioning import Q ...

  9. 第十一周LINUX 学习笔记

    keepalived keepalived:    基于vrrp(虚拟冗余路由协议)的实现     virtual server: 对于IPVS    vrrp_script: 调用外部脚本 ngin ...

  10. position 的absolute会使display变成inline-block

    position:absolute和float会隐式地改变display类型,不论之前什么类型的元素(display:none除外), 只要设置了position:absolute. float中任意 ...