2016-06-30 3 views
1

몇 시간 동안 검색하고 혼자서 해보려 고 노력한 결과 옵션이 다 떨어졌고 도움을 요청해야합니다. 사용자가 오프라인 상태인데도 this 페이지에서 사용할 수있는 페이지를 모두 만들고 싶습니다. 그 작은 그림을 복사하여 단추로 사용하려고 시도했지만 그 옆에 그 숫자를 넣을 수 없었습니다. 많은 사람들이 WebView를 사용하라고 말했지만, 아는 한 여기에는 내 목표가 아닌 인터넷 액세스가 필요합니다.앱에서 웹 사이트 콘텐츠를 다시 만드는 방법은 무엇입니까?

가능한 경우 도움을 받으십시오. 미리 감사드립니다!

+1

먼저 해당 웹 페이지를 홍보하지 않겠다고 선언하십시오. : D 어쨌든, 하이브리드 앱 방식으로 갈 수 있습니다 - 코르도바, 이온 또는 Phonegap 사용 – aksappy

+0

나는 그것을 승진시키지 않을 것입니다 : D. 규칙에 어긋난다면 유감스럽게 생각합니다. 감사합니다. Phonegap이 도움이 될 것 같아요. –

답변

1

Android보다 익숙한 웹 기술 인 경우 하이브리드 앱을 제작할 수 있습니다. 이온은 그들 중 하나이며, 웹 앱을 개발하는 데 사용됩니다. 당신이 알아야 할 것은 웹 기술뿐입니다. 다음

1

완전히 페이지의 소스 파일을 다운로드되는 문제에 대한 가능한 해결책 중 하나는 그래서 당신은 단지

1

당신의 들이게 복사 웹보기에 문자열 매개 변수로 사이트의 소스를 제공하는 방법을

webView.loadDataWithBaseURL(null, yourfullHTMLwithCSSandJShere, "text/html", "UTF-8", null); 

를 사용 귀하의 안드로이드 프로젝트의 자산 폴더에 페이지를 삽입하고 주어진 코드를 사용하여 페이지 양식 자산 폴더를로드하십시오.

import android.app.FragmentManager; 
import android.app.ProgressDialog; 
import android.os.Bundle; 
import android.support.annotation.Nullable; 
import android.support.v7.app.AppCompatActivity; 

import android.view.Menu; 
import android.view.MenuItem; 
import android.webkit.WebView; 
import android.webkit.WebViewClient; 
import android.widget.Toast; 

import com.google.android.gms.ads.AdRequest; 
import com.google.android.gms.ads.AdView; 

public class MainActivity extends AppCompatActivity { 

    private WebView webView; 
    private ProgressDialog loading; 


    @Override 
    protected void onCreate(@Nullable Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     //code for ads 
     AdView mAdView = (AdView) findViewById(R.id.adView); 
     AdRequest adRequest = new AdRequest.Builder().build(); 
     mAdView.loadAd(adRequest); 

     //casting view 
     webView = (WebView) findViewById(R.id.webView); 


     //load URL in webView 
     webView.getSettings().setJavaScriptEnabled(true); 
     webView.loadUrl("file:///android_asset/hindi.html"); 

     //start progress dialog 
     loading = new ProgressDialog(MainActivity.this); 
     loading.setMessage("Loading..."); 
     loading.show(); 

     //webView client 
     webView.setWebViewClient(new WebViewClient() { 
      @Override 
      public boolean shouldOverrideUrlLoading(WebView view, String url) { 
       view.loadUrl(url); 
       return true; 
      } 

      @Override 
      public void onPageFinished(WebView view, String url) { 
       loading.dismiss(); 
      } 

      @Override 
      public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) { 
       Toast.makeText(MainActivity.this, "Error:" + description, Toast.LENGTH_SHORT).show(); 
      } 
     }); 


    } 

    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     getMenuInflater().inflate(R.menu.option_menus, menu); 
     return true; 
    } 

    @Override 
    public boolean onOptionsItemSelected(MenuItem item) { 
     switch (item.getItemId()) { 
      case R.id.item1: 
       webView.loadUrl("file:///android_asset/hindi.html"); 
       return true; 
      case R.id.item2: 
       webView.loadUrl("file:///android_asset/english.html"); 
       return true; 

      case R.id.item3: 
       FragmentManager fm = getFragmentManager(); 
       FragmentDialog dialogFragment = new FragmentDialog(); 
       dialogFragment.setCancelable(false); 
       dialogFragment.show(fm, "Sample FragmentDialog"); 
       return true; 

      default: 
       return super.onOptionsItemSelected(item); 
     } 
    } 


    //save and restore state of application 
    @Override 
    public void onSaveInstanceState(Bundle savedInstanceState) { 
     super.onSaveInstanceState(savedInstanceState); 
     // Save UI state changes to the savedInstanceState. 
     // This bundle will be passed to onCreate if the process is 
     // killed and restarted. 
     // etc. 

     savedInstanceState.putLong("elapsedTime", 1); 

    } 

    @Override 
    public void onRestoreInstanceState(Bundle savedInstanceState) { 
     super.onRestoreInstanceState(savedInstanceState); 
     // Restore UI state from the savedInstanceState. 
     // This bundle has also been passed to onCreate. 

     long elapsedTime = savedInstanceState.getLong("elapsedTime"); 
    } 
} 

난 당신이 필요하지 않습니다 이제까지 당신이 원하는 인터넷 URL을로드 OptionsMenu에 URL을로드합니다.

관련 문제