我是Android开发的新手。我最近下载了最新的Android Studio 3.0.1。我正在使用Wallace Jackson" Android Apps for Absolute Beginners"。当我按照本书创建我的(第一个)应用程序时,我有2个XML文件:
activity_main.xml文件已对android:txt="Hello World!"
进行了硬编码
本书指导您修改文件1,以便为此字符串引用strings.xml
。
文件2,strings.xml,被修改为添加第二行,其中包含通过删除"!"稍微修改的字符串。
当我查看Android SDK中的预览布局窗格时,我看不到字符串" Hello World"
相反,我看到" @ string"。
我确信我做的事情基本上是错误的,或者错过了关键步骤或步骤。
这是activity_main.xml文件(文件1)
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.michael.myapplication.MainActivity">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</android.support.constraint.ConstraintLayout>
这是strings.xml文件(文件2):
<resources>
<string name="app_name">My Application</string>
<string name="app_message">Hello WORLD</string>
</resources>
答案 0 :(得分:2)
您必须指定字符串名称
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/app_message"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
要访问Android上的资源,您必须提供其资源ID才能访问它。
请参阅: https://developer.android.com/guide/topics/resources/accessing-resources.html
答案 1 :(得分:0)
访问字符串资源,例如// Spline Sine
#declare SphereSine = union {
#local Radius = 0.15;
#local Amplitude = 2;
#local Iterator = 0;
#local Amount = 20;
sphere_sweep {
b_spline
Amount,
#for (Iterator, 0, Amount, 1)
<Iterator, sin(Iterator)*Amplitude, 0>, Radius
#end
tolerance 0.1
pigment {
rgb <1, 0, 0>
}
}
}
<强> string.xml 强>
android:text="@string/string_name"
答案 2 :(得分:0)
在strings.xml中
<string name="app_message">Hello WORLD</string>
在您的布局中
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.michael.myapplication.MainActivity">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/app_message"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</android.support.constraint.ConstraintLayout>
答案 3 :(得分:0)
有效!你的解释很清楚。然后书中的文字不足或不清楚。它参考华莱士杰克逊的图4.4(第69页)和绝对初学者的Android应用程序#34;。该图包含源,但它是一个屏幕截图,几乎无法读取。 ...谢谢大家快速而明确的回复。