- 通过具体操作理解Android应用的运行机制和生命周期。
Android中一个Activity需要实现七个函数:onCreate(),onStart(),onResume(),onPause(),onStop(),onRestart(),onDestroy().
首先,要在MainActivity里写出相应的函数:
package com.example.lifecycle;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
public class MainActivity extends AppCompatActivity {
String TAG = "myTag";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Log.d(TAG, "onCreate: ");
}
@Override
protected void onStart() {
super.onStart();
Log.d(TAG, "onStart: ");
}
@Override
protected void onResume() {
super.onResume();
Log.d(TAG, "onResume: ");
}
@Override
protected void onPause() {
super.onPause();
Log.d(TAG, "onPause: ");
}
@Override
protected void onStop() {
super.onStop();
Log.d(TAG, "onStop: ");
}
@Override
protected void onRestart() {
super.onRestart();
Log.d(TAG, "onRestart: ");
}
@Override
protected void onDestroy() {
super.onDestroy();
Log.d(TAG, "onDestroy: ");
}
}
一个Activity正常启动:onCreate() -> onStart() -> onResume.
一个Activity正常退出:onPause() -> onStop().
此Activity重新启动:onRestart() -> onStart() ->onResume().
加了一个finish函数,程序刚一启动就结束,目的是为了方便看清楚周期:onCreate() -> onDestroy()。
public class MainActivity extends AppCompatActivity {
String TAG = "myTag";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Log.d(TAG, "onCreate: ");
finish(); //程序刚一启动就结束
}
- 控件
控件:我们用户跟手机交互接触到的所有对象。
实现用户和手机的交互要用代码去控制,控制逻辑:用id跟变量建立联系。
1、一个简单的交互:左边按钮按下,显示“左边”;右边按钮按下,显示“右边”。
代码段:
textView = findViewById(R.id.textView2);//代码中的变量和界面中的控件建立连接,想要控制控件,直接控制变量就可以。
button2 = findViewById(R.id.button2);
button3 = findViewById(R.id.button3);
button2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
textView.setText("左边");
}
});
button3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
textView.setText("右边");
}
});
运行结果:
2、运用常用的控件,通过代码控制实现人机交互。
选用常用的控件:
交互代码段:
display = findViewById(R.id.textView); //最上面的显示
buttonLeft = findViewById(R.id.button); //控制左边"left"按钮
buttonRight = findViewById(R.id.button2); //控制右边"right"按钮
button3 = findViewById(R.id.button3); //控制确定"ture"按钮
aSwitch = findViewById(R.id.switch2); //控制开关
progressBar = findViewById(R.id.progressBar3); //输入数字控制进度条的进度
editText = findViewById(R.id.editTextNumber); //控制数字输入
radioGroup = findViewById(R.id.radioGroup); //选项按钮,一次只能选中一个
imageView = findViewById(R.id.imageView); //显示图标
seekBar = findViewById(R.id.seekBar); //控制可手动拖拽的进度条
checkBoxChinese = findViewById(R.id.checkBox); //"Chinese"选项,与下面的"Math""English"可同时选中
checkBoxMath = findViewById(R.id.checkBox2); //"Math"选项
checkBoxEnglish = findViewById(R.id.checkBox3); //"English"选项
ratingBar = findViewById(R.id.ratingBar); //星评价
运行结果:
交互的代码采用的Java语言编写,本人对于Java语言并不熟悉,在看教程时对于有些代码段的理解不是很到位,接下来要开始对Java基础的学习,方便更好的进行Android开发。
文章评论