안드로이드 개발 질문/답변
(글 수 45,052)
contentprovider 에서 MatrixCursor를 사용하려고하는데요.. 이렇게 쓰는게 맞는지 모르겠녜요 ;;
MatrixCursor를 이용해서 새로운 데이터의 커서를 보내고 싶은데 말이죠 ㅠㅠ
부탁드립니다 ㅠㅠ
==========================================================================================
public Cursor query(Uri uri, String[] projection, String selection,
String[] selectionArgs, String sortOrder) {
String sql;
MatrixCursor result = null;
// 전체에 대한 쿼리 명령
sql = "SELECT id, backup_id, package_name, file_path, file_name,file_type FROM BACK_UP_FILE_INFO";
/*
// 단어 선택 where절 추가
if (Matcher.match(uri) == ONEFILE) {
sql += " where eng = '" + uri.getPathSegments().get(1) + "'";
}*/
if(Matcher.match(uri)== BACKUP)//백업이라는 uri가 붙어올때
{
ArrayList<backUpFileInfo> backUpFiles = new ArrayList<backUpFileInfo>();
backUpFiles.add(new backUpFileInfo("test.txt",0,"/sdcard/ar2","exam.Data"));
backUpFiles.add(new backUpFileInfo("test.txt",0,"/sdcard/","exam.Data"));
try {
if(backUpFiles.get(0).CopyToSdcard()){// 복사 성공시
backUpFiles.get(1).CopyToSdcard();
result = new MatrixCursor(new String[]{"pakage_name","file_path","file_name","file_type"});
result.addRow(new Object[] {
backUpFiles.get(0).getpackage_name(),
backUpFiles.get(0).getFile_path(),
backUpFiles.get(0).getFile_name(),
backUpFiles.get(0).getFile_type()
});
result.addRow(new Object[] {
backUpFiles.get(1).getpackage_name(),
backUpFiles.get(1).getFile_path(),
backUpFiles.get(1).getFile_name(),
backUpFiles.get(1).getFile_type()
});
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//Cursor cursor = mDB.rawQuery(sql, null);
return result;
}
MatrixCursor를 이용해서 새로운 데이터의 커서를 보내고 싶은데 말이죠 ㅠㅠ
부탁드립니다 ㅠㅠ
==========================================================================================
public Cursor query(Uri uri, String[] projection, String selection,
String[] selectionArgs, String sortOrder) {
String sql;
MatrixCursor result = null;
// 전체에 대한 쿼리 명령
sql = "SELECT id, backup_id, package_name, file_path, file_name,file_type FROM BACK_UP_FILE_INFO";
/*
// 단어 선택 where절 추가
if (Matcher.match(uri) == ONEFILE) {
sql += " where eng = '" + uri.getPathSegments().get(1) + "'";
}*/
if(Matcher.match(uri)== BACKUP)//백업이라는 uri가 붙어올때
{
ArrayList<backUpFileInfo> backUpFiles = new ArrayList<backUpFileInfo>();
backUpFiles.add(new backUpFileInfo("test.txt",0,"/sdcard/ar2","exam.Data"));
backUpFiles.add(new backUpFileInfo("test.txt",0,"/sdcard/","exam.Data"));
try {
if(backUpFiles.get(0).CopyToSdcard()){// 복사 성공시
backUpFiles.get(1).CopyToSdcard();
result = new MatrixCursor(new String[]{"pakage_name","file_path","file_name","file_type"});
result.addRow(new Object[] {
backUpFiles.get(0).getpackage_name(),
backUpFiles.get(0).getFile_path(),
backUpFiles.get(0).getFile_name(),
backUpFiles.get(0).getFile_type()
});
result.addRow(new Object[] {
backUpFiles.get(1).getpackage_name(),
backUpFiles.get(1).getFile_path(),
backUpFiles.get(1).getFile_name(),
backUpFiles.get(1).getFile_type()
});
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//Cursor cursor = mDB.rawQuery(sql, null);
return result;
}