8

私はAndroidを初めて使用します。私は周りを検索しましたが、AndroidのiOSのNSdictionaryのようなものは見つかりませんでした。たとえば、iOSでは、この形式のような辞書のSIMPLE配列を作成できます。

Array
   idx1: [objA1 for keyA],[objB1 for keyB],[objB1 for keyC]
   idx2: [objA2 for keyA],[objB2 for keyB],[objB2 for keyC]
   idx3: [objA3 for keyA],[objB3 for keyB],[objB3 for keyC]

Androidの場合と同じように機能する文字列配列を作成できることはわかっています

<string-array name="list_obj1">
    <item>ObjA1</item>
    <item>ObjB2</item>
    <item>ObjC3</item>
</string-array>
<string-array name="list_obj2">
    <item>ObjB1</item>
    <item>ObjB2</item>
    <item>ObjB3</item>
</string-array>
<string-array name="list_obj3">
    <item>ObjC1</item>
    <item>ObjC2</item>
    <item>ObjC3</item>
</string-array>

私の質問は、iOSのようなAndroidで辞書の配列を作成するために使用されるものが他にあるかどうかです。

ご協力ありがとうございました。

4

3 に答える 3

15

まず、このようなものについてのチュートリアルがたくさんあると思います。それから、より多くの情報を検索できます。あなたはアンドロイドに不慣れなので、検索する「名前」を知らないかもしれません。この場合、「HashMap」があなたが探しているものです。NSdictionaryのように機能します。

//Create a HashMap
Map <String,String> map =  new HashMap<String,String>();
//Put data into the HashMap
map.put("key1","Obj1");
map.put("key2","Obj2");
map.put("key3","Obj3");

// Now create an ArrayList of HashMaps
ArrayList<HashMap<String, String>> mylist = new ArrayList<HashMap<String, String>>();

//Add the HashMap to the ArrayList
mylist.add(map);

これで、辞書の配列のようなstができました。

この助けを願っています。

于 2012-08-06T14:56:25.977 に答える
2

@user1139699が言ったことをArrayListに入れることができます。

ArrayList<HashMap> list = new ArrayList();

Map <String, String> map =  new HashMap<String,String>();
map.put("key","Obj");

list.add(map);
于 2012-08-06T15:13:58.020 に答える
0

また、次のようなファイルをロードする場合:

property.key.1=value of 1st key
property.key.2=value of 2nd key
prompt.alert = alert 

など、java Properties();を使用できます。次に、各キーの値を即座に取得できます。



説明:

たとえば、ファイルmyTranslations.txtがあります。そのファイルに、キーと値のペアを次の形式で記述します。

property.key.1=value of 1st key
property.key.2=value of 2nd key
prompt.alert = alert 

ここで、「=」の前の部分がキーで、後の部分が値です。

次に、コードで次のことを行います。

Properties properties = new Properties();

    File propertiesFile = new File (filePath);
    FileInputStream inputStream = null;
    try {
        inputStream = new FileInputStream(propertiesFile);
        properties.load(inputStream);
    } catch (IOException ioe) {
        ioe.printStackTrace();
    }

ここで、filePathは上記のファイルへのパスです。

次に、各キーの値を次のように取得できます。

properties.get("prompt.alert")

文字列を返します:

alert

txtファイルにあるように。

それが助けになるなら、賛成してください。

于 2012-08-06T16:24:11.667 に答える