Android Sqite数据库

如果查询出来的数据需要转换成json和xml,那怎么办呢?

可以这样,先把数据和对应数据名放到Map中,比如HashMap:第一个放字段名,第二个放数据,不是String的,先转换成String:

HashMap map=new HashMap();

具体步骤如下:
实现查询:如果要实现插入,那么先把数据全部放到HashMap中,然后取出放到ContentValues对象中:

查询如下:返回一个HashMap对象:

public HashMap querymap(/* query condition, eg : id */int id) {

        HashMap map = new HashMap();

        SQLiteDatabase sqldb = this.getReadableDatabase();

        DataUser usr = new DataUser();

        String columns[] = { SQLManager.TABLE_USER_FIELD,
                SQLManager.TABLE_PASSWORD_FIELD,
                SQLManager.TABLE_NICKNAME_FIELD };
        String orderby = SQLManager.TABLE_ID_FIELD;

        String selections = "id=?";
        String conditions[] = new String[] { "" + id };

        Cursor cr = sqldb.query(SQLManager.SQ_LITE_DATABASE_TABLE, columns,
                selections, conditions, null, null, null);

        cr.moveToFirst();
        // only a data list return

        map.put("id", String.valueOf(cr.getInt(0)));
        map.put("usr", cr.getString(1));
        map.put("nickname", cr.getString(2));
        map.put("pwd", cr.getString(3));

        return map;

    }


如果在上面的基础上需要返回很多条数据记录怎么办?

可以这样,先将每一条数据先存入一个Map中,然后将Map对象添加到List中,这样就相当于有一个List的Map数据数组了,嵌套使用.

具体实现如下:

public List> querymap(
            /* query condition, eg : pwd */String password) {

        List> maplist = new ArrayList>();
        HashMap map = new HashMap();

        SQLiteDatabase sqldb = this.getReadableDatabase();

        DataUser usr = new DataUser();

        String columns[] = { SQLManager.TABLE_USER_FIELD,
                SQLManager.TABLE_PASSWORD_FIELD,
                SQLManager.TABLE_NICKNAME_FIELD };
        String orderby = SQLManager.TABLE_ID_FIELD;

        String selections = "u_pwd=?";
        String conditions[] = new String[] { "" + password };

        Cursor cr = sqldb.query(SQLManager.SQ_LITE_DATABASE_TABLE, columns,
                selections, conditions, null, null, null);

        cr.moveToFirst();
        // only a data list return
        while (!cr.isAfterLast()) {
            map.put("id", String.valueOf(cr.getInt(0)));
            map.put("usr", cr.getString(1));
            map.put("nickname", cr.getString(2));
            map.put("pwd", cr.getString(3));
            maplist.add(map);
        }
        return maplist;
    }


转换成json或者xml可以参考其他的.

 

 

 

 

转载于:https://www.cnblogs.com/MMLoveMeMM/articles/3627431.html

你可能感兴趣的:(Android Sqite数据库)