2012-08-07 4 views
0

LAN.proxy의 서버에 가입 된 컴퓨터에서 작업하는 중 컴퓨터에서 인터넷에 액세스하는 중입니다. 이제는 JSON을 output으로 사용하는 PHP 웹 서비스를 사용하고 있습니다 .i는 앱을 만들었지 만 그것은 빈 응답을 제공합니다, 내가 스택 오버플로 질문 대답 중 하나를 읽고 그것은 프록시 때문입니다. 내 응용 프로그램에서 프록시 설정을 지정해야합니까? 그리고 어떻게이 문제에 대한 프록시를 설정할 수 있습니다.안드로이드에서 웹 서비스를 사용하기 위해 프록시를 설정해야합니까?

은 내가 포인트 이름에 액세스하기 위해 무선 & 네트워크 모바일 네트워크에

  • 이동
  • 이동에 설정
  • 클릭에 메뉴
  • 클릭이 단계

    1. 를 클릭하여 프록시를 설정 한
    2. 여기 Telkila Internet을 클릭하십시오. 편집 액세스 포인트 섹션에서
    3. , 입력
    4. 는 또한 사용자 이름과 암호를 제공하는 "프록시"와 "포트"필드의 나머지는 빈

    인터넷 에뮬레이터에서 일하고을두고 있지만, 여전히 프로젝트는 아무것도 표시하지 않습니다. 이것은 내 코드입니다

    package com.example.jsonexaple2; 
    
    import java.io.BufferedInputStream; 
    import java.io.IOException; 
    import java.io.InputStream; 
    import java.net.HttpURLConnection; 
    import java.net.MalformedURLException; 
    import java.net.URL; 
    
    import org.apache.http.util.ByteArrayBuffer; 
    import org.json.JSONArray; 
    import org.json.JSONException; 
    import org.json.JSONObject; 
    
    import android.os.Bundle; 
    import android.app.Activity; 
    import android.util.Log; 
    
    public class Jsonexaple2 extends Activity { 
        String archiveQuery = "http://www.archive.org/advancedsearch.php?q=Lotus&fl[]=date&fl[]=format&fl[]=identifier&fl[]=mediatype&fl[]=title&sort[]=createdate+desc&sort[]=&sort[]=&rows=10&page=1&output=json&callback=callback&save=yes"; 
        @Override 
        public void onCreate(Bundle savedInstanceState) { 
         super.onCreate(savedInstanceState); 
         setContentView(R.layout.jsonexaple2); 
         InputStream in = null; 
         String queryResult = ""; 
         try { 
         URL url = new URL(archiveQuery); 
         HttpURLConnection urlConn = (HttpURLConnection) url.openConnection(); 
         HttpURLConnection httpConn = (HttpURLConnection) urlConn; 
         httpConn.setAllowUserInteraction(false); 
         httpConn.connect(); 
         in = httpConn.getInputStream(); 
         BufferedInputStream bis = new BufferedInputStream(in); 
         ByteArrayBuffer baf = new ByteArrayBuffer(50); 
         int read = 0; 
         int bufSize = 512; 
         byte[] buffer = new byte[bufSize]; 
         while(true){ 
          read = bis.read(buffer); 
          if(read==-1){ 
          break; 
          } 
          baf.append(buffer, 0, read); 
         } 
         queryResult = new String(baf.toByteArray()); 
         } catch (MalformedURLException e) { 
         // DEBUG 
         Log.e("DEBUG: ", e.toString()); 
         } catch (IOException e) { 
         // DEBUG 
         Log.e("DEBUG: ", e.toString()); 
         } 
         JSONObject jObject; 
         try { 
         jObject = new JSONObject(queryResult.replace("callback(", "")).getJSONObject("response"); 
         JSONArray docsArray = jObject.getJSONArray("docs"); 
         for (int i = 0; i < 10; i++) { 
          if (docsArray.getJSONObject(i).optString("mediatype").equals("etree")) { 
          String title = docsArray.getJSONObject(i).optString("title"); 
          String identifier = docsArray.getJSONObject(i).optString("identifier"); 
          String date = docsArray.getJSONObject(i).optString("date"); 
          System.out.println(title + " " + identifier + " " + date); 
          } 
         } 
         } catch (JSONException e) { 
         // DEBUG 
         Log.e("DEBUG: ", e.toString()); 
         } 
        } 
    
    } 
    
  • 답변

    0

    예. 그렇습니다. 한 번, 나는 에뮬레이터에 동일한 문제가 있었다. Google에서 검색 한 결과 좋은 두 블로그를 찾았습니다. gitshah 그것은 당신을 도울 것입니다

  • twozao
  • 희망

    • .

    +0

    고맙습니다. –

    관련 문제