webView 是android自带组件,基于webkit内核,可以方便我们显示一些网页风容,为了之后讲jquery-mobile能更加顺畅,这里讲一些webview的基本使用方法。
- webview加载自定义网页内容:我们先在xml里声明webiview组件
在代码里就可以直接用webview加载内容了<WebView android:id="@+id/webView" android:layout_width="fill_parent" android:layout_height="fill_parent" />
这样就可以在webview显示少量内容了。但这种方式只适合显示少量内容,如果要显示大量内容还是需要自已写个html文件,然后放成assets文件夹里,然后在代码里,加载自定义的html文件,以下是自写义的test.html文件public class JqueryMobile01Activity extends Activity { private WebView webView=null; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); webView=(WebView) findViewById(R.id.webView); String htmlContent="<html><head></head><body>少量内容,直接用字符串拼接</body></html>"; // webView.loadData(htmlContent, "text/html", "utf-8");//这里如果采用这种方式会出现中文乱码,所以改为下面那种方式 webView.loadDataWithBaseURL(null, htmlContent, "text/html", "utf-8", null);//这种方式可以解决中文乱码问题 } }
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8"><!--这里如果不加这句,会出现中文乱码的问题--> <title> </title> </head> <body> 这是自写义html文件 </body> </html>
在java代码里:
项目结构:public class JqueryMobile01Activity extends Activity { private WebView webView=null; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); webView=(WebView) findViewById(R.id.webView); webView.loadUrl("file:///android_asset/test.html");//访问本地文件前面要加上 file:/// } }
- 接下来我们讲第二种方式,加载网络上的网页。加载网络的的网页跟加载本地的不同,需要加上权限
在程序里我们只需写成下面这种方式就可以直接显示了<uses-permission android:name="android.permission.INTERNET" />
private WebView webView=null; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); webView=(WebView) findViewById(R.id.webView); webView.loadUrl("http://www.baidu.com");//访问百度,注意:如果这里写成 www.baidu.com没有加上http://则会提示找不到网页 }