GeoQuiz

1开发环境AndroidStudio

该项目的页面和代码

目录

2

组件的应用

  • 在XML文件中定义组件
  • 在strings.xml文件中添加我们需要的string字段
  • 在XML文件中对控件属性进行设置,添加ID、内容
  • 在Activity.java文件中添加相应的成员变量
  • 引用生成的视图对象
  • 为对象设置监听器以响应用户操作
    监听器
    public void onClick(View v) {
    // Does nothing yet, but soon!
    }
    });
    mFalseButton = (Button) findViewById(R.id.false_button);
    }
    }
    @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() {
     

3 Android与MVC设计模式

MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范

  • 模型(Model)—— 是应用程序中用于处理应用程序数据逻辑的部分。通常模型对象负责在数据库中存取数据
  • 视图(View)—— 是应用程序中处理数据显示的部分。通常视图是依据模型数据创建的。
  • 控制器(Controller)—— 是应用程序中处理用户交互的部分。通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据。

使用MVC的优点。

  • 耦合性低 —— 视图层和业务层分离,这样就允许更改视图层代码而不用重新编译模型和控制器代码
  • 重用性高 —— 多个视图能共享一个模型
  • 生命周期成本低 —— MVC使开发和维护用户接口的技术含量降低。

4Activity的生命周期

Activity是由Activity栈进管理,当来到一个新的Activity后,此Activity将被加入到Activity栈顶,之前的Activity位于此Activity底部。Acitivity一般意义上有四种状态:

  • 1.当Activity位于栈顶时,此时正好处于屏幕最前方,此时处于运行状态;
  • 2.当Activity失去了焦点但仍然对用于可见(如栈顶的Activity是透明的或者栈顶Activity并不是铺满整个手机屏幕),此时处于暂停状态;
  • 3.当Activity被其他Activity完全遮挡,此时此Activity对用户不可见,此时处于停止状态;
  • 4.当Activity由于人为或系统原因(如低内存等)被销毁,此时处于销毁状态;

在每个不同的状态阶段,Adnroid系统对Activity内相应的方法进行了回调。因此,我们在程序中写Activity时,一般都是继承Activity类并重写相应的回调方法。

创建CheatActivity,实现界面跳转

一个activity启动另一个activity最简单的方式是使用以下startActivity方法:

public void startActivity(Intent intent)

出现过得问题

1.某一个代码拼错会引起一连串相同的错误 例如:R出错
2.没有导入包
3空指针异常

时间: 2024-11-08 22:34:33

GeoQuiz的相关文章

Android开发1、2周——GeoQuiz项目

GeoQuiz项目总结 通过学习Android基本概念与构成应用的基本组件,来开发一个叫GeoQuiz的应用.该应用的用途是测试用户的地理知识.用户单击TRUE或FALSE按钮来回答屏幕上的问题,GeoQuiz可即时反馈答案正确与否. 开发前的准备工作 想要开发一个Android应用,首先要在电脑上装上开发软件.在这里推荐Android Studio,本文所有的开发都是在该平台上进行的. Android Studio的安装包括: 1.Android SDK 最新版本的Android SDK. 2

Android项目开发——GeoQuiz项目总结

GeoQuiz项目总结 通过学习Android基本概念与构成应用的基本组件,来开发一个叫GeoQuiz的应用.该应用的用途是测试用户的地理知识.用户单击TRUE或FALSE按钮来回答屏幕上的问题,GeoQuiz可即时反馈答案正确与否. 开发前的准备工作 想要开发一个Android应用,首先要在电脑上装上开发软件.在这里推荐Android Studio,本文所有的开发都是在该平台上进行的. Android Studio的安装包括: 1.Android SDK 最新版本的Android SDK. 2

Android项目开发---- GeoQuiz

 GeoQuiz项目总结: 前言 本项目为这学期开发的第一个应用,通过此项目我们能学习到一些Android基本概念以及构成应用的UI组件.此篇博客也是我学习编程以来第一次正式完成的第一篇博客,仍是十分浅显与生涩. 开发环境 本项目采用了AndroidStudio为开发环境. 首先我们需要在androidstudio中创建本项目,项目名称为GeoQuiz. 先在AndroidStudio中Start a new Android Studio project 项目名称为GeoQuiz 选择一个空页面

GeoQuiz项目

1.整个项目目录 2项目的三个界面的代码 <?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_height="

GeoQuiz项目的开发过程及总结

GeoQuiz项目的开发过程 1.用户界面的设计(xml文件)(1)activity_quiz界面 (2)activity_cheat界面 (3)activity_crime界面 (4)fragment_crime_list界面 (5)list_item_crime界面 2.用户界面的功能实现(创建类) (1)quizActivity public class QuizActivity extends AppCompatActivity { private Button mTrueButton;

Geoquiz学习笔记

Strings.xml<resources> <string name="app_name">GeoQuiz</string> <string name="question_text">Canberra is the capital of Australia.</string> <string name="true_button">True</string> &l

GeoQuiz初体验

小白,请多指教 GeoQuiz应用介绍 该应用是<Android权威编程指南>中的第一个DEMO,大概占了六-七章的篇幅,主要功能是: 用户通过点击"True"或"False"按钮回答屏幕上显示的判断题,并根据Toast出的信息检查自己的答案是否正确: 通过点击"上一题"或"下一题"切换题目: 该应用还提供了作弊功能,当用户点击"Cheat"按钮时,应用会告诉你正确答案,但通过作弊手段得到正确答

《Android编程权威指南》-读书笔记(四)-GeoQuiz功能扩展

<Android编程权威指南>-读书笔记 -GeoQuiz功能扩展 从现在开始,这本书开始扩展应用.在这次扩展中我们将会学习以下知识点: 创建一个新类 更新视图层 更新控制层 Git代码的修改和提交 Android Studio 在设备中运行该应用 给按钮添加图片资源 功能:下图是GeoQuiz应用对象图解.应用的对象按模型.控制器和视图的类别被分为三部分.Android应用是给予模型-控制器-视图(Model-View-Controller,简称MVC)的架构模式进行设计的. 创建一个类 T

GeoQuiz项目的开发与总结2

时间过得很快,第二阶段的学习结束了. 本周的主要工作是完成了Geoquiz项目的剩余部分. 首先是学到了些什么,最主要的是工作的流程,然后是界面的布局,菜单栏的设计到等.当然我觉得我学到的应该是工作制作的思维方式吧. 再来说说问题吧,先是通过上一个阶段,我养成了能够独立解决问题的能力,不再是遇到什么问题都发现不了错误,错在哪里<大部分应该是拼写的问题,还有各种关联属性错误<>,第二阶段遇到的最主要问题应该就是APP闪退,不过看老师改了几次后渐渐也能上手了,其实平常编写代码的时候要更为注意

GeoQuiz总结

一.创建Android项目 在New一个新的项目之后 创建如图目录 二.界面的设计 1.layout_land.xml: <TextView android:id="@+id/question_text_view" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horiz