我的学习之旅:初涉android:WebView 与 Intent
2014-02-12 20:01
218 查看
写这篇博客的目的是为了总结自己每天学到的东西,内容可能是比较简单,没有很深入的研究。
不过大概的使用还是可以的。
首先看一下布局文件,在这里我定义了两个布局文件来实现Intent的跳转,
一个是主布局文件,代码如下:
activity_main.xml
在这里我写一个EditText的目的是为了可以自己输入网址,点击按钮实现跳转。
下一个布局文件只有一个WebView,用来装载网页:
webview.xml
接着就到了写Activity了
MainActivity.java
MyWebView.java
还差最后一步了,使用WebView必然要用到网络,所以要设置网络的访问权限,具体是要在AndroidManifest.xml中设置的。
这个例子很简单,就不做解释了,代码上的注释也很清楚了。
好,这样就完成了.....
不过大概的使用还是可以的。
首先看一下布局文件,在这里我定义了两个布局文件来实现Intent的跳转,
一个是主布局文件,代码如下:
activity_main.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".MainActivity" > <EditText android:id="@+id/myEditText" android:layout_width="fill_parent" android:layout_height="wrap_content" android:hint="@string/input" android:singleLine="true"/> <Button android:id="@+id/myButton" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_below="@+id/myEditText" android:layout_alignLeft="@+id/myEditText" android:text="@string/turnto"/> </RelativeLayout>
在这里我写一个EditText的目的是为了可以自己输入网址,点击按钮实现跳转。
下一个布局文件只有一个WebView,用来装载网页:
webview.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <WebView android:id="@+id/myWebView" android:layout_width="fill_parent" android:layout_height="fill_parent"/> </LinearLayout>
接着就到了写Activity了
MainActivity.java
package com.example.mywebview; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.Menu; import android.view.View; import android.widget.Button; import android.widget.EditText; public class MainActivity extends Activity { private EditText myEditText = null; private Button myButton = null; public String uri = new String(); @Override protected void onCreate(final Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); myEditText = (EditText) findViewById(R.id.myEditText); myButton = (Button) findViewById(R.id.myButton); ButtonListener listener = new ButtonListener(); myButton.setOnClickListener(listener); } // 实现页面跳转,并把EditText中的内容用intent传送到MyWebView这个Activity中 class ButtonListener implements View.OnClickListener { @Override public void onClick(final View v) { uri = myEditText.getText().toString(); Intent intent = new Intent(); intent.setClass(MainActivity.this, MyWebView.class); // 把需要传递的数据附加到intent中 intent.putExtra("Uri", "" + uri); startActivity(intent); } } @Override public boolean onCreateOptionsMenu(final Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } }
MyWebView.java
package com.example.mywebview; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.KeyEvent; import android.webkit.WebView; import android.webkit.WebViewClient; public class MyWebView extends Activity { private WebView myWebView = null; private String uri = new String("123"); @Override protected void onCreate(final Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.webview); Intent intent = getIntent(); // 获取intent传送过来的变量 uri = intent.getStringExtra("Uri"); System.out.println("-------------->" + uri); myWebView = (WebView) findViewById(R.id.myWebView); // 设置能执行JavaScript脚本 myWebView.getSettings().setJavaScriptEnabled(true); // 直接把uri路径所指的网页装载进来 myWebView.loadUrl(uri); // 设置web视图,重写此方法返回true表明点击网页里面的链接还是在当前的webview里跳转 myWebView.setWebViewClient(new WebViewClient() { @Override public boolean shouldOverrideUrlLoading(final WebView view, final String url) { view.loadUrl(url); return true; } }); } @Override // 设置返回上一页 public boolean onKeyDown(final int keyCode, final KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK && myWebView.canGoBack()) { myWebView.goBack(); return true; } return false; } }
还差最后一步了,使用WebView必然要用到网络,所以要设置网络的访问权限,具体是要在AndroidManifest.xml中设置的。
<uses-permission android:name="android.permission.INTERNET"/>
这个例子很简单,就不做解释了,代码上的注释也很清楚了。
好,这样就完成了.....
相关文章推荐
- android webview 学习
- 安卓学习笔记---AndroidWebview里设置Cookie遇到的坑
- Android WebView 学习
- android webview控件学习
- Android开发学习笔记十二 WebView
- android web view的学习 1
- Android学习之 WebView使用小结
- Android开发学习笔记之浅谈WebView
- Android WebView学习(参考代码)
- 【Android基础学习】带进度条的WebView 2
- 学习笔记-Android webview和JS交互
- Android学习之笔记---WebView的使用
- Android学习之 WebView使用小结
- android客户端学习-scrollview中添加webview显示空白的问题
- Android学习之 WebView使用小结
- 【Android基础学习】webview加载网页,tel协议不会调出拨号盘?该如何处理
- Android开发学习笔记:初学WebView
- Android Chromium WebView学习启动篇
- 简单学习下Android 的WebView
- Android开发学习笔记:浅谈WebView