현재 리스트뷰가 있는데 mssql 데이터를 파싱해서 리스트뷰에 넣는 작업을 하고있습니다.

 

리스트뷰에 데이터가 출력되는 과정이

 

서버는 asp로 잡았구요.

 

asp실행->xml파일 만들어짐 -> 만들어진 파일은 안드로이드 res폴더 안에 xml폴더에 자동 저장 -> 리스트뷰에서 xml파싱 후 출력

 

이과정입니다. 일단 출력은 되는데.. 리스트뷰에서 새로고침버튼을 삽입하여 업데이트를 하고싶은데 어떻게 해야하나요ㅠ

 

일단 asp를 무조건 한번은 실행을 해야하는데 이부분이 문제네요;;

 

asp에서 xml파일을 만들어주는 소스 첨부합니다.

 

<%
 Dim str, sql, rs, conn, xmlstr, i

 xmlstr = "<?xml version='1.0' encoding='utf-8'?>"& vbcrlf
 xmlstr = xmlstr & "<board_roll>" & vbcrlf
 
 str = "Provider=SQLOLEDB;Data Source=.; Initial Catalog=Wow; User ID=sa;Password=1234;"
 

    xmlstr = xmlstr & "<boardone>" & vbcrlf
 
  sql = "select * from Test02"

  Set conn = server.CreateObject("adodb.connection")
  Set rs = server.CreateObject("adodb.recordset")

  conn.open str
  rs.open sql, conn, 1
 
   
  Do Until rs.eof
   
   xmlstr = xmlstr & "<board id='" & rs("id") & "' "&_
   " pword='" & rs("pword") & "' " & "title ='" & rs("title") & "' "&_
   " subjectone='" & rs("subjectone") & "'>" & _
   "</board>" & vbcrlf
   rs.movenext
  Loop
 
  xmlstr = xmlstr & "</boardone>" & vbcrlf

  rs.close
  Set rs = nothing
 'Next
  xmlstr = xmlstr & "</board_roll>" & vbcrlf

  Set objFs = Server.CreateObject("Scripting.FileSystemObject")
  Set objFile = objfs.CreateTextFile ("C:\Users\boseong\Client\Test10\res\xml\qq.xml",true)

  objFile.Write(xmlstr)
  objFile.Close
   
 
%>

 

리스트뷰 소스도 같이 첨부할께요~

package dit.ac.kr;

import java.util.ArrayList;

import org.xmlpull.v1.XmlPullParser;

import android.app.ListActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;

public class SecondTab extends ListActivity {
 /** Called when the activity is first created. */
 TextView selection;
 ArrayList<String>item=new ArrayList<String>();
 @Override
 public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.secondtab);
  
  selection=(TextView)findViewById(R.id.selection);
  
  try
  {
   XmlPullParser xpp=getResources().getXml(R.xml.qq);
   
   while(xpp.getEventType() != XmlPullParser.END_DOCUMENT)
   {
    if(xpp.getEventType() == XmlPullParser.START_TAG)
    {
     if(xpp.getName().equals("board"))
     {
      item.add(xpp.getAttributeValue(0));
     }
    }
    xpp.next();
   }
  }
  catch(Throwable t)
  {
   Toast.makeText(this, "실패 : "+ t.toString(), Toast.LENGTH_LONG).show();
  }
  
  setListAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,item));

 }
 @Override
 protected void onListItemClick(ListView l, View v, int position, long id){
  super.onListItemClick(l,v,position,id);
  selection.setText(item.get(position).toString());
  
 }
}