Android开发学习实验(2)---------GeoQuiz(1)


前言

马上要开发的应用名叫GeoQuiz,它能给出一道道地理知识问题。用户点击TRUE或FALSE 按钮来回答屏幕上的问题,GeoQuiz即时作出反馈。

一、实验步骤

1.创建一个新的项目

启动Android Studio程序,首次运行的话,会看到如图所示的欢迎界面。 打开没有创建的项目的初始界面
在欢迎界面,选择创建Android Studio新项目选项(Start a new Android Studio project);非首次运行的话,选择File → New → New Project…菜单项。


单击Next按钮,接下来配置应用支持哪些版本的Android设备。GeoQuiz应用只能在手机上运 行,所以这里勾选Phone and Tablet选项。SDK最低版本选择API 19: Android 4.4 (KitKat)

单击Next按钮继续。 在接下来的窗口中,需要为GeoQuiz应用的启动初始屏选择模板,如图所示。选择Empty Activity后单击Next按钮继续。

在应用向导的最后一个窗口,命名activity子类为QuizActivity,如图所示

2.用户界面设计

打开app/res/layout/activity_quiz.xml文件。如果看到的是布局预览界面,请点击底部的 Text页切换显示XML代码。 删除原来的hello word文件。写下面代码。

<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: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> 

3.创建字符串资源

在项目工具窗口中,找到app/res/values目录,展开目录,打开strings.xml文件。

    <string name="app_name">GeoQuiz</string>  
    <string name="question_text">Canberra is the capital of Australia.</string>  
    <string name="true_button">True</string>  
    <string name="false_button">False</string> </resources> 

4.为按钮添加资源ID

(activity_quiz.xml)

<LinearLayout  ... >  
    <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> 

5. 添加成员变量

QuizActivity.java

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);     
     } 
     } 
     ```
     在此使用Alt+Enter组合键消除错误
  

## 6. 引用组件

QuizActivity.java
```java
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);   
  mFalseButton = (Button) findViewById(R.id.false_button);    
   } 
   } 

7.设置监听器

QuizActivity.java

 @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) {   
    // Does nothing yet, but soon!   
    }  
     }); 
  mFalseButton = (Button) findViewById(R.id.false_button);     
  }
  } 
  mTrueButton.setOnClickListener(new View.OnClickListener() {   
  @Override    
  public void onClick(View v) {   
  // Does nothing yet, but soon!   
  }     
  }); 
    mFalseButton = (Button) findViewById(R.id.false_button);     
    mFalseButton.setOnClickListener(new View.OnClickListener() {   
    @Override   
    public void onClick(View v) {   
    // Does nothing yet, but soon!   
    }     
    }); 
    } 

8.增加toast字符串

<resources>     
<string name="app_name">GeoQuiz</string>      
<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> 

9.创建提示消息

QuizActivity.java

mTrueButton.setOnClickListener(new View.OnClickListener() {     
@Override      
public void onClick(View v) {   
Toast.makeText(QuizActivity.this,     
R.string.correct_toast,     
Toast.LENGTH_SHORT).show();   
// Does nothing yet, but soon!    
 } 
 }); 
 mFalseButton = (Button) find ViewById(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!     
   }
    }); 

二、模拟机运行


运行事先打开的模拟器。
模拟器运行结果

三、真机运行


真机样子

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值