Java 有没有办法将XML中存储的值数组读入类型化的ArrayList?

Java 有没有办法将XML中存储的值数组读入类型化的ArrayList?,java,android,xml,xml-parsing,Java,Android,Xml,Xml Parsing,我刚刚开始使用Android Studio和Java。我想读入一个文件(可以是任何文件格式),该文件存储一组字符串+长字符串。然后,我想将该数组键入一个类(假设这只是一个简单的for循环,通过我从XML中读取的内容来构造元素)——问题更多的是读取其中的数据 我对res/values/中的文件做了很多修改,但还没有找到为一个项目分配两个值的方法。如果我可以调用xml[0].string和xml[0].long,那就足够了。试试这个,例如:把它放在arrays.xml的rec/values/arra

我刚刚开始使用Android Studio和Java。我想读入一个文件(可以是任何文件格式),该文件存储一组字符串+长字符串。然后,我想将该数组键入一个类(假设这只是一个简单的for循环,通过我从XML中读取的内容来构造元素)——问题更多的是读取其中的数据


我对res/values/中的文件做了很多修改,但还没有找到为一个项目分配两个值的方法。如果我可以调用xml[0].string和xml[0].long,那就足够了。

试试这个,例如:把它放在arrays.xml的rec/values/arrays.xml中。

<string-array name="array_gender">
        <item>Select Gender</item>
        <item>Male</item>
        <item>Female</item>
    </string-array>

选择性别
男性
女性
用法

List myArrayList=Arrays.asList(getResources().getStringArray(R.array.array_));

您可以在参考资料中设置两个数组,使其在末尾形成一个数组

res/values/arrays.xml


1.
2.
3.
4.
字符串1
字符串2
字符串3
字符串4
在你们班

Resources res=getResources();
int[]ints=res.getIntArray(R.array.integer\u数组);
String[]strings=res.getStringArray(R.array.String\u数组);
//将它们添加到对象数组中
ArrayList=新建ArrayList();
int i=0;
而(i<整数长度){
//确保两个列表的大小相同
添加(新对象(ints[i],strings[i]);
i++;
}

我不确定您是否可以使用此工具获取
long
项,但integer应该可以完成这项工作

如何定位和查看相应的XML?我很困惑大部分的事情是怎么处理的。。或者更确切地说是被js中的.json破坏了。这很好用。我想我现在不用多久就能到处走动了。另外一个问题是,把我的想法想象一下。我打算创建一组默认数据,用户可以用它来“测试”应用程序(对我来说也是在开发中测试它,但我想要的是我以后可以在生产中实际使用的东西……不是半途而废的人)。用户以后也可以添加其他值,我将如何存储/读取这些值?一些关键字应该足以帮助您获得有关该主题的一些信息。您可以设置一个sqlite数据库并调用它,它比这个更灵活。在xml文件中设置值适用于一些简单的事情,如微调器的值(例如,如果用户必须在下拉列表中的固定数量的项之间进行选择),但要存储用户数据(或其他内容),应该选择数据库(内置sqlite,但它们也是其他选项),并且可以在数据库中存储
long
List<String> myArrayList = Arrays.asList(getResources().getStringArray(R.array.array_gender));
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <integer-array name="integer_array">
        <item>1</item>
        <item>2</item>
        <item>3</item>
        <item>4</item>
    </integer-array>
    <string-array name="string_array">
        <item>string 1</item>
        <item>string 2</item>
        <item>string 3</item>
        <item>string 4</item>
    </string-array>
</resources>
Resources res = getResources();
int[] ints = res.getIntArray(R.array.integer_array);
String[] strings = res.getStringArray(R.array.string_array);

//add them to your object array
ArrayList<YourObject> list = new ArrayList();

int i = 0;
while(i < ints.length){
    //make sure the two lists are the same size
    list.add(new YourObject(ints[i], strings[i]));
    i++;
}