【问题标题】:how to loop through strings-arrays and add to realm database?如何遍历字符串数组并添加到领域数据库?
【发布时间】:2016-03-14 09:27:59
【问题描述】:

我有这样的字符串数组。

<resources>
    <string-array name="names">
        <item>foo/item>
        <item>bar</item>
        <item>moo</item>
    </string-array>
    <string-array name="majors">
        <item>E.P</item>
        <item>M.P</item>
        <item>E.P</item>
    </string-array>
    <integer-array name="years">
        <item>1968</item>
        <item>1993</item>
        <item>1995</item>
    </integer-array>
</resources>

还有一个 RealmObject 的 Student 类。

public class Student extends RealmObject {

    @PrimaryKey
    private int id;
    private String name;
    private String major;
    private Short year;

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getMajor() {
        return major;
    }

    public void setMajor(String major) {
        this.major = major;
    }

    public Short getYear() {
        return year;
    }

    public void setYear(Short year) {
        this.year = year;
    }
}

我想遍历每个字符串数组并将每个姓名、专业和年份放入领域 Object(Student).realm.commitTransaction() 将数据插入一个对象。我想将数据作为三个学生插入领域数据库.我该怎么做?

【问题讨论】:

    标签: android arrays database loops realm


    【解决方案1】:

    试试这个代码,

    String[] names = getResources().getStringArray(R.array.names);
            String[] majors = getResources().getStringArray(R.array.majors);
            String[] years = getResources().getStringArray(R.array.years);
            realm.executeTransaction(new Realm.Transaction() {
                @Override
                public void execute(Realm realm) {
                   for(int i=0; i<names.size; i++) {
                       String name = names[i];
                       String major = majors[i];
                       String year = years[i];
                       short yearValue = Short.valueOf(year);
    
                       Student student = new Student();
                       student.setId(i);
                       student.setName(name);
                       student.setYear(yearValue);
    
                       realm.insertOrUpdate(student);
                 }
            });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-09-17
      • 1970-01-01
      • 1970-01-01
      • 2019-03-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多