Android的简易浏览器的设计和实现是十分的简单的,具体的总结如下:
首先Android浏览器的界面十分的简洁,因为只要实现可以浏览网页的功能即可,因此在这里只设计和实现简单的核心功能即可
其界面的设置如上图,具体解释如下:1.“前进”按钮.2“后退”按钮.3.输入地址的地址栏(EditText).4.进入相应地址的按钮.5.是显示网页的控件WebView。
具体的界面的设置在布局文件中完成即可,其具体的代码如下:
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
xmlns:android="http://schemas.android.com/apk/res/android">
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
>
<Button
android:id="@+id/forward"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="@stringard">"
</Button>
<Button
android:id="@+id/back"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/goback">"
</Button>
<EditText
android:id="@+id/edit"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:lines="1"
android:layout_weight="1"
android:text="www.baidu.com"
>
</EditText>
<Button
android:id="@+id/go"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/go"
></Button>
</LinearLayout>
<WebView
android:layout_width="fill_parent"
android:layout_height="0dip"
android:layout_weight="1.0"
android:focusable="false"
android:id="@+id/webview"
/>
</LinearLayout>
进行布局文件之后下一步的工作是在AndroidManifest.xml中进行配置,只有这样才可以访问网路,要不然程序会一直出现无法访问网络的错误,这一点是十分重要的,具体的配置代码为:<uses-permission android:name="android.permission.INTERNET"/>
这一步之后进入MainActivity.java里面进行代码的编写,具体的代码如下:
public class MainActivity extends ActionBarActivity {
Button button_forward;
Button button_back;
EditText edit;
Button go;
WebView webview;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//获得几个空间的操作id
button_forward=(Button)findViewById(R.id.forward);
button_back=(Button)findViewById(R.id.back);
edit=(EditText)findViewById(R.id.edit);
go=(Button)findViewById(R.id.go);
webview=(WebView)findViewById(R.id.webview);
//为webview控件设置属性
webview.getSettings().setJavaScriptEnabled(true);
webview.setWebChromeClient(new WebChromeClient());
webview.setWebViewClient(new WebViewClient());
//获得几个控件的id之后,接下来为控件添加事件监听器
/**
* 为前进按钮添加事件监听器
*/
button_forward.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
webview.goForward();
}
});
button_back.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
webview.goBack();
}
});
/*edit.setOnKeyListener(new OnKeyListener() {
@Override
public boolean onKey(View arg0, int arg1, KeyEvent arg2) {
// TODO Auto-generated method stub
if(arg1==KeyEvent.KEYCODE_ENTER){//如果是回车的话就执行这个操作
if
}
return false;
}
});*/
go.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
//go事件是进行页面的跳转
if(!"".equals(edit.getText().toString())){
OpenBrowser();
}else{
}
}
});
}
private void OpenBrowser(){
//加载网页
webview.loadUrl("http://"+edit.getText().toString());
Toast.makeText(this, "正在加载:"+edit.getText().toString(), Toast.LENGTH_SHORT).show();
}
}
经过这样的编辑之后,就可以完成基本的操作,运行代码即可