아무리 봐도 이유를 못 찾겠습니다
Query()함수에서는 list에 값이 들어가는데 왜 adater에 값을 넣어줄때는 값이 없는걸까요?
log를 찍어본 결과 Query()함수에서는 값이 ArrayList에 들어가는데 adapter에 값을 넣기 전에 Araaylist는 텅텅 비어 있습니다.
전역변수가 이렇게도 초기화가 되나요?
혹시 리스트에 삽입 할려면 어떻게 해야 할까요?
로그 보시면 값이 없음을 확인 할 수 있습니다.
package com.example.admin.mssqltest;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ArrayList;
import android.app.Activity;
import android.os.AsyncTask;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ListView;
import android.widget.TextView;
public class MainActivity extends Activity {
ArrayList<String> list;
ArrayAdapter<String> adapter ;
ListView listView;
String test;
private AsyncTask<String, String, String> mTask;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
list = new ArrayList<String>();
Log.i("", "list 0 :" + list);
Querythread querythread = new Querythread();
Log.i("", "list 1 :" + list);
querythread.start();
Log.i("", "list 2 :" + list);
adapter= new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, list);
listView = (ListView) findViewById(R.id.listView);
listView.setAdapter(adapter);
}
class Querythread extends Thread{
public void run(){
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
}
Log.i("Android", " MSSQL 접속 준비");
Query(); //쿼리함수 호출
}
}
public void Query()
{
Connection conn = null;
try {
Class.forName("net.sourceforge.jtds.jdbc.Driver").newInstance();
Log.i("Connection","MSSQL 라이브러리 로드");
conn = DriverManager.getConnection("jdbc:jtds:sqlserver://xxx.xxx.95.184:1433/test","mesapp","dhc8700!?#");
Log.i("Connection","MSSQL 접속 성공 : "+conn);
Statement stmt = conn.createStatement();
//String Query="";
//stmt.executeUpdate(Query);
String Query = "select * from dbtest";
ResultSet reset = stmt.executeQuery(Query);
while (reset.next()) {
String no = reset.getString(1);
String content = reset.getString(2);
String memo = reset.getString(3);
Log.i("","No:" + no + content + memo);
list.add(no);
Log.i("", "list :" + list);
test=reset.getString(3);
}
conn.close();
}
catch (Exception e)
{
Log.w("Error connection","오류 : " + e);
}
}
}