마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

cursor 고수님들 도와주세요..ㅠㅠ

0 추천

안녕하세요 초보 개발자입니다.

앱을 보다가 궁금 한게 생겨서 질문을 올립니다.ㅎㅎㅎ

 
public Cursor CursorTest(String searchNum){
 
Cursor cs = null;
StringBuffer sqlStr = new StringBuffer();
 
sqlStr.append("\n SELECT * FROM shelters WHERE 1=1 ");
if(searchNum != null && !searchNum.equals("")){
 
sqlStr.append("\n AND sh_inx like '%"+searchNum+"%' ");
 
}
sqlStr.append("\n ; ");
SQLiteDatabase rd = SQLiteDatabase.openDatabase(storage,null, SQLiteDatabase.OPEN_READWRITE | SQLiteDatabase.NO_LOCALIZED_COLLATORS);
try{
cs = (BoardCursor) rd.rawQueryWithFactory(
new BoardCursor.Factory()
,sqlStr.toString()
,null
,null);
 
cs.moveToFirst();
}catch(Exception e){
Log.d("DB-SheltersInfoDao", String.valueOf(e));
 
}
 
return cs;
 
}
이런 메소드를 사용하면 return 되기 전에 cs.close();를 해주어야 되나요..??
아니면 메소드를 사용하는 부분
Cursor cc = CursorTest(str);
~~~
cc.close();
여기서 close를 해줘야되나요..?
너무 궁금해서 질문 드려요 ㅎㅎ
 
이이 (360 포인트) 님이 2014년 3월 5일 질문

2개의 답변

+1 추천
메소드를 사용하고 나서 close를 해줘야 할 것으로 생각되네요.

반환하기전에 close를 하면 쓰지도 못 하는것을 반환하는 것과 마찬가지 아닐까요?
인연 (31,880 포인트) 님이 2014년 3월 5일 답변
0 추천
사용하고 닫으셔야죠~

cc.close()
초보개발자ㅠ (33,870 포인트) 님이 2014년 3월 5일 답변
...