文章目录
- 1、简介
- 2、功能实例
- 1)、文件结构
- 2)自定义 MyApplication.java 文件
- 3)MainActivity.java文件
- 4)OtherActivity.java 文件
- 5)AndroidManifest.xml 文件
- 3、效果展示
1、简介
使用 Application 传递全局参数变量
方便参数的调用
2、功能实例
1)、文件结构
2)自定义 MyApplication.java 文件
package com.example.lum.testapk;
import java.util.HashMap;
import android.app.Application;
public class MyApplication extends Application {
private HashMap<String, Object> map = new HashMap<String, Object>();
private String name ;
private static MyApplication instance;
public static MyApplication getInstance() {
return instance;
}
public HashMap<String, Object> getMap() {
return map;
}
public void setMap(HashMap<String, Object> map) {
this.map = map;
}
public void setName(String name){
this.name = name;
}
public String getName(){
return this.name;
}
@Override
public void onCreate() {
super.onCreate();
this.instance = this;
}
}
3)MainActivity.java文件
package com.example.lum.testapk;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class MainActivity extends Activity {
private Button btn_tiaozhuan;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn_tiaozhuan=(Button) findViewById(R.id.btn_tiaozhuan);
btn_tiaozhuan.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent intent=new Intent(MainActivity.this,OtherActivity.class);
MyApplication app=MyApplication.getInstance();
app.getMap().put("data1","小狗");
app.getMap().put("data2","小猫");
app.getMap().put("data3","小鸟");
app.getMap().put("data4","小鱼");
startActivity(intent);
app.setName("烦啦烦啦");
}
});
}
}
4)OtherActivity.java 文件
package com.example.lum.testapk;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
public class OtherActivity extends Activity{
MyApplication app=MyApplication.getInstance();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Log.d("OtherActivity",(String) app.getMap().get("data1"));
Log.d("OtherActivity",(String) app.getMap().get("data2"));
Log.d("OtherActivity",(String) app.getMap().get("data3"));
Log.d("OtherActivity",(String) app.getMap().get("data4"));
Log.d("OtherActivity",app.getName());
}
@Override
protected void onDestroy() {
super.onDestroy();
app.getMap().remove("data1");
app.getMap().remove("data2");
app.getMap().remove("data3");
app.getMap().remove("data4");
app.setName("null");
}
}
5)AndroidManifest.xml 文件
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.lum.testapk">
<application
**android:name=".MyApplication"**
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=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
**<activity android:name=".OtherActivity"/>**
</application>
</manifest>
3、效果展示