현재 리스트뷰가 있는데 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());
}
}




어느 부분이 문제라는 건지 더 알기 쉽게 말씀해주시면 좋겠네요.
새로고침이라면 getListAdapter().notifyDataSetChanged(); 로 하면 될 것 같은데요..