2013-11-24 2 views
1

나는 서버에서 PDF 파일을 볼 수있는 안드로이드 애플 리케이션을 개발하고 있습니다. 코드를 편집했습니다. 확인 해봐. 여기에 코드 서버에서 PDF 파일을 읽으십시오

:

오류가 그와 함께 없습니다
@Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

       //String LinkToPDF = "http://127.0.0.1/joomla/images/appletter.pdf"; 
       WebView mWebView=new WebView(MainActivity.this); 
       mWebView.getSettings().setJavaScriptEnabled(true); 
       mWebView.getSettings().setPluginsEnabled(true); 
       mWebView.loadUrl("https://docs.google.com/gview?embedded=true&url=nizam.hostingsiteforfree.com/do‌​c_8.pdf"); 
       setContentView(mWebView); 

      mWebView.setWebViewClient(new WebViewClient() { 
        public boolean shouldOverrideUrlLoading(WebView view, String url) { 
         view.loadUrl(url); 
         return false; 
        } 
       }); 
       } 

. 그러나 "read pdf"버튼을 클릭 할 때마다이 메시지가 표시됩니다.

"원본 소스에서 문서를 찾을 수 없어 죄송합니다. 문서가 아직 있는지 확인하십시오."

이 문제를 해결할 수 있도록 도와주세요. 어떤 도움이 필요합니까?

+0

로컬 호스트 사용? – Nizam

+0

localhost를 사용해 보았습니다. 작동하지 않습니다. – user3004033

답변

1

에뮬레이터의 localhost를 참조하는 동안 로컬 IP 대신 http://10.0.2.2/을 사용하십시오.
그래서 코드의 변화는 또한

String LinkToPDF = "http://10.0.2.2/joomla/images/appletter.pdf"; 

,이 에뮬레이터에서만 작동 될 것입니다. 실제 장치의 경우 실제 서버가 필요합니다.

업데이트 :
코드를 테스트했습니다. 실제 서버에서만 작동합니다. 'google docs'가 localhost 파일에 액세스 할 수없는 것 같습니다. 따라서 실제 서버를 사용하여 테스트하십시오. 당신이 테스트 목적으로 사용할 수있는 무료 호스팅 사이트가 많이 있습니다.

줌라는 서버가 아닙니다. Joomla는 content management system (CMS)입니다. Joomla를 실제 서버가 아닌 서버의 모방 인 'localhost'에 설치했습니다 (무료 호스팅 사이트 중 하나 인 freeHosting). 실제 서버에 등록 (지금은 무료 호스팅을 사용할 수 있음), 자신의 URL을 받아 pdf를 업로드하십시오. 호스팅에 대한 자세한 내용이 필요하면 언제든지 우편으로 보내주십시오.

이제 중요한 부분은 다음과 같습니다. - SSL 인증서. 무료 호스팅에는 유효한 SSL이 없을 수 있습니다. 따라서 다음을 참조하십시오 :

String LinkToPDF = "http://nizam.hostingsiteforfree.com/doc_8.pdf"; 
    WebView webview=new WebView(MainActivity.this); 
    webview.getSettings().setJavaScriptEnabled(true); 

    final Activity activity = this; 
    webview.setWebViewClient(new WebViewClient() { 
     public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) { 
     Toast.makeText(activity, "Oh no! " + description, Toast.LENGTH_SHORT).show(); 
     } 
     @Override 
     public void onReceivedSslError(WebView view, 
       SslErrorHandler handler, SslError error) { 
      Log.d("Nzm", ""+error.getPrimaryError()); 
      Toast.makeText(activity, "Skipping SSL error", Toast.LENGTH_SHORT).show(); 
      handler.proceed(); 
     } 
    }); 

    setContentView(webview); 
    webview.loadUrl("https://docs.google.com/gview?embedded=true&url=nizam.hostingsiteforfree.com/doc_8.pdf"); 
+0

10.0.2.2를 시도했지만 여전히 작동하지 않습니다. 나는 또한 Google 워드 프로세서로 리다이렉트하는 대신 pdf url에 직접 열어 보았지만이 중 아무 것도 시도하지 않았다. 내 명단에도 인터넷 허가가 있습니다. 도와주세요. – user3004033

+0

나는 이것을 지금 정말로 할 필요가있다. 이 문제를 해결할 수 있도록 도와 주시겠습니까? – user3004033

+0

받으셨습니까? 다음을 사용하여 테스트 할 수 있습니다 :'https : //docs.google.com/gview? embedded = true & url = nizam.hostingsiteforfree.com/doc_8.pdf' – Nizam

관련 문제