1.1新建项目
file——new——NewProject——empty Activity
next
输入项目名,储存位置自选,然后finish
app——res——layout
选择activity_mian.xml,右键
new——activity——EmptyActivity 新建一个活动命名为QuizActivity
打开activity_quiz.xml——text
1-2 XML文件中定义组件
删掉原有内容,输入下列代码;图中标出的三个错误不用理会
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="24dp"
android:text="@string/question_text"/>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/true_button" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/false_button" />
</LinearLayout>
</LinearLayout>
输入完成后预览界面如下图
1-3 添加字符串资源
打开APP——res——values——strings
在图中位置添加下列代码
<string name="question_text">Canberra is the capital of Australia.</string>
<string name="true_button">True</string>
<string name="false_button">False</string>
输入正确后预览图变成下图
1.4为按钮添加资源ID
打开activity_quiz.xml
在下图位置分别添加
android:id="@+id/true_button"
android:id="@+id/false_button"
1-5.添加成员变量
打开QuizActivity.java,在图中位置添加下列代码
private Button mTrueButton;
private Button mFalseButton;
1-6.引用组件
在QuizActivity.java中添加下列代码
mTrueButton=(Button) findViewById(R.id.true_button);
mFalseButton=(Button) findViewById(R.id.false_button);
1-7 为TRUE按钮设置监听器
在QuizActivity.java中下图位置添加下列代码
mTrueButton.setOnClickListener (new View.OnClickListener(){
@Override
public void onClick(View v){
// Does mothing yet, but soon!
}
});
1-8 为FALSE按钮设置监听器
在QuizActivity.java中下图位置添加下列代码
mFalseButton.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
//Does nothing yet ,but soon!
}
});
1-9 增加toast字符串
打开strings
在图中位置添加下列代码
<string name="correct_toast">Correct!</string>
<string name="incorrect_toast">Incorrect!</string>
1-10 创建提示消息
在下面位置分别添加以下代码
Toast.makeText(QuizActivity.this,
R.string.correct_toast,
Toast.LENGTH_SHORT).show();
Toast.makeText(QuizActivity.this,
R.string.incorrect_toast,
Toast.LENGTH_SHORT).show();
1-11 设置优先级
打开APP——manifests——AndroidManifest.xml
将图中框选位置代码交换(只建一个活动不用管)
1-12下载到手机
下载到手机后结果如下
1-13 完整代码
strings
<resources>
<string name="question_text">Canberra is the capital of Australia.</string>
<string name="true_button">True</string>
<string name="false_button">False</string>
<string name="correct_toast">Correct!</string>
<string name="incorrect_toast">Incorrect!</string>
</resources>
QuizActivity.java
package com.example.a04_92_26_07_f8_df40522;
import android.view.View;
import android.widget.Button;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.Toast;
public class QuizActivity extends AppCompatActivity {
private Button mTrueButton;
private Button mFalseButton;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_quiz);
mTrueButton=(Button) findViewById(R.id.true_button);
mTrueButton.setOnClickListener (new View.OnClickListener(){
@Override
public void onClick(View v){
Toast.makeText(QuizActivity.this,
R.string.correct_toast,
Toast.LENGTH_SHORT).show();
// Does mothing yet, but soon!
}
});
mFalseButton=(Button) findViewById(R.id.false_button);
mFalseButton.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
Toast.makeText(QuizActivity.this,
R.string.incorrect_toast,
Toast.LENGTH_SHORT).show();
//Does nothing yet ,but soon!
}
});
}
}
activity_quiz.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="24dp"
android:text="@string/question_text"/>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<Button
android:id="@+id/true_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/true_button" />
<Button
android:id="@+id/false_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/false_button" />
</LinearLayout>
</LinearLayout>
//本文参考Android编程权威指南 第3版