android getApplication()使用 - 在Activity之间传递数据

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/f2006116/article/details/87527113

    Android应用中的Application可以作为Activity中的“公共访问区”,充当存取中介,在Activity之前传递数据。

具体代码示例如下:

1.构建Application类

package com.hyzing;
 
import android.app.Application;
 
public class MySystemAppcation extends Application{
	private int curIndex;
 
	public int getCurIndex() {
		return curIndex;
	}
 
	public void setCurIndex(int curIndex) {
		this.curIndex = curIndex;
	}
 
	@Override
	public void onCreate() {
		super.onCreate();
	}
 
	@Override
	public void onTerminate() {
		super.onTerminate();
	}
}

2.声明Application

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.hyzing"
    android:versionCode="1"
    android:versionName="1.0" >
 
    <uses-sdk android:minSdkVersion="15" />
    <application android:name=".MySystemAppcation"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name" >
        <activity
            android:name=".SystemtestActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity
            android:name=".PrintActivity"
            android:label="@string/app_name" >            
        </activity>
        <activity
            android:name=".PrintAgainActivity"
            android:label="@string/app_name" >            
        </activity>
        
    </application>
 
</manifest>

3.构建Activity并通过Application传递数据

package com.hyzing;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
 
public class SystemtestActivity extends Activity {
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		//setContentView(R.layout.main);	
		MySystemAppcation application = (MySystemAppcation) this
				.getApplication();
		System.out.println("++++++++++++++"+application);
		Log.i("data", "===============" + application.getCurIndex());
		application.setCurIndex(5);
		Intent intent = new Intent();
        Bundle bundle = new Bundle();
        bundle.putString("checkIn", "0");
        bundle.putBoolean("managerUser", true);
        intent.putExtras(bundle);
        intent.setClass(SystemtestActivity.this, PrintActivity.class);
        startActivity(intent);
		
	}
}

package com.hyzing;
 
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
 
public class PrintActivity extends Activity {
 
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		MySystemAppcation application = (MySystemAppcation) this
				.getApplication();
		Log.i("data", "" + application.getCurIndex());
		application.setCurIndex(6);
		Intent intent = new Intent();
        Bundle bundle = new Bundle();
        bundle.putString("checkIn", "0");
        bundle.putBoolean("managerUser", true);
        intent.putExtras(bundle);
        intent.setClass(PrintActivity.this, PrintAgainActivity.class);
        startActivity(intent);
	}
}

4.构建Activity查看参数变化

package com.hyzing;
 
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
 
public class PrintAgainActivity extends Activity {
 
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		final MySystemAppcation application = (MySystemAppcation) this
				.getApplication();
		Log.i("data", "" + application.getCurIndex());
 
	}
 
}

代码参考自:https://blog.csdn.net/liuwang888/article/details/84147925

类似文章:https://blog.csdn.net/su20145104009/article/details/50654638

猜你喜欢

转载自blog.csdn.net/f2006116/article/details/87527113