标签:oncreate line 用户输入 水平 设计 系统调用 start 系统 activity栈
GeoQuiz项目总结:
本项目为这学期开发的第一个应用,通过此项目我们能学习到一些Android基本概念以及构成应用的UI组件。此篇博客也是我学习编程以来第一次正式完成的第一篇博客,仍是十分浅显与生涩。
本项目采用了AndroidStudio为开发环境。
首先我们需要在androidstudio中创建本项目,项目名称为GeoQuiz。
首先我们需要进行的是用户界面的实现,本项目主要采用了垂直与水平LinearLayout组件,TextView组件和Button组件。在text界面我们可以快速的编写组件代码从而更加效率的完成布局,本项目总共有两个activity,以及三个布局视图包括了可旋转视图,我们可以看到完成后的布局如下:
我们为所有的button控件全都设置了监听器,所有的监听器全部使用了匿名内部类来实现,这样可以相对集中实现监听器方法并且可以不用繁琐的创建命名类,我们可以感受一下实现代码:
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/true_button"/>
<resources>
<string name="app_name">GeoQuiz</string>
...
<string name="true_button">True</string>
...
</resources>
<Button
android:id="@+id/true_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/true_button"/>
public class QuizActivity extends AppCompatActivity {
private Button mTrueButton;
...
}
public class QuizActivity extends AppCompatActivity {
private Button mTrueButton;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_quiz);
mTrueButton = (Button) findViewById(R.id.true_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() {
@Override
public void onClick(View v) {
// Does nothing yet, but soon!
}
});
mFalseButton = (Button) findViewById(R.id.false_button);
}
}
如图我们可以先简单的了解:
MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范。
使用MVC的优点。
结合代码来更加深入了解:
public class Question {
private int mTextResId;
private boolean mAnswerTrue;
public Question(int textResId, boolean answerTrue){
mTextResId = textResId;
mAnswerTrue = answerTrue;
}
public int getTextResId(){
return mTextResId;
}
public void setTextResId(int textResId){
mTextResId = textResId;
}
public boolean isAnswerTrue(){
return mAnswerTrue;
}
public void setAnswerTrue(boolean answerTrue){
mAnswerTrue = answerTrue;
}
}
每个安卓都有其生命周期,在生命周期内,activity在运行、暂停、停止和不运行这四种状态中转换。每次状态转换时,都有相应的Activity方法发消息通知activity。下图显示了activity的生命周期、状态以及状态切换时系统调用的方法。
Activity是由Activity栈进管理,当来到一个新的Activity后,此Activity将被加入到Activity栈顶,之前的Activity位于此Activity底部。Acitivity一般意义上有四种状态:
在每个不同的状态阶段,Adnroid系统对Activity内相应的方法进行了回调。因此,我们在程序中写Activity时,一般都是继承Activity类并重写相应的回调方法。
标签:oncreate line 用户输入 水平 设计 系统调用 start 系统 activity栈
原文地址:http://www.cnblogs.com/wypboke/p/7533223.html