ローカルな html
読み出す方式にしてみたら動作せず。昨日成功したのは
webView.loadUrl("http://code.google.com/intl/ja/apis/maps/documentation/v3/examples/map-language.html");
の方だった。ヤラれた。
現状のコードが以下ッス。まずアプリ側。
public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); String html = ""; InputStream in; in = getResources().openRawResource(R.raw.test2); try { BufferedReader reader = new BufferedReader(new InputStreamReader(in, "UTF-8")); String s; StringBuffer et = new StringBuffer(); while((s = reader.readLine()) != null) { et.append(s); et.append("\n"); } html = et.toString(); } catch (IOException e) { Log.e("HelloLocalFile", e.toString()); } Log.e("HelloLocalFile", html); WebView webView = new WebView(this); webView.getSettings().setJavaScriptEnabled(true); webView.loadData(html,"text/html", "utf-8"); setContentView(webView); } }
で、res/raw/test2 が以下。
<html> <head> <meta name="viewport" content="initial-scale=1.0, user-scalable=no" /> <meta http-equiv="content-type" content="text/html; charset=UTF-8"/> <title>Google Maps JavaScript API v3 Example: Map Language</title> <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false&language=ja"></script> <script type="text/javascript"> function initialize() { var myLatlng = new google.maps.LatLng(-34.397, 150.644); var myOptions = { zoom: 8, center: myLatlng, mapTypeId: google.maps.MapTypeId.ROADMAP } var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions); } </script> </head> <body style="margin:0px; padding:0px;" onload="initialize()"> <div id="map_canvas" style="width:100%; height:100%"></div> </body> </html>
マニフェストに INTERNET な permission の記述はあるし、プロジェクトの Build Target は Google API な 1.6 です。
Eclipse 再起動してリトライ予定ですが、とりあえずエントリ投入。