Android 4.0与4.2 API差异

时间:2015-08-28 14:17:04

标签: android android-4.0-ice-cream-sandwich android-4.2-jelly-bean

我正在尝试为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之间的区别?我应该继续读这本书吗?

2 个答案:

答案 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文件中的字符串(硬编码字符串)。你可以忽略它(应该只是一个建议而不是错误)或只是创建一个字符串(只有你不止一次使用该字符串。