在Android XML文件中正确使用编码

时间:2015-05-28 04:17:55

标签: android xml

我正在阅读Michael Burton的Android App Development for Dummies,并在创建应用程序时完成本书。

在设置应用程序的布局时,我碰到了一些困扰我的东西。这是本书第68页所说的内容:

"如果您在[activity_main.xml]的文本标签上,请删除XML并将其替换为以下内容。"

 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/textView1"
        android:layout_below="@+id/textView1"
        android:layout_marginTop="24dp"
        android:onClick="onClick"
        android:text="Button" />

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/hello_world" />

    <ListView
        android:id="@+id/listView1"
        android:layout_width="match_parent"
        android:layout_height="match_parent" >
    </ListView>

</LinearLayout>

上述印刷中是否存在双重编码的基本原理:

<?xml version="1.0" encoding= encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
             android:id="@+id/content"
             android:layout_width="match_parent"
             android:layout_height="match_parent" >

</FrameLayout>

或者这是一个印刷错误?我看过其他来源并看过

<?xml version="1.0" encoding= encoding="utf-8"?>
...

但我还不清楚书中的代码是否以这种方式编写,原因我还不了解。

1 个答案:

答案 0 :(得分:1)

这称为&#34; XML声明&#34;线。从技术上讲,它是可选的,但它应该在那里,即使只是为了文本编辑器的好处,可以在显示文件时使用encoding属性。

<?xml version="1.0" encoding="utf-8"?> Correct

这些是xml标题的其他一些示例,您可以试验或研究:

<?xml version="1.0" encoding="us-ascii"?>
<?xml version="1.0" encoding="windows-1252"?>
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml version="1.0" encoding="UTF-16"?>

现在替换此

 <?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
             android:id="@+id/content"
             android:layout_width="match_parent"
             android:layout_height="match_parent" >

</FrameLayout>