Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/233.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在android app start上加载字典,并从不同的活动中使用它_Java_Android - Fatal编程技术网

Java 如何在android app start上加载字典,并从不同的活动中使用它

Java 如何在android app start上加载字典,并从不同的活动中使用它,java,android,Java,Android,我有一本字典如下: Map<String, String> fontDic = new HashMap<String, String>(); fontDic.put("1", "0x0627"); fontDic.put("2", "0x0628"); fontDic.put("3", "0x062A"); fontDic.put("4", "0x062B”); Map fontDic=new HashMap(); 方数字输入(“1”、“0x0627”); 方数字输入(

我有一本字典如下:

Map<String, String> fontDic = new HashMap<String, String>();
fontDic.put("1", "0x0627");
fontDic.put("2", "0x0628");
fontDic.put("3", "0x062A");
fontDic.put("4", "0x062B”);
Map fontDic=new HashMap();
方数字输入(“1”、“0x0627”);
方数字输入(“2”,“0x0628”);
方数字输入(“3”,“0x062A”);
方数字输入(“4”,“0x062B”);
我想在启动应用程序时加载此数组一次。此外,我想从不同的活动中使用此字典,而无需再次加载,如'String value=fontDic.get(fontNo)


那么,一次加载此数组列表并从不同位置使用的最佳方法是什么呢?

创建应用程序类并在应用程序类中编写此代码

public class MyApplictaion extends Application {
private static MyApplication myApplication = null;
public Map<String, String> fontDic;

@Override
public void onCreate() {
    super.onCreate();
    fontDic = new HashMap<String, String>();
    fontDic.put("1", "0x0627");
    fontDic.put("2", "0x0628");
    fontDic.put("3", "0x062A");
    fontDic.put("4", "0x062B");
}

public static MyApplication getInstance() {
    if (myApplication == null) {
        myApplication = new MyApplication();
    }
    return myApplication;
}
公共类MyApplictaion扩展应用程序{
私有静态MyApplication MyApplication=null;
公共地图;
@凌驾
public void onCreate(){
super.onCreate();
fontDic=新的HashMap();
方数字输入(“1”、“0x0627”);
方数字输入(“2”,“0x0628”);
方数字输入(“3”,“0x062A”);
方数字输入(“4”,“0x062B”);
}
公共静态MyApplication getInstance(){
if(myApplication==null){
myApplication=新的myApplication();
}
返回我的申请;
}
}

清单文件中的应用程序类条目

  <application
    android:name="com.example.app.MyApplication"
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:largeHeap="true"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">

在活动中使用

Map<String, String> fontDic=  MyApplication.getInstance().fontDic;
Map fontDic=MyApplication.getInstance().fontDic;

Um…这不是一个
ArrayList
创建一个单例类,并在构造函数上初始化它,然后在整个应用程序中使用它。