我正在尝试为Android 4.2设备编程,但我所拥有的书是教授Android 4.0,名为Beginning Android App Development 4。因此,我在运行针对Android 4.2的第一个程序时遇到问题:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/
android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello" />
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="This is my first Android Application!" />
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="And this is a clickable button!" />
</LinearLayout>
错误:错误:找不到与给定名称匹配的资源(在'text'处 有价值的 '@字符串/你好')。 activity_main.xml / HelloWorld / res / layout line 7 Android AAPT问题
[I18N]硬编码字符串“这是一个可点击的按钮!”,应该使用 @string resource activity_main.xml / HelloWorld / res / layout line 20 Android Lint问题
[I18N]硬编码字符串“这是我的第一个Android应用程序!”, 应该使用@string resource activity_main.xml / HelloWorld / res / layout line 15 Android Lint 问题
我想在哪里可以找到4.2的4.0 API之间的区别?我应该继续读这本书吗?
答案 0 :(得分:1)
嗯,第一个错误只是因为您没有在名为strings.xml
的{{1}}中创建资源。另外两个警告只是因为Android Lint希望你使用字符串资源(比如第一个),而不是硬编码字符串。
这些都与Android 4.0和4.2之间的任何差异无关。
如果您仍然对这些API级别的差异感到好奇,那么Android文档会提供大量信息。
https://developer.android.com/sdk/api_diff/21/changes.html https://developer.android.com/sdk/api_diff/22/changes.html
答案 1 :(得分:1)
你的问题不是API的问题,只是因为你使用了一个不在strings.xml文件中的字符串(硬编码字符串)。你可以忽略它(应该只是一个建议而不是错误)或只是创建一个字符串(只有你不止一次使用该字符串。