android学習ノート3——WebViewの使用
1911 ワード
androidアプリケーションはしばしばインターネットと結合する必要がありますが、WebViewのようなアクセスがあれば便利です.もちろん、訪問だけでは足りないです.例えば自動登録や自動署名などのアプリを実現するには、javascriptコードを実行する必要があります.WebViewもこのような機能のサポートを提供しています.
WebViewを利用して外部サイトにアクセスする前に、Android Manifest.xmlに参加しなければなりません.
WebViewを利用して外部サイトにアクセスする前に、Android Manifest.xmlに参加しなければなりません.
<uses-permission
android:name="android.permission.INTERNET"/>
下記のコードの機能はホームページにアクセスし、ボタンを押してjavascriptを実行してウェブページの背景色を変えます.package com.example.login;
import android.app.Activity;
import android.os.Bundle;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.TextView;
import android.widget.Button;
import android.view.View.OnClickListener;
import android.view.View;
public class MainActivity extends Activity {
private WebView wv;
private TextView tv;
private Button b1;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tv = (TextView)findViewById(R.id.tv);
b1 = (Button)findViewById(R.id.button1);
wv = (WebView)findViewById(R.id.wv);
wv.getSettings().setJavaScriptEnabled(true);
wv.loadUrl("http://functionadvanced.github.io");
b1.setOnClickListener(new OnClickListener(){
public void onClick(View v){
wv.loadUrl("javascript:(function(){document.getElementsByTagName('body')[0].style.backgroundColor='red';})()");
}
});
wv.setWebViewClient(new WebViewClient(){
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
public void onPageFinished(WebView view, String url){
tv.setText("Finished");
}
});
}
}