文章目录
前言
此次将带你开发第一个应用,并借此学习一些Android基本概念以及构成应用的UI组件。学完本文,如果没能全部理解,也不必担心,后续博文还会涉及这些内容并有更加详细的讲解。马上要开发的应用名叫GeoQuiz,它能给出一道道地理知识问题。用户点击TRUE或FALSE按钮来回答屏幕上的问题,GeoQuiz即时作出反馈。
提示:以下是本篇文章正文内容,下面案例可供参考
一、Android开发基础
GeoQuiz应用由一个activity和一个布局(layout)组成。
activity是Android SDK中Activity类的一个实例,负责管理用户与应用界面的交互。应用的功能是通过编写Activity子类来实现的。对于简单的应用来说,一个Activity子类可能就够了,而复杂的应用则会有多个。
GeoQuiz是个简单应用,因此它只有一个名叫QuizActivity的Activity子类。
布局定义了一系列用户界面对象以及它们显示在屏幕上的位置。组成布局的定义保存在XML文件中。每个定义用来创建屏幕上的一个对象,如按钮或文本信息。
GeoQuiz应用包含一个名叫activity_quizxml的布局文件。该布局文件中的XML标签定义了的用户界面。
QuizActivity与activity_quiz.xml文件的关系如图所示。
有了这些Android基本概念之后,我们来创建GeoQuiz应用。
二、新建Android 项目
首先我们新建一个Android项目。Android项目包含组成一个应用的全部文件。启动AndroidStudio,会看到如图所示:图上有步骤
三、程序部分
1.activity_quiz.xml的代码
<?xml version="1.0" encoding="utf-8"?>
<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:gravity="center"
android:orientation="vertical"
tools:context="com.bignerdranch.android.geoquiz.QuizActivity">
<TextView
android:id="@+id/question_text_view"
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>
2.QuizActivity.java的代码
package com.bignerdranch.android.geoquiz;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
private Button mTrueButton; //添加两个按钮成员变量,m开头表示menmber成员变量
private Button mFalseButton;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mTrueButton = (Button) findViewById(R.id.true_button);//引用组件
//为按钮设置监听器,使用匿名内部类
mTrueButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//创建提示消息
Toast.makeText(MainActivity.this,
R.string.correct_toast, Toast.LENGTH_SHORT).show();
}
});
mFalseButton = (Button) findViewById(R.id.false_button);
mFalseButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(MainActivity.this, R.string.incorrect_toast,
Toast.LENGTH_SHORT).show();
}
});
}
}
3.string.xml的代码
<resources>
<string name="app_name">GeoQuiz</string>
<string name="question_text" >Ganberra is the capitl 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>
四、应用测试结果
4.1AVD虚拟设备应用测试
AVD创建成功后,我们用它运行GeoQuiz应用。点击Android Studio工具栏上的Run按钮,或者使用Control+R快捷键。AndroidStudio会自动找到新建的虚拟设备,安装应用包(APK),然后启动并运行应用。结果如图所示:
4.2真实手机设备应用测试
将手机和电脑用数据线连接,具体连接步骤如图所示:
手机和电脑成功连接后,AndroidStudio会自动找到新建的设备,点击Android Studio工具栏上的Run按钮,或者使用Control+R快捷键。我们用它运用GeoQuiz应用。安装应用包(APK),然后启动并运行应用。结果如图所示: