콘텐츠Provider에서 GroupBy 조회 실현

1372 단어

저번 예도 쓰고.


폴더 이름에 따라 그룹을 구성하려면 코드는 다음과 같습니다
	    String[] projection = {
	    		MediaStore.Images.ImageColumns._ID,
	    		MediaStore.Images.ImageColumns.DATA,
	    		"(SELECT _data FROM thumbnails WHERE thumbnails.image_id =images._id) AS thumbnail",
	    };
	    String selection = "0==0) GROUP BY (bucket_display_name"; 
	    
	    Uri uri = MediaStore.Images.Media.getContentUri("external");
	    Cursor c = MediaStore.Images.Media.query(this.getContentResolver(), uri, projection, selection, null,"_id");
	    while(c.moveToNext()) {
	    	Log.i("zhangrl", ""+c.getLong(c.getColumnIndexOrThrow("_id")) 
	    			+ "|" + c.getString(c.getColumnIndexOrThrow("_data"))
	    			+ "|" + c.getString(c.getColumnIndexOrThrow("thumbnail"))
	    			);
	    }

Selection에 덧붙이기만 하면 돼요.
String selection = "0==0) GROUP BY (bucket_display_name";
Android는query의 매개 변수를 하나의 sql 문장으로 통합합니다. 그 중에서 selection의 문자열을 자동으로 괄호 한 쌍을 붙여서 'WHERE (XXX)' 형식으로 변하게 할 것입니다. 따라서 selection에 괄호가 있는 경우 특히 주의하십시오

좋은 웹페이지 즐겨찾기