value들을 sqltie에 저장하고
읽어들여 배열에 넣고싶습니다.
==========================================================================
Stirng ITEMS="";
while(result.moveToNext()){
ITEMS = result.getString(1);
}
final String items[]={ITEMS}; <--final String items[] = { "value1", "value2","value3" }; 이런것과 동일한 값을 얻고 싶습니다.
AlertDialog.Builder ab = new AlertDialog.Builder(this);
ab.setTitle("title");
ab.setSingleChoiceItems(items, -1,
new DialogInterface.OnClickListener() { ..............
===============================================================================
ITEMS을 선언할 때
String[] ITEMS; 도해보고
String[] ITEMS[]; 도 해봤는데 잘안되네요 ;;
아......
저 죄송하지만 하나만 더 물어볼께요...;;;;
저렇게 해서
while(result.moveToNext()){
String[] array ={ result.getString(1) };
}
이렇게 하면 while 문 밖에서는 사용이 안되자나요..array 가..
그래서 선언을
해줘야하는데
String[] array; 해도 안되고
String array[]; 해도 안되고
String[] array = {}; 해도 안되고 ;;;
어떻게 선언을 해야 저 while 문안의 array 를 while 문 밖에서도 쓸수 있을까요..
이리저리 해봤는데도 잘안되네요 ;;
String[] array=null;
while(result.moveToNext()){
array={result.getString(1), result.getString(2), result.getString(3), ....}
}
그런데 이렇게 쓰시면 while밖에서는 마지막 row의 값밖에 못읽습니다.
배열에 쿼리결과물의 행을 담으시려는 건가요? 열을 담으시려는 건가요?
while(result.moveToNext()){
String[] array ={ result.getString(1) };
}
여기서 result.getString(1) <- 이놈 데이터 2번째 컬럼에 있는 값 모두 가져오는놈이거든요
id value
1. tset
2. test
3. setg
이렇게 데이터가 있다고 가정했을경우 value 값을 while 문으로 다 가져와요 ;;
"RAVET" 님께서 말씀 하신데로 while 밖에서 array 값을 사용할려하니 제일 마지막 값만 가져와서요..
while 에서 담은 배열 덩어리 값을 while 밖에서도 사용 하고 싶어요 ㅜ
// 전체 row의 갯수를 얻는 기능이 없기 때문에 끝으로 가서 현재 row가 몇번째인지 알아냅니다
result.moveToLast(); // 맨끝 row로 이동
int length=result.getCount(); // 현재 row 번호(=전체 row갯수)
result.moveToFirst(); // 이제 차례대로 읽어야 하니깐 맨 앞 row로 이동
String[] array=new String[length]; // row 길이로 배열 생성
for(int i=0;i<length;i++){ // row 길이 만큼 반복
array[i]=result.getString(1); // 현재row의 컬럼값 배열에 넣기
result.moveToNext(); // 다음 row로 이동(반복문 마지막에서는 이동이 불가능 하지만, 한번 더 읽지는 않을거라서 따로 처리는 안했습니다, 이동 불가시 예외발생 안하고 리턴값만 false)
}
다수행 다수열 일 경우
result.moveToLast(); // 맨끝 row로 이동
int rLength=result.getCount(); // 현재 row 번호(=전체 row갯수)
int cLength=result.getColumnCount(); // 컬럼 갯수
result.moveToFirst(); // 이제 차례대로 읽어야 하니깐 맨 앞 row로 이동
String[][] array=new String[rLength][cLength]; // row,column 2차원 배열 생성
for(int i=0;i<rLength;i++){ // 행 길이 만큼 반복
for(int j=0;j<cLength;j++){ // 열 길이 만큼 반복
array[i][j]=result.getString(j); // 반복문j로 인해 한 행의 모든 컬럼을 읽어냅니다
}
result.moveToNext(); // 다음 행으로 이동
}




여러컬럼을 가져오시려는거면
string[] array={cursor.getstring(1), cursor.getstring(2), ...};
커서가 0번부터 가져오는지 1번부터가져오는지 헷갈리네요
컬럼이적다면 저렇게하시고 컬럼이많다면
cursor.getcolumncount()컬럼길이를 알아내셔서 배열생성후 cursor.getstring(컬럼인덱스)을 반복문돌려서 배열에 차곡차곡 넣어주세요