package com.example.test;
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.os.Handler;
import android.os.Message;
import android.util.Log;
import android.widget.ArrayAdapter;
import android.widget.ListView;
public class MainActivity extends Activity {
ListView listView;
ArrayList<String> list;
ArrayAdapter<String> adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
list = new ArrayList<String>();
adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, list);
listView = (ListView)findViewById(R.id.list);
listView.setAdapter(adapter);
handler.sendEmptyMessage(1);
}
final Handler handler = new Handler(){
public void handleMessage(Message msg){
super.handleMessage(msg);
Log.d("Log", "1 sec");
new MyAsyncTask().execute();
this.sendEmptyMessageDelayed(0, 1000);
}
};
public void query2()
{
Log.i("Android"," MSSQL Connect Example.");
Connection conn = null;
try {
Class.forName("net.sourceforge.jtds.jdbc.Driver").newInstance();
Log.i("Connection","MSSQL driver load");
conn = DriverManager.getConnection("jdbc:jtds:sqlserver://서버주소/DB이름","아이디","패스워드");
Log.i("Connection","MSSQL open");
Statement stmt = conn.createStatement();
ResultSet reset = stmt.executeQuery("select * from v_state where userid='camc'");
//Print the data to the console
while(reset.next()){
list.add(reset.getString(12)+" "+reset.getString(1)+" "+reset.getString(4)+" "+reset.getString(5)+" "+reset.getString(6));
}
conn.close();
}
catch (Exception e)
{
Log.w("Error connection","" + e.getMessage());
}
}
public class MyAsyncTask extends AsyncTask<String, String, String>{
// @Override
protected void onPreExecute() {
list.clear();
}
// @Override
protected String doInBackground(String... params) {
query2();
return null;
}
//@Override
protected void onPostExecute(String result) {
adapter.notifyDataSetChanged();
}
//@Override
protected void onCancelled() {
super.onCancelled();
}
}
}
Logcat에 아래같은 메시지가 뜨면서 에러가 나버립니다..
02-18 19:36:13.458: E/InputEventReceiver(7082): Exception dispatching input event.