赞
踩
- onStart()方法:启动Activity时被回调,也就是当一个Activity变为显示时被回调。
-
- onRestart()方法:重新启动Activity时被回调,该方法总是在onStart()方法以后执行。
-
- onPause()方法:暂停Activity时被回调。该方法需要被非常快速地执行,因为直到该方法执行完毕之后,下一个Activity才能被恢复。在改方法中,通常用于持久保存数据。
-
- onResume()方法:当Activity由暂停状态恢复为活动状态时调用。调用该方法后,该Activity位于Activity栈的栈顶。该方法总是在onPause()方法之后执行。
-
- onStop()方法:停止Activity时被回调。
-
- onDestroy()方法:销毁Activity时被回调。
创建部分:
A、创建一个Activity一般是继承android.app包中的Activity类,不过在不同的应用场景下,也可以继承Activity的子类。创建一个继承Activity类的Activity,名称为MainActivity的具体代码如下:
- import android.app.Activity;
- public class MainActivity extends Activity {
- }
B、之后需要重写需要的回调函数,一般情况下都需要重写onCreate()方法,并且在该方法中调用setContentView()方法设置要显示的视图。
例如,在步骤(1)中创建的Activity中,重写onCreate()方法,并且设置要显示的视图的具体代码如下:
- import android.app.Activity;
- public class MainActivity extends Activity {
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- }
-
- }
配置部分(在使用工具编程是会自动完成此操作):
创建Activity后,还需要在AndroidManifest.xml文件中配置该Activity,
具体的配置方法是在<application></application>标记中添加<activity></activity>标记实现。<activity>标记的基本格式如下:
- <activity
- android:icon="@drawable/图标文件名"
- android:name="实现类"
- android:label="说明性文字"
- android:theme="要应用的主题"
- …
- >
- …
- </activity>
例如上面的例子中:
- <application
- android:allowBackup="true"
- android:icon="@mipmap/ic_launcher"
- android:label="@string/app_name"
- android:roundIcon="@mipmap/ic_launcher_round"
- android:supportsRtl="true"
- android:theme="@style/AppTheme">
- <activity android:name=".LinearlayoutActivity">
- <intent-filter>
- <action android:name="android.intent.action.MAIN" />
- </intent-filter>
- </activity>
- </application>
启动部分:
- import android.app.Activity;
- public class MainActivity extends Activity {
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
-
- setContentView(R.layout.main);
- Button button=(Button)findViewById(R.id.button1);
- button.setOnClickListener(new View.OnClickListener(){
- public void onClick(View v){
- Intent intent=new Intent(MainActivity.this,DetailActivity.class);//创建Intent对象
- startActivity(intent); //启动Activity
- }
-
- });
- }
关闭Activity
- import android.app.Activity;
- public class MainActivity extends Activity {
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
-
- setContentView(R.layout.main);
- Button button=(Button)findViewById(R.id.button1);
- button.setOnClickListener(new View.OnClickListener(){
- public void onClick(View v){
- finish(); //关闭Activity
- }
- });
- }
Bundle在多个Activity中交换数据
实例:
- public class MainActivity extends Activity {
- /** Called when the activity is first created. */
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- Button submit=(Button)findViewById(R.id.submit); //获取提交按钮
- submit.setOnClickListener(new View.OnClickListener() {
-
- @Override
- public void onClick(View v) {
- String user=((EditText)findViewById(R.id.user)).getText().toString(); //获取输入的用户
- String pwd=((EditText)findViewById(R.id.pwd)).getText().toString(); //获取输入的密码
- String repwd=((EditText)findViewById(R.id.repwd)).getText().toString(); //获取输入的确认密码
- String email=((EditText)findViewById(R.id.email)).getText().toString(); //获取输入的E-mail地址
- if(!"".equals(user) && !"".equals(pwd) && !"".equals(email)){
-
- if(!pwd.equals(repwd)){ //判断两次输入的密码是否一致
- Toast.makeText(MainActivity.this, "两次输入的密码不一致,请重新输入!", Toast.LENGTH_LONG).show();
- ((EditText)findViewById(R.id.pwd)).setText(""); //清空密码编辑框
- ((EditText)findViewById(R.id.repwd)).setText(""); //清空确认密码编辑框
- ((EditText)findViewById(R.id.pwd)).requestFocus(); //让密码编辑框获得焦点
- }else{ //将输入的信息保存到Bundle中,并启动一个新的Activity显示输入的用户注册信息
- Intent intent=new Intent(MainActivity.this,RegisterActivity.class);
- Bundle bundle=new Bundle(); //创建并实例化一个Bundle对象
- bundle.putCharSequence("user", user); //保存用户名
- bundle.putCharSequence("pwd", pwd); //保存密码
- bundle.putCharSequence("email", email); //保存E-mail地址
- intent.putExtras(bundle); //将Bundle对象添加到Intent对象中
- startActivity(intent); //启动新的Activity
-
- }
- }else{
- Toast.makeText(MainActivity.this, "请将注册信息输入完整!", Toast.LENGTH_LONG).show();
- }
-
- }
- });
- }
- }
获取部分:
- public class RegisterActivity extends Activity {
-
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.register); //设置该Activity中要显示的内容视图
- Intent intent=getIntent(); //获取Intent对象
- Bundle bundle=intent.getExtras(); //获取传递的数据包
- TextView user=(TextView)findViewById(R.id.user); //获取显示用户名的TextView组件
- user.setText("用户名:"+bundle.getString("user")); //获取输入的用户名并显示到TextView组件中
- TextView pwd=(TextView)findViewById(R.id.pwd); //获取显示密码的TextView组件
- pwd.setText("密码:"+bundle.getString("pwd")); //获取输入的密码并显示到TextView组件中
- TextView email=(TextView)findViewById(R.id.email); //获取显示E-mail的TextView组件
- email.setText("E-mail:"+bundle.getString("email")); //获取输入的E-mail并显示到TextView组件中
-
- }
-
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。