R无法解析为变量 – Hello World

我知道很多人都遇到过这个问题我已经搜索了Google / Stack Overflow,但我仍然无法弄清楚我做错了什么。

package HelloWorld; import android.app.Activity; import android.os.Bundle; import android.widget.TextView; public class HelloWorldActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); // TextView tv = new TextView(this); // String hello = "Hello World!"; // tv.setText(hello); // setContentView(tv); } } 

我试着搜索不必要的import android.R; 陈述,以及建筑/清洁/刷新/等,但我似乎无法弄明白。 也许这与我安装SDK的方式有关? 我不认为有,但我对此很新,所以我可能在某处犯了一个大错。

另外,我收到此错误:

[2011-12-13 18:18:46 - com.android.ide.eclipse.adt.internal.project.AndroidManifestHelper] Parser exception for C:\Users\MYNAME\Android Development\Hello World\Hello World\AndroidManifest.xml: The processing instruction target matching "[xX][mM][lL]" is not allowed.

谁能帮我? 谢谢!

编辑:我的XML文件:

             

在清单中查看此行(在标记的开头)

 package="HelloWorld Mylove" 

这不是一个有效的包名称,必须更改。 通常,包名称由小写单词组成,由点分隔,例如:

 com.hello.world 

请参阅命名包 。 将其更改为有效名称。

因为这总体上有点工作,因为你必须在不同的地方改变它¹ (有时候由于某种原因我失败了) ,我建议你通过eclipse中新的android项目向导创建一个新项目。 这将在步骤4中询问您是否包名。请确保遵循上述命名约定。 你应该得到几乎相同的代码。 或者,您可以尝试在项目资源管理器中右键单击项目,然后选择Android Tools -> Rename Application Package

¹清单本身,存储* .java文件的文件夹,源文件中的package语句

The processing instruction target matching "[xX][mM][lL]" is not allowed.的错误消息The processing instruction target matching "[xX][mM][lL]" is not allowed. 意味着您的XML声明( )被误解为处理指令。 这意味着您的XML声明不是文件中的第一件事。 请注意,它必须是您文件中的第一件事 – 即使在它之前也不允许任何空格。 如果它已经文件中的第一件事,那么要尝试的是将其保存为ASCII / ANSI而不是UTF-8,以消除可能的BOM。 (目前大多数XML解析器都可以使用具有BOM的UTF-8,但最初XML规范不允许这样做,所以似乎可以想象这个解析器可能不满意它。)