Android Sqite 데이터베이스

5524 단어
만약 조회 한 데 이 터 를 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

좋은 웹페이지 즐겨찾기