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

DB 내용들을 listview로 가져오는 방법..

0 추천
제가 EXCEL 을 이용하여 데이터베이스에 데이터를 넣는 방법이 있길래 그것을 사용하였는데요.. (JExcelAPI)

 

엑셀 내용 중에 원하는 column을 TextView로 그냥 출력하는 것은 되는데

 

ListView로 출력하려고 하는데 어떻게 해야할지 모르겠네요.. 다른 소스예제를 보고 따라해보았는데

 

DB를 엑셀로 이용해서 그런가요?ㅜㅜ뭔가 조금씩 달라서 합치지를 못하겠네요.. 도와주십시오ㅜ

 

파일 첨부가 없네요 http://blog.naver.com/snackcar/90190336119 여기에 올려놓았습니다ㅜ
스넥카 (180 포인트) 님이 2014년 2월 14일 질문

2개의 답변

0 추천
일단 TextView로 원하는 내용을 출력할 수 있다니 ListView 사용법을 익히면 금방 할 수 있으리라 생각됩니다.
인연 (31,880 포인트) 님이 2014년 2월 17일 답변
0 추천

음.. 인연님 말씀대로 직접 공부하시는게 가장 좋지만 아직 이해 및 응용이 부족해 보이시니

참고하시라고 스넥카님이 첨부하신 소스를 리스트뷰만 적용하도록 간단하게 리폼해서 올립니다.

public class MainActivity extends Activity {
 
 private NotesDbAdapter dbAdapter;

 ListView listView01;
 Cursor result;
 ArrayList<String> dataArr = new ArrayList<String>(); // 문자 배열 변수 추가.

    private static final String TAG = "NotesDbAdapter";
 
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
       
        this.dbAdapter = new NotesDbAdapter(this);
 
        copyExcelDataToDatabase();
       
        listView01 = (ListView)findViewById(R.id.listView01); 
 
        Button button01 = (Button) findViewById(R.id.button01);
        button01.setOnClickListener(new View.OnClickListener() {
 
            public void onClick(View v) {
                dbAdapter.open();
                Cursor result = dbAdapter.fetchAllNotes();
                result.moveToFirst();
                while (!result.isAfterLast()) {
                 String resultStr = "";
                    String title = result.getString(1);
                    String body = result.getString(2);
                    String posi = result.getString(3);
                    resultStr += title + ", " + body + "," + posi + "\n";
                    dataArr.add(resultStr); // 엑셀로부터 가져온 문자열을 위에서 선언한 문자 배열 변수 dataArr 에 추가한다.
                    result.moveToNext();
                }               
               
                result.close();
                dbAdapter.close();
               
                // 어댑터에 문자배열 변수 dataArr을 등록하고,
               ArrayAdapter<String> Adapter = new ArrayAdapter<String>  (getBaseContext(), android.R.layout.simple_list_item_1, dataArr);
                // 리스트뷰에 셋 해준다.
                listView01.setAdapter(Adapter);
            }
        });
 }

2번 버튼 3번 버튼은 지웟어요~

초보개발자ㅠ (33,870 포인트) 님이 2014년 2월 17일 답변
정말 감사합니다!ㅜㅜ
그런데 문제가 하나있는데 리스트뷰에 나오는 내용들이
엑셀에 10번째 Row 까지만 데이터가 있다치면
그 10번이 계속해서 반복된 것이 출력됩니다..  1 2 3 4 5 6 7 8 9 10 1 2 3 ... 이런식으로 말이죠ㅜ

한번만 출력하려면 어떻게 해야할까요
감사합니다ㅜ
아 해결 되었습니다!!
해결하셨다니 다행이네요 ^^ 홧팅!
...