2012-09-05 3 views
0

나는 안드로이드 프로젝트 폴더 안에 웹 페이지를 저장하여 사용자가 웹 페이지를보기 위해 인터넷 연결을 필요로하거나 필요로하지 않기를 원한다. 나는 안드로이드 webview를 사용하고 있습니다. HTTP 프로토콜을 사용하여 웹 페이지를 볼 수 있습니다. 내 코드는 다음과 같습니다 :android webpages in webview

public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_home); 

     WebView webview = (WebView) findViewById(R.id.webView1); 
     // webview.loadUrl("http://www.mysite.com/index.html"); 

     webview.getSettings().setJavaScriptEnabled(true); 
    } 

그러나 웹 페이지를 오프라인으로보고 싶습니다. 안드로이드 프로젝트 폴더에 리소스로 웹 페이지를 저장할 수 있고 인터넷 연결없이 볼 수있는 방법이 있습니까?

+0

은 [this] (http://stackoverflow.com/questions/4563291/save-webpages-for-offline-browsing) – Shrikant

답변

0

저장하여 자산 폴더에 웹 페이지 및 사용

  public File getfile(String filename) throws IOException { 
    // TODO Auto-generated method stub 
    String externalStorage_path   =Environment.getExternalStorageDirectory().toString(); 
    String state = Environment.getExternalStorageState(); 
    if (Environment.MEDIA_MOUNTED.equals(state)){ 
     File dir = new File(externalStorage_path + "/yourfilename"); 
     dir.mkdir(); 
     File mfile = new File(dir,filename); 
     if(mfile.exists()==true) return mfile; 
     else{ 
       try{ 
        InputStream myInput = mcontext.getAssets().open(filename); 
        String path =externalStorage_path+"/yourfilename"; 
        OutputStream myOutput = new FileOutputStream (path); 
        byte[] buffer = new byte[1024]; 
        int length; 
        try { 
         while((length = myInput.read(buffer))>0) 
         myOutput.write(buffer,0,length); 
        }catch(FileNotFoundException e){Log.d("error",""+ e.toString()); 
        }finally{ 
         myOutput.flush(); 
         myOutput.close(); 
         myInput.close(); 
        } 
       }catch(IOException e){ } 
       File dir1 = new File(externalStorage_path + "/yourfilename"); 
       dir1.mkdir(); 
       File mfile1 = new File(dir,filename); 
       return mfile1; 
     } 
    }else if (Environment.MEDIA_MOUNTED_READ_ONLY.equals(state)){ 
     showToast("External storage has readonly access"); 
    } else if (Environment.MEDIA_REMOVED.equals(state)) { 
     showToast("External storage not present"); 
    } else if (Environment.MEDIA_UNMOUNTABLE.equals(state)){ 
     showToast("External storage cannot be mounted. Sdcard problem"); 
    } 

이 파일을 저장소에 쓰고 Adobe와 같은 다른 응용 프로그램에서 공유 할 수 있습니다. jUST가이 메소드를 호출했습니다.

+1

과 중복 될 수 있습니다. 어쨌든이 페이지는 한 페이지 만 표시하는 것 같습니다. –