从sqlite android数据库本地化值

时间:2014-08-15 20:36:10

标签: android sqlite localization

我有问题。我制作Android应用程序。我使用REST服务器获取数据并放回数据。我不知道如何在Android应用程序中以特定语言解析其余数据。我知道android有一个res文件到资源值以显示用户语言的接口,但是如何使用res文件来转换REST响应或SQLlite记录中的值,这些记录必须转换为用户语言。我从服务器数据库获取,如下图所示:This image

1 个答案:

答案 0 :(得分:0)

我解决了一个问题。我想和你分享,也许有人有同样的问题。首先我从android数据库中获取数据(用来自REST的json数据填充数据):

 public List<String> getAllInList(){
    List<String> labels = new ArrayList<String>();

    // Select All Query
    String selectQuery = "SELECT title FROM " + TABLE_PAYMENT;
    SQLiteDatabase db = this.getReadableDatabase();
    Cursor c = db.rawQuery(selectQuery, null);

    // looping through all rows and adding to list
    if (c.moveToFirst()) {
        do {
            labels.add(c.getString(c.getColumnIndex("title")));
        } while (c.moveToNext());
    }

    // closing connection and cursor
    c.close();
    db.close();

    // returning lables
    return labels;
}

用资源字符串替换数据库中的字符串并放入spinner:

 List<String> list = db.getAllInList();
    for(int i=0; i<list.size();i++ )
    {            
list.set(i,getResources().getStringArray(R.array.spinner_items)[i]);
    }