android开发简易浏览器

来源:互联网 发布:java游戏叫灵剑伏魔录 编辑:程序博客网 时间:2024/04/29 18:02

看视频教程,学着做了个简单的(PS:代码可能有点乱~)


效果图



startActivity


package com.example.webview;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;

public class StartActivity extends Activity implements OnClickListener{
    private Button bts;
    private EditText ets;
    String webUrl;
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.startweb);
        init();
//        webUrl = "http:///"+ets.getText().toString();
        bts.setOnClickListener(this);
    }

    private void init() {
        // TODO Auto-generated method stub
        bts = (Button) findViewById(R.id.button1);
        ets = (EditText) findViewById(R.id.editText1);
    }

    @Override
    public void onClick(View arg0) {
        // TODO Auto-generated method stub
        Intent intent = new Intent(StartActivity.this,MainActivity.class);
        intent.putExtra("url", ets.getText().toString());
        startActivity(intent);
    }
}



mainactivity


package com.example.webview;



import android.support.v7.app.ActionBarActivity;
import android.support.v7.app.ActionBar;
import android.support.v4.app.Fragment;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.view.Window;
import android.webkit.WebChromeClient;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.os.Build;

public class MainActivity extends ActionBarActivity {
    private String webUrl ;
    private WebView webView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_PROGRESS);
        requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
        setContentView(R.layout.web);
        
        Intent intent = this.getIntent();
        webUrl = intent.getStringExtra("url");
//        Uri uri = Uri.parse(url);
//        Intent intent = new Intent(Intent.ACTION_VIEW,uri);
//        startActivity(intent);
        
        
       
        
        init();
        
    }

    private void init() {
        webView = (WebView) findViewById(R.id.webView1);
        //local load
//        webView.loadUrl("file:///android_asset/qwe.html");
        //web load
        webView.loadUrl(webUrl);
        //覆盖webview默认通过第三方或者是系统浏览器打开网页的行为,使得网页在webview中打开
        webView.setWebViewClient(new WebViewClient(){
            @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
                //返回值是true的时候控制网页在webview中打开,返回值是false时调用系统或第三方浏览器打开
//                view.loadUrl(url);
                return false;
            }
            //webviewclient帮助webview去处理一些页面控制和请求通知
        });
        //设置启用javascript
        WebSettings webSettings = webView.getSettings();
        webSettings.setJavaScriptEnabled(true);
        webSettings.setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);
        
        webView.setWebChromeClient(new WebChromeClient(){
            @Override
            public void onProgressChanged(WebView view, int newProgress) {
                // TODO Auto-generated method stub
                if (newProgress==100) {
                    setTitle("");
                    setProgressBarIndeterminateVisibility(false);
                    setProgressBarVisibility(false);
                }else {
                    setProgressBarIndeterminateVisibility(true);
                    setProgressBarVisibility(true);
                    setProgress(newProgress*100);
                    
                    setTitle("The page is loading"+newProgress+"%");
                }
            }
        });
    }
    
    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        // TODO Auto-generated method stub
        
        if (keyCode==KeyEvent.KEYCODE_BACK&&webView.canGoBack()) {
            webView.goBack();
            return true;
        }
        return super.onKeyDown(keyCode, event);
    }



}


1 0
原创粉丝点击