キャッシュされたデータ、写真とか返すとかに使われる手法。
(Android開発者登録したから、リリースしたいな。)
public class MainActivity extends ActionBarActivity { @SuppressLint("NewApi") @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); WebView webView = (WebView)findViewById(R.id.webView); webView.setWebViewClient(new MyWebViewClient()); webView.getSettings().setJavaScriptEnabled(true); //これがないとlocalファイルでajaxできない webView.getSettings().setAllowUniversalAccessFromFileURLs(true); webView.loadUrl("file:///android_asset/index.html"); } }
public class MyWebViewClient extends WebViewClient{ @Override public WebResourceResponse shouldInterceptRequest(WebView view, String url) { Log.d("#WEB", "aa111:"+url); if(url.indexOf("7777")>0){ Log.d("#WEB", "aa111:IN"); InputStream bais = new ByteArrayInputStream("{'Hello':'test'}".getBytes()); WebResourceResponse res = new WebResourceResponse("application/json","UTF-8",bais); return res; } return super.shouldInterceptRequest(view, url); } @Override //本当はこっちがつかわれるはずなんだけど、この先でまだ、上のほうがつかわれている public WebResourceResponse shouldInterceptRequest(WebView view, WebResourceRequest request) { return super.shouldInterceptRequest(view, request); } }
0 件のコメント:
コメントを投稿