Android 简单浏览器实例

编程入门 行业动态 更新时间:2024-10-26 10:29:59

Android 简单浏览器<a href=https://www.elefans.com/category/jswz/34/1771375.html style=实例"/>

Android 简单浏览器实例

1.简介

在Android开发中,我们难免会使用到网页,而Android给我们提供了非常方便的加载网页的工具--Webview,其实webview在设计上就是独立的一个体系,虽然webview也是一个view,但是webview在加载,显示,绘制等方便,不同于我们使用的各种view:button,imageview,text等,webview中有独立的绘图引擎去绘制网页中的各种资源;

同时对于webview来说,其实webview本身就是一个浏览器,webview控件包含了浏览器的各种功能,google已经开放出了足够的接口,你只需要调用相应的接口,既可以实现一个简单的浏览器。

    步骤:1.设计用户界面 activity_mian.xml
               2.方法实现 MainActivity.java

              3.联网声明 AndriodManifest.xml

下面将会使用webview创建一个简单的浏览器;


1.设计用户界面 activity_mian.xml

该浏览器有一个editText,能够让用户输入网址,有一个button让用户点击相应响应加载网页操作,当前指添加了返回按键,让webview回滚上一个加载页面的操作,当然你也可以监听别的按键或者操作,进行上一页或者下一页的操作,这个看各自的设计逻辑;

xml布局文件代码如下:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayoutxmlns:android=""xmlns:app=""xmlns:tools=""android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"tools:context="com.example.administrator.MainActivity"><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:layout_weight="1"android:orientation="horizontal"><EditTextandroid:id="@+id/web_url"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_weight="7"android:imeOptions="actionSearch"android:text=""/><Buttonandroid:id="@+id/search_url"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_weight="1"android:text="搜索"/></LinearLayout><WebViewandroid:layout_weight="20"android:id="@+id/webshow"android:layout_width="match_parent"android:layout_height="wrap_content"/></LinearLayout>

2.方法实现 MainActivity.java

package com.example.administrator.mywebview;import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.KeyEvent;
import android.view.MotionEvent;
import android.view.View;
import android.webkit.WebChromeClient;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.Button;
import android.widget.EditText;public class MainActivity extends AppCompatActivity {private EditText web_url;private WebView webshow;private Button search_url;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);web_url = findViewById(R.id.web_url);webshow = findViewById(R.id.webshow);webshow.getSettings().setJavaScriptEnabled(true);webshow.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);webshow.getSettings().setSupportMultipleWindows(true);webshow.getSettings().setBuiltInZoomControls(true);webshow.setWebViewClient(new WebViewClient());webshow.setWebChromeClient(new WebChromeClient());webshow.setOnTouchListener(new View.OnTouchListener() {@Overridepublic boolean onTouch(View view, MotionEvent motionEvent) {Log.d("browser","motionEvent:" + motionEvent.toString());return false;}});webshow.loadUrl("");    search_url = findViewById(R.id.search_url);search_url.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {String url = web_url.getText().toString();Log.d("browser","url:" + url);      //获取用户输入的网址webshow.getSettings().setJavaScriptEnabled(true);webshow.loadUrl(url);}});}@Overridepublic boolean onKeyDown(int keyCode, KeyEvent event) {if(keyCode == KeyEvent.KEYCODE_SEARCH || keyCode == KeyEvent.KEYCODE_ENTER){String url = web_url.getText().toString();Log.d("browser", "url:" + url);webshow.getSettings().setJavaScriptEnabled(true);webshow.loadUrl(url);}if((keyCode == KeyEvent.KEYCODE_BACK) && webshow.canGoBack()) {webshow.goBack();return true;}return super.onKeyDown(keyCode, event);}
}

 3.联网声明 AndriodManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android=""package="com.example.administrator.mywebview"><!--允许联网 --><uses-permission android:name="android.permission.INTERNET" /><!--获取GSM(2g)、WCDMA(联通3g)等网络状态的信息  --><uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /><!--获取wifi网络状态的信息 --><uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /><!--保持CPU 运转,屏幕和键盘灯有可能是关闭的,用于文件上传和下载 --><uses-permission android:name="android.permission.WAKE_LOCK" /><!--获取sd卡写的权限,用于文件上传和下载--><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /><!--允许读取手机状态 --><uses-permission android:name="android.permission.READ_PHONE_STATE" /><applicationandroid:allowBackup="true"android:icon="@mipmap/ic_launcher"android:label="@string/app_name"android:roundIcon="@mipmap/ic_launcher_round"android:supportsRtl="true"android:theme="@style/AppTheme"><activity android:name=".MainActivity"><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter></activity></application></manifest>


更多推荐

Android 简单浏览器实例

本文发布于:2024-02-11 08:03:29,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1679941.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:实例   浏览器   简单   Android

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!