标签: r.java-file

Android Studio中"无法解析符号R"

在我引用的所有类中的每个实例中R.id.something,它R都是红色的,并且表示"无法解析符号R".此外,每次有R.layout.something红色下划线并说"无法解析方法setContentView(?)".该项目总是很好.一直看到这一点很烦人.我在这里已经阅读了许多关于类似的东西的其他问题,但大部分涉及从Eclipse导入项目.我正在使用我认为最新版本的Android Studio,该项目是使用Android Studio创建的,并且没有任何"无法解决R"问题.如果有人知道,我想知道是什么原因造成的.

android r.java-file android-studio

703
推荐指数
30
解决办法
108万
查看次数

在Eclipse中开发Android:R.java不能重新生成

我发现我的R.java永远不会更新,因此它不包含有关我的新资源的信息,所以我决定删除它并认为Eclipse会生成一个新资源.但这没有发生,我现在没有R.java.我怎样才能再生一个?

我正在使用Windows 7.

从其中一条评论:"做项目 - > 清理是导致问题的原因.清理删除R.java ......无论出于何种原因,插件都没有重新生成文件."

eclipse android r.java-file

307
推荐指数
13
解决办法
37万
查看次数

Eclipse给出错误,在最近更新后缺少R.java文件

我已经更新了我SDK,并ADT到最新版本,我也更新EclipseKepler之后的最新一个Juno.

我的ADT版本是22.0.在我创建一个新项目的更新后,我收到错误,说明R cannot be resolved to a variable.我已导入import android.R;,但它显示为未使用的导入说明Don't include android.R here; use a fully qualified name for each usage instead.

Mac OS也发生了同样的事情,最新的更新.我已经尝试重命名activity_main.xml为其他名称,但仍然R.java没有生成我的.

尝试了所有可能的事情.清理项目,构建整个工作区.什么都没有帮助.

我认为ADTEclipse兼容性在更新后出现问题.

我已经更新了我的整个SDK,这是截图,但同样的问题就在那里.

在此输入图像描述

eclipse android eclipse-plugin eclipse-adt r.java-file

73
推荐指数
2
解决办法
9万
查看次数

如何以编程方式将selectableItemBackground添加到ImageButton?

android.R.attr.selectableItemBackground存在,但是如何以编程方式将其添加到ImageButton?

另外,我将如何在文档中找到答案?这里提到,但我没有看到它是如何实际使用的任何解释.实际上,我似乎很少发现文档有用,但我希望这是我的错,而不是文档的错.

android attr r.java-file

49
推荐指数
3
解决办法
3万
查看次数

重命名生成R.java的包

我正在使用eclipse,我创建了一个测试android项目,并且包含R.java当前调用的"gen"文件夹中的包com.something.test(我以为我只是测试但是在它上面构建我的整个应用程序!)

这是在加载应用程序时引用的,手机有时会显示它,所以我需要重命名它.我通过点击重构尝试了这个,但它用旧名称再次重新生成它!

我可以重命名吗?

java eclipse android r.java-file

43
推荐指数
2
解决办法
3万
查看次数

我的项目中没有生成R.java文件

我正在做记事本教程,练习2.我首先创建了一个新的Android项目,然后从源代码中选择Create来导入已下载的excercise源文件.

但是现在我在Eclipse中遇到了很多错误,问题是没有生成R.java类.我怎么解决这个问题?该文件夹gen/为空.


我有错误Notepadv2.java,并在res/layout/note_edit.xml两者似乎与所生成的事实R.java缺失.

以下是我的import发言Notepadv2.java:

import android.R;
import android.app.ListActivity;
import android.content.Intent;
import android.database.Cursor;
import android.os.Bundle;
import android.view.ContextMenu;
import android.view.ContextMenu.ContextMenuInfo;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.ListView;
import android.widget.SimpleCursorAdapter; 
Run Code Online (Sandbox Code Playgroud)

它们由Eclipse命令Ctrl + Shift + O创建.

eclipse android adt generated-code r.java-file

42
推荐指数
3
解决办法
12万
查看次数

R.java背后的概念是什么?

在android中,R.java用于提供对XML文件中定义的资源的访问.要访问资源,我们需要调用findViewById()传入要获取的资源的id的方法.

这与Spring类似,其中bean在XML上下文中定义,并通过使用应用程序上下文获取. context.getBean("beanId")

这提供了松散耦合,因为bean是在外部定义的,并且可以在不修改代码的情况下进行更改.

这让我很困惑.虽然Android看起来与spring相似,但它有什么优势?

  1. 有一个中间的R.java有什么意义呢?我们难道不能通过使用资源读取器/应用程序上下文直接从XML获取资源.例如findViewById("resourceId")
  2. 没有任何松耦合.由于R.java中的引用会自动生成,因此如何删除资源并放入新资源?
  3. 它遵循什么样的设计模式(如果有的话)?
  4. 使用IOC(如Roboguice)注入资源不是更好吗?为什么然后谷歌决定给我们这样一种奇怪的资源合作方式?

请原谅我的无知.我是一个新手Java开发人员,一次尝试太多东西.:-)感谢您的所有反馈.

architecture android r.java-file android-resources

37
推荐指数
2
解决办法
2万
查看次数

错误:无法打开类文件R.java

做了全新的Eclipse,JDK和android-sdk安装.

我目前在创建新项目时收到此错误

[2010-09-26 16:07:56 - 测试]错误:无法打开类文件C:\ workspace\Test\gen\com\example\test\R.java:没有这样的文件或目录

这是什么原因,我该如何解决?

Eclipse Helios 32 bit
java version "1.6.0_21"
Android sdk API 8
Run Code Online (Sandbox Code Playgroud)

PS我是Android开发的新手.

编辑:我尝试了大多数解决方案,但没有任何效果.所以我开始使用我朋友安装的Eclipse Ganymede.

java eclipse android r.java-file

36
推荐指数
4
解决办法
4万
查看次数

如何直接从res/raw文件夹播放音频文件?

我在res/raw文件夹中有多个音频文件.我显示ListView包含音频文件名称.我想在用户选择时播放相应的音频文件ListView.我已经习惯了setDataSource(path),但是在播放时显示错误.如何直接从该文件夹播放音频文件?或者还有其他方法吗?

android media-player r.java-file

30
推荐指数
3
解决办法
9万
查看次数

Android编译资源 - resources.arsc

我想弄清楚"编译资源"是什么意思.

我为了解这个问题做了什么:

我已经阅读了很多关于这个主题的文章,但没有找到一个简单的答案.我读过的最好的是:android资源和资源ID之间的映射如何工作的?.

我怎么理解:

根据我的理解,当我们通过ANT(Eclipse)或Gradle(AS)编译项目时.我们使用一个名为aapt的工具--Android Asset Packaging Tool:用于为我们的每个资源生成唯一的ID,例如我们的布局,样式等,并将它们存储在查找表中.然后它通过生成两个文件来持久化此查找表:

  1. 它生成具有这些唯一ID的R.java文件,因此我们将能够在编译期间使用我们的java代码中的资源.
  2. 它生成resources.arsc文件,该文件可以在资源*.ap_文件中找到.这个resources.arsc文件稍后将由apktool打包到apk.
    此arsc文件格式是一种在运行时由设备轻松映射和解析的格式.

一个例子:

所以要简单一点:假设我在activity_main.xml中有这个:

    <TextView android:id="@+id/my_textView"
        android:text="@string/hello_world" 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />
Run Code Online (Sandbox Code Playgroud)

我从我的onCreate中调用它:

findViewById(R.id.my_textView)
Run Code Online (Sandbox Code Playgroud)

在我的R.java文件中,我将看到:

public static final int my_textView=0x7f08003f;
Run Code Online (Sandbox Code Playgroud)

在生成的apk上使用:aapt dump资源我可以看到它包含两行my_textView:ec资源0x7f08003f com.example.lizi.liortest2:id/my_textView:flags = 0x00000000资源0x7f08003f com.example.lizi.liortest2:id/my_textView :t = 0x12 d = 0x00000000(s = 0x0008 r = 0x00)

我不明白的是:

我原以为这个resources.arsc文件不仅包含资源ID,还包含我为视图定义的所有属性,例如android:layout_width ="wrap_content".

所以现在在运行时VM尝试运行时findViewById(R.id.my_textView) 如何知道要创建哪个视图/要创建的属性?

我根本无法理解它是如何工作的......这个查找表是否也不包含属性数据?什么是0x7f08003f号码?(它是否应该表示稍后将映射到将存储对象的物理内存的值?)

resources android r.java-file

28
推荐指数
1
解决办法
3万
查看次数