안드로이드 개발 질문/답변
(글 수 45,052)
jsp와 tomcat을 이용하여 서버를 구축하고
웹서버에는 로그인 기능을 구현해놓았는데
이 기능을 안드로이드에서 사용하고 싶습니다.
먼저 jsp로 웹서버에 있는 DB를 json으로 변환하는 것은 성공했는데
안드로이드에서 이 json으로 표현된 웹페이지를 읽어서 json파서를 하려고 합니다.
소스에는 에러가 없는데 logcat을 보면 http읽기가 되질 않는거 같습니다.
public void getData() {
String Json = DownloadHtml("http://localhost:8080/servlet/sample.jsp");
parsingJson_IPDATA(Json);
}
//sample.jsp에 가서 json을 문자열로 받아오기.
static String DownloadHtml(String addr){
StringBuilder jsonHtml = new StringBuilder();
try{
URL url =new URL("addr);
HttpURLConnection conn = (HttpURLConnection)url.openConnection();
if(conn!=null)
{
conn.setConnectTimeout(10000);
conn.setUseCaches(false);
if(conn.getResponseCode()==HttpURLConnection.HTTP_OK){
//Read Data From Web
BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream(),"UTF-8"));
for(;;){
String line =br.readLine();
if(line==null)break;
jsonHtml.append(line + "\n");
}
br.close();
}
conn.disconnect();
}
}catch(Exception ex){
Log.e("jsonerr", "Error parsing json ");
}
return jsonHtml.toString();
}
//받아온 json문자열에서 id와 pw를 뽑아내 배열에 저장하기.
public static void parsingJson_IPDATA(String Json_read){
try{
JSONArray jArray = new JSONArray(Json_read);
for(int i=0;i<jArray.length();i++){
JSONObject json_data = jArray.getJSONObject(i);
//
ID[i]=json_data.getString("id");
PW[i]=json_data.getString("pw");
}
}catch(JSONException e){
Log.e("log_tag", "Error parsing data "+e.toString());
}
}logcat을 확인하면 jsonerr와 log_tag 둘다 뜹니다.
소스는 "안드로이드 프로그래밍 정복"에 있는 것과 거의 똑같습니다.
DownloadHtml 함수와 parsingJson_IPDATA 함수의 문제점이 무엇일까요 ㅜㅜ
제가 보기엔 일단 DownloadHtml 함수가 제대로 동작하지 않기때문에 뒤에있는 함수도 안되는 것 같아요.
혹시 DB를 json으로 변환했을 때 형식이 잘못된 것인지
sample.jsp로 가면 아이디와 패스워드가
["abcd","90","gogo","0000","jang","soso"] 이런 형식으로 저장되어 있습니다.
질문이 너무 길었네요 ㅜㅜ 파서 성공하신 분들 조언 부탁드립니다.




에러 내용좀 볼 수 있을까요? 로그...