/*
* Copyright (C) 2012 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.example.android.lifecycle;
import android.app.Activity;
import android.content.Intent;
import android.content.res.Configuration;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.TextView;
import com.example.android.lifecycle.util.StatusTracker;
import com.example.android.lifecycle.util.Utils;
/**
* Example Activity to demonstrate the lifecycle callback methods.
*/
public class ActivityA extends Activity {
private String mActivityName;
private TextView mStatusView;
private TextView mStatusAllView;
private StatusTracker mStatusTracker = StatusTracker.getInstance();
private static final String LOGTAG = "ActivityA";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_a);
mActivityName = getString(R.string.activity_a);
mStatusView = (TextView)findViewById(R.id.status_view_a);
mStatusAllView = (TextView)findViewById(R.id.status_view_all_a);
mStatusTracker.setStatus(mActivityName, getString(R.string.on_create));
Utils.printStatus(mStatusView, mStatusAllView);
Log.d(LOGTAG,"ActivityA.onCreate()");
}
@Override
public void onRestoreInstanceState(Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);
String myString = savedInstanceState.getString("MyString");
mStatusTracker.setStatus(mActivityName, getString(R.string.on_RestoreInstanceState));
Utils.printStatus(mStatusView, mStatusAllView);
Log.d(LOGTAG,"ActivityA.onRestoreInstanceState() " + myString);
}
@Override
protected void onStart() {
super.onStart();
mStatusTracker.setStatus(mActivityName, getString(R.string.on_start));
Utils.printStatus(mStatusView, mStatusAllView);
Log.d(LOGTAG,"ActivityA.onStart()");
}
@Override
protected void onRestart() {
super.onRestart();
mStatusTracker.setStatus(mActivityName, getString(R.string.on_restart));
Utils.printStatus(mStatusView, mStatusAllView);
Log.d(LOGTAG,"ActivityA.onRestart()");
}
@Override
protected void onResume() {
super.onResume();
mStatusTracker.setStatus(mActivityName, getString(R.string.on_resume));
Utils.printStatus(mStatusView, mStatusAllView);
Log.d(LOGTAG,"ActivityA.onResume()");
}
@Override
public void onSaveInstanceState(Bundle savedInstanceState) {
// Save the user's current game state
savedInstanceState.putString("MyString", "Welcome back to Android");
mStatusTracker.setStatus(mActivityName, getString(R.string.on_SaveInstanceState));
Utils.printStatus(mStatusView, mStatusAllView);
Log.d(LOGTAG,"ActivityA.onSaveInstanceState()");
// Always call the superclass so it can save the view hierarchy state
super.onSaveInstanceState(savedInstanceState);
}
@Override
protected void onPause() {
super.onPause();
mStatusTracker.setStatus(mActivityName, getString(R.string.on_pause));
Utils.printStatus(mStatusView, mStatusAllView);
Log.d(LOGTAG,"ActivityA.onPause()");
}
@Override
protected void onStop() {
super.onStop();
mStatusTracker.setStatus(mActivityName, getString(R.string.on_stop));
Log.d(LOGTAG,"ActivityA.onStop()");
}
@Override
protected void onDestroy() {
super.onDestroy();
mStatusTracker.setStatus(mActivityName, getString(R.string.on_destroy));
mStatusTracker.clear();
Log.d(LOGTAG,"ActivityA.onDestroy()");
}
public void startDialog(View v) {
Intent intent = new Intent(ActivityA.this, DialogActivity.class);
startActivity(intent);
}
public void startActivityB(View v) {
Intent intent = new Intent(ActivityA.this, ActivityB.class);
startActivity(intent);
}
public void startActivityC(View v) {
Intent intent = new Intent(ActivityA.this, ActivityC.class);
startActivity(intent);
}
public void finishActivityA(View v) {
ActivityA.this.finish();
}
//当指定了android:configChanges="orientation"后,方向改变时onConfigurationChanged被调用
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
mStatusTracker.setStatus(mActivityName, getString(R.string.on_ConfigurationChanged));
Log.d(LOGTAG,"ActivityA.onConfigurationChanged()");
switch (newConfig.orientation) {
case Configuration.ORIENTATION_PORTRAIT:
//setContentView(R.layout.orientation_portrait);
break;
case Configuration.ORIENTATION_LANDSCAPE:
//setContentView(R.layout.orientation_landscape);
break;
}
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
Android官方activity-lifecycle生命周期例子
共57个文件
class:16个
xml:10个
java:8个
需积分: 44 18 下载量 82 浏览量
2015-07-19
11:47:31
上传
评论
收藏 610KB ZIP 举报
温馨提示
Android官方activity-lifecycle生命周期例子,参考网页: http://developer.android.com/training/basics/activity-lifecycle/index.html 方便了解Activity生命周期,提供了非常形象的说明。生动讲解。可以结合官网查看。
资源推荐
资源详情
资源评论
收起资源包目录
activity-lifecycle.zip (57个子文件)
activity-lifecycle
.project 845B
project.properties 361B
proguard.cfg 1KB
src
com
example
android
lifecycle
ActivityC.java 4KB
util
StatusTracker.java 2KB
Utils.java 2KB
ActivityB.java 4KB
ActivityA.java 5KB
DialogActivity.java 1KB
build.properties 779B
AndroidManifest.xml 2KB
ant.properties 696B
res
drawable-ldpi
ic_launcher.png 652B
drawable-hdpi
ic_launcher.png 1022B
drawable-mdpi
ic_launcher.png 797B
layout
activity_c.xml 4KB
activity_b.xml 4KB
activity_a.xml 4KB
activity_dialog.xml 1KB
drawable-xhdpi
ic_launcher.png 1KB
values
dimensions.xml 776B
colors.xml 1KB
strings.xml 3KB
assets
gen
com
example
android
lifecycle
BuildConfig.java 171B
R.java 5KB
local.properties 479B
libs
android-support-v13.jar 251KB
default.properties 362B
build.xml 3KB
.classpath 475B
bin
resources.ap_ 15KB
classes
com
example
android
lifecycle
R$layout.class 540B
R$dimen.class 499B
ActivityC.class 3KB
BuildConfig.class 367B
R$drawable.class 440B
R$attr.class 373B
util
Utils$1.class 2KB
Utils.class 1KB
StatusTracker.class 2KB
R$id.class 915B
R.class 726B
R$string.class 2KB
ActivityB.class 3KB
R$color.class 726B
DialogActivity.class 755B
ActivityA.class 4KB
AndroidManifest.xml 2KB
dexedLibs
android-support-v13-06c5517e12aaf86b4dcb10238ea14c8a.jar 103KB
annotations-fc664ec7b3a7095fbe7e3a1f7f6061cb.jar 910B
jarlist.cache 120B
res
crunch
drawable-ldpi
ic_launcher.png 902B
drawable-hdpi
ic_launcher.png 1KB
drawable-mdpi
ic_launcher.png 966B
drawable-xhdpi
ic_launcher.png 1KB
classes.dex 408KB
ActivityA.apk 125KB
共 57 条
- 1
资源评论
水滴石穿2015
- 粉丝: 4
- 资源: 8
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功