アンドロイドの新人です。私はアンドロイドの一般的な機能についていくつか疑問があります。ヘルプをいただければ幸いです:)
- HTMLデザインをAndroidのレイアウトとして(XMLで)実装することは可能ですか?
- JavaScriptをAndroidに統合することは可能ですか?
アンドロイドの新人です。私はアンドロイドの一般的な機能についていくつか疑問があります。ヘルプをいただければ幸いです:)
はい。WebviewHTML, CSS and JAVASCRIPT
という概念を使用して Androidに実装することができます。
使用方法を示すコード スピネットWebView
mWebView = (WebView) findViewById(R.id.MyWebview);
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.getSettings().setBuiltInZoomControls(false);
String url = "http://www.youtube.com";
mWebView.loadUrl(url);
「WebView」を使用するためのデモンストレーション
public class Placement extends Activity {
WebView mWebView;
EditText et;
String reg;
Button sub;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.getWindow().requestFeature(Window.FEATURE_PROGRESS);
setContentView(R.layout.placement_layout);
showResults();
}
@SuppressLint("SetJavaScriptEnabled")
private void showResults() {
getWindow().setFeatureInt(Window.FEATURE_PROGRESS,
Window.PROGRESS_VISIBILITY_ON);
mWebView = (WebView) findViewById(R.id.MyWebview);
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.getSettings().setBuiltInZoomControls(false);
String url = "http://dibyaranjan.net76.net/placement.php";
Log.d("Link", url);
mWebView.loadUrl(url);
final Activity MyActivity = this;
mWebView.setWebChromeClient(new WebChromeClient() {
public void onProgressChanged(WebView view, int progress) {
MyActivity.setTitle("Loading...");
MyActivity.setProgress(progress * 100);
if (progress == 100)
MyActivity.setTitle(R.string.app_name);
}
});
}
protected void onPause() {
// TODO Auto-generated method stub
super.onPause();
finish();
}
}
html ページを未加工のリソース フォルダーに保持する必要があります。それを読み込むには、webview でメソッドを呼び出します。これにはmimetypeと文字 encodingloadData()
を渡す必要があります。
メソッド呼び出しの例を次に示します。
webview.loadData(readTextFromResource(R.raw.help), "text/html", "utf-8");
詳細については、次のチュートリアルを参照してください。
http://www.monocube.com/2011/02/08/android-tutorial-html-file-in-webview/
Android で HTML/Javascript をハードコア統合することはできません。ただし、html/javascript/css を使用して、PhoneGap フレームワークを使用して Android アプリを開発できます。
これはクロスプラットフォーム フレームワークであるため、アプリは多くのモバイル デバイスで動作する可能性があります。しかし、すべてのアプリは似ていて、良くありません。考えてみてください)