Android:如何将R.String数据发送到SQLite数据库并检索它

时间:2014-08-22 08:52:46

标签: android database sqlite

您好如何将 R.String.XXXX 中的String值发送到数据库中,我尝试如下,但获取地址而不是实际的字符串内容。

在我班上

 DatabaseHelper.getInstance(Aboutipc_fragment.this).addAboutData(R.string.aboutcontent, "haresh");

在我的数据库助手类

public void addAboutData(int aboutcontent,String string) {
        ContentValues cv = new ContentValues();

        //System.out.println("geting notes from the database===== "+str);
        cv.put(KEY_ABOUTCONTENT, aboutcontent);
        cv.put(KEY_VALUE,string);
        db.insert(CREATE_ABOUTIPC_TABLE, null, cv);

    }

我正在获取数据如下

public Cursor fetchcontentvalues() {
        Cursor c = null;
         c = db.query(CREATE_ABOUTIPC_TABLE, new String[] {KEY_ABOUTCONTENT}, null, null, null, null,null);
        //moving to the first note
        //c.moveToFirst();
         c.moveToPosition(0);
        System.out.println("getting notes from the database"+c.getString(0));

        return c;

    }

输出

getting notes from the database 2131099663

system out语句给出了一些地址值,我想显示字符串的实际内容。

2 个答案:

答案 0 :(得分:1)

这很简单

从r.string获取字符串,您可以使用返回字符串值的方法getString

String a=getString(R.string.name);

在您的方法中,您可以使用

addAboutData(getString(R.string.name), "haresh");

答案 1 :(得分:0)

使用以下内容:

String aboutContent = getResources().getString(R.string.xxxx);

更改addAboutData方法,如下所示

 public void addAboutData(String aboutcontent,String string) {
        ContentValues cv = new ContentValues();


        cv.put(KEY_ABOUTCONTENT, aboutcontent);
        cv.put(KEY_VALUE,string);
        db.insert(CREATE_ABOUTIPC_TABLE, null, cv);

    }

然后使用

获取数据
public Cursor fetchcontentvalues() {
        Cursor c = null;
         c = db.query(CREATE_ABOUTIPC_TABLE, new String[] {KEY_ABOUTCONTENT}, null, null, null, null,null);
        //moving to the first note
        //c.moveToFirst();
         c.moveToPosition(0);
        System.out.println("getting notes from the database"+c.getString(0));

        return c;

    }