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(); } } }
© Copyright 2024 ExpyDoc