Application使用示例

MainActivity如下:

package cn.testapplication;

import android.os.Bundle;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

import android.app.Activity;

import android.content.Intent;

/**

 * Demo描述:

 * Application的基本使用

 * 1 自定义OurApplication继承自Application

 * 2 为AndroidManifest.xml下application结点新加个name属性

 *   name的具体值即为OurApplication的路径

 *   

 * 简单流程:

 * 在MainActivity中点击按钮跳转到AnotherActivity.在AnotherActivity

 * 中修改了OurApplication中所保存的值.然后按下Back键,回到MainActivity.

 * 此时监测OurApplication中所保存的值.

 */

public class MainActivity extends Activity {

    private Button mButton;

	@Override

	protected void onCreate(Bundle savedInstanceState) {

		super.onCreate(savedInstanceState);

		setContentView(R.layout.main);

		init();

	}

	private void init(){

		mButton=(Button) findViewById(R.id.button);

		mButton.setOnClickListener(new OnClickListener() {

			@Override

			public void onClick(View view) {

                Intent intent=new Intent(MainActivity.this, AnotherActivity.class);

                startActivity(intent);

			}

		});

	}



	@Override

	protected void onRestart() {

		super.onRestart();

		OurApplication ourApplication=(OurApplication) getApplication();

    	System.out.println("MainActivity中得到新的Password:"+ourApplication.getPassword());

	}



}


AnotherActivity如下:

package cn.testapplication;

import android.app.Activity;

import android.os.Bundle;

public class AnotherActivity extends Activity{

   @Override

	protected void onCreate(Bundle savedInstanceState) {

		super.onCreate(savedInstanceState);

		setContentView(R.layout.another);

		init();

	}

    private void init(){

    	OurApplication ourApplication=(OurApplication) getApplication();

    	System.out.println("AnotherActivity中得到原来的Password:"+ourApplication.getPassword());

    	String newPassword="9527";

    	ourApplication.setPassword(newPassword);

    	System.out.println("AnotherActivity中设置新的Password:"+newPassword);

    }

}


OurApplication如下:

package cn.testapplication;



import android.app.Application;



public class OurApplication extends Application {

	private String applicationPassword;

	@Override

	public void onCreate() {

		super.onCreate();

		applicationPassword="007";

	}

	public void setPassword(String password){

		applicationPassword=password;

	}

	public String getPassword(){

		return applicationPassword;

	}

}


AndroidManifest.xml如下:

<?xml version="1.0" encoding="utf-8"?>

<manifest xmlns:android="http://schemas.android.com/apk/res/android"

    package="cn.testapplication"

    android:versionCode="1"

    android:versionName="1.0" >



    <uses-sdk

        android:minSdkVersion="8"

        android:targetSdkVersion="8" />



    <application

        android:name="cn.testapplication.OurApplication"

        android:allowBackup="true"

        android:icon="@drawable/ic_launcher"

        android:label="@string/app_name"

        android:theme="@style/AppTheme" >

        <activity

            android:name="cn.testapplication.MainActivity"

            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="cn.testapplication.AnotherActivity"></activity>

    </application>

</manifest>


main.xml如下:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

    xmlns:tools="http://schemas.android.com/tools"

    android:layout_width="match_parent"

    android:layout_height="match_parent"

     >



    <Button

        android:id="@+id/button"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:text="Click Me"

        android:textSize="28sp"

        android:layout_centerInParent="true"

    />



</RelativeLayout>


another.xml如下:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

    xmlns:tools="http://schemas.android.com/tools"

    android:layout_width="match_parent"

    android:layout_height="match_parent"

     >



    <TextView

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:text="Another Activity"

        android:textSize="28sp"

        android:layout_centerInParent="true"

    />



</RelativeLayout>


 

 

你可能感兴趣的:(application)