MainActivity.java

MainActivity.java
package com.example.goomura.ma42070103;
import android.app.ProgressDialog;
import android.graphics.Bitmap;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.webkit.WebResourceError;
import android.webkit.WebResourceRequest;
import android.webkit.WebView;
import android.webkit.WebSettings;
import android.webkit.WebViewClient;
import android.annotation.SuppressLint;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.Toast;
@SuppressLint("SetJavaScriptEnabled")
public class MainActivity extends AppCompatActivity {
//スピナー変数定義
ProgressDialog prgSpinner;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final WebView myWebView = (WebView)findViewById(R.id.webView1);
WebSettings webSettings = myWebView.getSettings();
myWebView.setWebViewClient(new WebViewClient());
myWebView.setWebViewClient(new MyWebViewClient());
webSettings.setJavaScriptEnabled(true);
myWebView.loadUrl("http://www.hal.ac.jp/osaka/");
//各種ボタンの取得
Button btGoogle = (Button)findViewById(R.id.google);
Button btYahoo = (Button)findViewById(R.id.yahoo);
Button btBack = (Button)findViewById(R.id.back);
Button btGo = (Button)findViewById(R.id.go);
Button btReload = (Button)findViewById(R.id.reload);
Button btSearch = (Button)findViewById(R.id.searchBtn);
MainActivity.java
//検索入力値取得
final EditText editText = (EditText)findViewById(R.id.search);
//Googleボタン
//Googleのトップを表示
btGoogle.setOnClickListener(new View.OnClickListener() {
public void onClick(View v){
myWebView.loadUrl("http://www.google.com");
}
});
//Yahooボタン
//Yahooのトップを表示
btYahoo.setOnClickListener(new View.OnClickListener() {
public void onClick(View v){
myWebView.loadUrl("http://www.yahoo.co.jp");
}
});
//Backボタン
//前ページを表示
btBack.setOnClickListener(new View.OnClickListener() {
public void onClick(View v){
if (myWebView.canGoBack()){
myWebView.goBack();
}
}
});
//Goボタン
//後ページを表示
btGo.setOnClickListener(new View.OnClickListener() {
public void onClick(View v){
if (myWebView.canGoForward()){
myWebView.goForward();
}
}
});
//Reloadボタン
//リロード
btReload.setOnClickListener(new View.OnClickListener() {
public void onClick(View v){
myWebView.reload();
}
});
MainActivity.java
//Searchボタン
btSearch.setOnClickListener(new View.OnClickListener() {
public void onClick(View v){
//検索入力値の始まりが http:// または https:// で始まっている場合はURL検索
//それ以外ならGoogle検索
String seachText = editText.getText().toString();
if (seachText.startsWith("http://") ¦¦ seachText.startsWith("https://")){
myWebView.loadUrl(seachText);
}
else {
String googleUrl = "http://www.google.co.jp/search?q=";
googleUrl+=seachText;
myWebView.loadUrl(googleUrl);
}
}
});
//スピナー表示
//スピナーオブジェクト作成
prgSpinner = new ProgressDialog(this);
prgSpinner.setCanceledOnTouchOutside(false);
prgSpinner.setMessage("NowLoading...");
prgSpinner.setIndeterminate(true);//状況をバーで表さないため
prgSpinner.setProgressStyle(ProgressDialog.STYLE_SPINNER);
prgSpinner.show();
}
public class MyWebViewClient extends WebViewClient {
public MyWebViewClient(){
super();
}
//読み込みスタート時
//スピナー表示
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon){
super.onPageStarted(view, url, favicon);
Toast.makeText(MainActivity.this,"PageStarted",Toast.LENGTH_LONG);
prgSpinner.show();
}
MainActivity.java
//読み込み終了時
//スピナー削除
@Override
public void onPageFinished(WebView view, String url){
super.onPageFinished(view, url);
Toast.makeText(MainActivity.this,"onPageFinished",Toast.LENGTH_LONG);
prgSpinner.dismiss();
//スプラッシュ画面の非表示化
ImageView imageViewAll = (ImageView)findViewById(R.id.imageViewAll);
if(imageViewAll.isShown()) {
imageViewAll.setVisibility(View.GONE);
}
}
//エラー時
//エラー画面遷移
//スピナー削除
@Override
public void onReceivedError(WebView view, WebResourceRequest request,
WebResourceError error){
Toast.makeText(MainActivity.this,"onReceiveError",Toast.LENGTH_LONG);
view.loadUrl("file:///android_asset/alert.html");
prgSpinner.dismiss();
}
}
}