Android学習のWebView文書翻訳


通訳に続いて、今日はWebViewコントロールを翻訳して、前のブログに対する補充として、もっと深い理解があると信じています.
翻訳のソース:
http://guides.codepath.com/android/Working-with-the-WebView
Webviewで働く
概要:
ウェブアプリケーション(または単にウェブページ)をアプリケーションの一部として提供したいなら、それをWebViewで実現できます.これはAndroidビューの延長であり、あなたの活動レイアウトの一部としてホームページを表示することができます.
この文書はどのようにWebViewを使って、いくつかの付加的なことをしたいです.例えば、コードを使ってウェブページの適合とjsを処理して、androidアプリケーションの中で交流します.
If you want to deliver a web appration a s a parta of a client aplication、you can do it using WebView.The WebVision of Android’s View clast.s.orts.orts.orts.ort allows to displaty web partap.party.party
This document shows you how to get started with WebView and how to dome additional things、such as handle page navigation and bind JavaScript from your web page to client-side code in your Android appication.Seew
外部ページの読み込み
ネットワークの許可を得るには、リストファイルにネットワーク権限を追加する必要があります.
<manifest ... >
    <uses-permission android:name="android.permission.INTERNET" />
    ...
</manifest>
WebViewをあなたのアプリケーションに追加します.例えば、タグはあなたのレイアウトに含まれます.
To add a WebView to your Aplication、simply include the element in your activity layout:
<?xml version="1.0" encoding="utf-8"?>
<WebView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/webview" android:layout_width="match_parent" android:layout_height="match_parent" />
まず、私達はwebviewの合理的なデフォルト値を設定してWebSettingsとWebViewCientに使用する必要があります.
First、we need to configre the WebView to behave with reasonable defaults using WebSettings and creating a WebView Clint:
public class MainActivity extends Activity {
   private WebView myWebView;

   @Override        
   protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);
      myWebView = (WebView) findViewById(R.id.webview);
      // Configure related browser settings
      //       
      myWebView.getSettings().setLoadsImagesAutomatically(true);
      myWebView.getSettings().setJavaScriptEnabled(true);
      myWebView.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);
      // Configure the client to use when opening URLs
      //   URL      
      myWebView.setWebViewClient(new MyBrowser());
      // Load the initial URL
      //     URL
      myWebView.loadUrl("http://www.example.com");
   }

   // Manages the behavior when URLs are loaded
   //     URl    
   private class MyBrowser extends WebViewClient {
      @Override
      public boolean shouldOverrideUrlLoading(WebView view, String url) {
         view.loadUrl(url);
         return true;
      }
   }
}
処理反応レイアウト(適合)
通常、webviewではデフォルトのズーム率は計算されません.ウェブページにviewportデータが含まれている場合、ページに応答レイアウトをロードしたいなら、明確に設定する必要があります.
By default,the WebView does not account for the default scale size if HTML pages include viewport metadata.If you wish to enable the page to load with ress ponsive lauts,you need set explicit:
// Enable responsive layout
myWebView.getSettings().setUseWideViewPort(true);
// Zoom out if the content width is greater than the width of the veiwport
myWebView.getSettings().setLoadWithOverviewMode(true);
ページの拡大縮小もできます.
You can also enable the ability to zoom-i n controlls on the page:
myWebView.getSettings().setSupportZoom(true);
myWebView.getSettings().setBuiltInZoomControls(true); // allow pinch to zooom
myWebView.getSettings().setDisplayZoomControls(false); // disable the default zoom controls on the page
ローカルページの読み込み
普通はWebviewでローカルページをロードしたいですが、Androidプログラムのassetsファイルにローカルページを置くことができます.もしあなたがmailフォルダの下にassetsフォルダを見つけられなかったら、作成できます.このフォルダにcss,js,etcファイルを入れます.
例えば、ローカルページindex.をロードしたいですが、私は私のファイルを作成します.これはProjectName/app/src/mail/assites/index)の下にあります.その後、あなたの活動や破片の中で以下のように設定できます.
In case you want to store a copy of a webpage localt to be loaded into a WebView,you can put it in the and roid astes folder.If you dot find one under your mand/directory,then You can create one.Place the.com,ject folds.jecs.jstas.jecs.cfoth.cfont.cs.cs.jfyou.com.
For example,say I wanted to load a page entitled index.I would create my file under/app/src/mail/assites/index.
then,in your activity or fragment you can use the code
public class MainActivity extends Activity {
   private WebView myWebView;

   @Override        
   protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);
      myWebView = (WebView) findViewById(R.id.webview);
      myWebView.getSettings().setJavaScriptEnabled(true);
      myWebView.setWebViewClient(new WebViewClient());
      String path = Uri.parse("file:///android_asset/index.html").toString();
      myWebView.loadUrl(path);
   }

}
キーは(Stering path=Uri.parse)です.file:///android_asset/index.html」).toString(;)ローカルページのパスを読み出す
共有はwebviewとネットワーククライアントの間に存在します.
正しくwebviewを使用すると、自分のキャッシュマネージャがすべてのネットワーク要求に対して、外部で別々に保存することができます.これも問題になります.同じファイルをキャッシュすると、最も簡単な方法はスタックオーバーフローです.cookie処理を実現するには、すべての要求がwebviewキャッシュから取得されたときに、cookie処理が実行されます.
WebViews currently use their own cookie manager,which means that any network requests you make outside of these web view are usualy.This can cause problems when tryto retaine the same forice.The simplest appech as proposed in this Stock Overflow artic is to implement a cookie handler that forwards all requests to the WebView cookie store.See is gist for an example.
参照:
http://developer.android.com/guide/webapps/webview.html http://developer.android.com/guide/webapps/best-practices.html http://www.javacodegeeks.com/2013/06/fragment-in-android-tutorial-with-example-using-webview.html http://www.tutorialspoint.com/android/android_webviewラyout.httmhttp://www.mkyong.com/android/android-webview-example/
翻訳は終わって、主にwebviewの適応を紹介して、スケーリングして、当地のホームページをロードして、すでにキャッシュしました.前二篇のブログのまとめです.ありがとうございます.