Application 传递全局 参数变量
  HvTJUzsxOBtS 2023年11月25日 37 0



文章目录

  • 1、简介
  • 2、功能实例
  • 1)、文件结构
  • 2)自定义 MyApplication.java 文件
  • 3)MainActivity.java文件
  • 4)OtherActivity.java 文件
  • 5)AndroidManifest.xml 文件
  • 3、效果展示


1、简介

使用 Application 传递全局参数变量
方便参数的调用

2、功能实例
1)、文件结构

Application  传递全局 参数变量_ide

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、效果展示

Application  传递全局 参数变量_java_02


【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月25日 0

暂无评论

推荐阅读
HvTJUzsxOBtS