private final Handler handler2 = new Handler(){
@Override
public void handleMessage(Message msg) {
pDialog.dismiss();
String result = msg.getData().getString("result");
if(result.equals("success")){
Toast.makeText(SearListActivity.this, "검색성공", 1000).show();
}else{
Toast.makeText(SearListActivity.this, "검색실패12", 1000).show();
}
}
};
public String parsingData2(InputStream input){
String result4 = null;
String result5 = null;
String result6 = null;
String tag;
try{
XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
XmlPullParser parser = factory.newPullParser();
parser.setInput(new InputStreamReader(input));
int parserEvent = parser.getEventType();
boolean inTitle= false , inTitle2 = false, inTitle3 = false;
while(parserEvent!=XmlPullParser.END_DOCUMENT){
switch(parserEvent){
case XmlPullParser.TEXT:
tag = parser.getName();
if(inTitle){
result4 = parser.getText();
Wonin.add(result4);
}else if(inTitle2){
result5= parser.getText();
Kbogo.add(result5);
}else if(inTitle3){
result6 = parser.getText();
Bigo.add(result6);
System.out.println("asdasdasd"+result4.toString());
}
break;
case XmlPullParser.END_TAG:
tag = parser.getName();
if(tag.compareTo("sdsd1")==0){
inTitle = false;
}else if(tag.compareTo("sdsd2")==0){
inTitle2 = false;
}else if(tag.compareTo("sdsd3")==0){
inTitle3 = false;
}
break;
case XmlPullParser.START_TAG:
tag = parser.getName();
if(tag.compareTo("sdsd1")==0){
inTitle = true;
}else if(tag.compareTo("sdsd2")==0){
inTitle2 = true;
}else if(tag.compareTo("sdsd3")==0){
inTitle3 = true;
}
break;
}
parserEvent = parser.next();
}
} catch(Exception e){e.printStackTrace();}
return result4;
}
public void loginProcess2(){
final ResponseHandler<String> responseHandler =
new ResponseHandler<String>() {
@Override
public String handleResponse(HttpResponse response)
throws ClientProtocolException, IOException {
String result = null;
HttpEntity entity = response.getEntity();
Log.e("asdasd", "Asdasdsad");
result = parsingData2(entity.getContent());
Log.e("Qweqwewqe", "QWEQweqwe");
Message message = handler2.obtainMessage();
Log.e("zxczxczxc", "Zxczxczxc");
Bundle bundle = new Bundle();
if(result!=null)
bundle.putString("result", "success");
else
bundle.putString("result", "failed");
message.setData(bundle);
handler2.sendMessage(message);
return result;
}
};
pDialog=ProgressDialog.show(this, "", "검색중입니다...");
new Thread(){
@Override
public void run(){
//Log.e("보내는",com.toString());
String url = "이부분은 지웠습니다.";
HttpClient http = new DefaultHttpClient();
try{
ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
nameValuePairs.add(new BasicNameValuePair("sql", sql.toString()));
nameValuePairs.add(new BasicNameValuePair("count",count.toString()));
// 응답시간이 5초가 넘으면 timeout 처리하려면 아래 코드의 커맨트를 풀고 실행한다.
HttpParams params = http.getParams();
HttpConnectionParams.setConnectionTimeout(params, 5000);
HttpConnectionParams.setSoTimeout(params, 5000);
HttpPost httpPost = new HttpPost(url);
UrlEncodedFormEntity entityRequest =
new UrlEncodedFormEntity(nameValuePairs, "EUC-KR");
//Log.e("sdsddsd", nameValuePairs.toString());
httpPost.setEntity(entityRequest);
http.execute(httpPost,responseHandler);
}catch(Exception e){e.printStackTrace();}
}
}.start(); //스레드를 실행시킨다.
}
값은 잘 들어옵니다 근데 한번 클릭하면 로그나 프린트로는 값이 나온게 찍히는데
꼭 두번눌러야 값이 보이네여 ㅠㅠ 제가 짠 소스에 무슨 문제가잇나여? 왜이럴까여 ㅠㅠ
값은 토스트로 찍엇는데 첫번쨰 클릭에는 안나오고 두번쨰 클릭때에 나옵니다 ㅠ 첫번쨰부터 값이 안들어오는게 아닌데
보여지는건 뒤늦게되네여 ㅠㅠ 도와주세여..
ICS이 후에 파싱시 InputStreamReader 사용에 약간 문제? 버그라고 해야하나 문제가 있습니다.
자세한 사항은 구글링 해보시면 될 듯 하고, 해결법도 여러가지 제시되어 있습니다. 확인 한번 해보세요.