在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. C#读写设置修改调整UVC摄像头画面-倾斜

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

  2. scxml 图像展示器 (基于C++ MFC GDI tinyxpath的实现)

    以前的时候学习新东西没有总结的习惯,周末把以前研究的东西翻了翻,稍微总结下. Scxml是w3c出来的基于状态机的对话脚本语言标准,具体内容可以谷歌到,这里讲述自己开发的一个把scxml转化为可交互图 ...

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

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

  4. JavaScript的函数call和apply的区别、以及bind方法

    1.call和apply的定义和区别 call和apply的作用一样,唯一不同的是:接受的参数不同. apply:方法能够劫持另一个对象的方法,继承另一个对象的属性. Funciton.apply(o ...

  5. 99.9%的Java程序员都说不清的问题:JVM中的对象内存布局?

    本文转载自公众号:石彬的架构笔记,阅读大约需要8分钟. 作者:李瑞杰 目前就职于阿里巴巴,资深 JVM 研究人员 在 Java 程序中,我们拥有多种新建对象的方式.除了最为常见的 new 语句之外,我 ...

  6. python基础之对象之间的交互

    面对对象编程之对象之间的交互 这是一个猫狗大战的例子 # 猫类 class Cat: def __init__(self, name, hp, attack): self.name = name # ...

  7. window界面自动化

    一.windows带界面的自动化1.AutoIt AutoIt3官方下载地址:https://www.autoitscript.com/files/autoit3/autoit-v3-setup.ex ...

  8. 第一册:lesson 131.

    原文: Don't be so sure. question:What's the problem about deciding on a holiday. Where are you going t ...

  9. JVM 整体流程介绍

    一. JVM自身的物理结构 从图中可以看出 JVM 的主要组成部分 ClassLoader(类加载器),Runtime Data Area(运行时数据区,内存分区),Execution Engine( ...

  10. angular8 打包时 文件过大 导致内存溢出解决方案(记录)

    在package.json 中添加 "scripts": { "ng": "ng", "start": "ng ...