第一步:思路解析

从界面看一共用了三个控件EditText,Button,WebView。其实是四个,是当我们查询内容为空的时候用来提示的Toast控件。我们在EditText输入查询内容,这里包括中文,英文。然后通过参数的形式,从http://dict.youdao.com/m取出数据把结果存放在WebView里。如下图所示:

b6b74a874bc24e24587cc9559f04ca69.png

接下来建立一个布局xml代码如下:

1

2 xmlns:tools="http://schemas.android.com/tools"

3 android:layout_width="match_parent"

4 android:layout_height="match_parent"

5 android:background="@drawable/mainbg"

6 android:paddingBottom="@dimen/activity_vertical_margin"

7 android:paddingLeft="@dimen/activity_horizontal_margin"

8 android:paddingRight="@dimen/activity_horizontal_margin"

9 android:paddingTop="@dimen/activity_vertical_margin"

10 tools:context=".MainActivity" >

11

12

14 android:layout_width="wrap_content"

15 android:layout_height="wrap_content"

16 android:layout_alignParentLeft="true"

17 android:layout_alignParentTop="true"

18 android:layout_marginTop="27dp"

19 android:background="@android:drawable/edit_text"

20 android:ems="10"

21 android:singleLine="true"

22 android:textColor="#552006"

23 android:textColorHint="#782f10" >

24

25

26

27

28

30 android:layout_width="wrap_content"

31 android:layout_height="wrap_content"

32 android:layout_alignRight="@+id/tvSearchResult"

33 android:layout_alignTop="@+id/etWord"

34 android:background="@drawable/ibsearchword"

35 android:onClick="search" />

36

37

39 android:layout_width="match_parent"

40 android:layout_height="match_parent"

41 android:layout_alignLeft="@+id/etWord"

42 android:layout_below="@+id/etWord"

43 android:layout_marginTop="22dp"

44 android:background="@drawable/bg_roundcorner"

45 android:textAppearance="?android:attr/textAppearanceMedium"

46 android:textSize="25sp" />

47

48

有些同学也许在用webview控件的时候会出现问题:

第一种方法

1在要Activity中实例化WebView组件:WebView webView = new WebView(this);

2.调用WebView的loadUrl()方法,设置WevView要显示的网页:   互联网用:webView.loadUrl("http://www.google.com");   本地文件用:webView.loadUrl("file:///android_asset/XX.html"); 本地文件存放在:assets 文件中

3.调用Activity的setContentView( )方法来显示网页视图

4.用WebView点链接看了很多页以后为了让WebView支持回退功能,需要覆盖覆盖Activity类的onKeyDown()方法,如果不做任何处理,点击系统回退剪键,整个浏览器会调用finish()而结束自身,而不是回退到上一页面

5.需要在AndroidManifest.xml文件中添加权限,否则会出现Web page not available错误。  

第二种方法:

1、在布局文件中声明WebView

2、在Activity中实例化WebView

3、调用WebView的loadUrl( )方法,设置WevView要显示的网页

4、为了让WebView能够响应超链接功能,调用setWebViewClient( )方法,设置  WebView视图

5、用WebView点链接看了很多页以后为了让WebView支持回退功能,需要覆盖覆盖Activity类的onKeyDown()方法,如果不做任何处理,点击系统回退剪键,整个浏览器会调用finish()而结束自身,而不是回退到上一页面

6、需要在AndroidManifest.xml文件中添加权限,否则出现Web page not available错误。

1 public class YouDao extendsActivity2 {3 //查询按钮申明

4 privateButton myButton01;5 //清空按钮申明

6 privateButton myButton02;7 //输入框申明

8 privateEditText mEditText1;9 //加载数据的WebView申明

10 privateWebView mWebView1;11

12 public voidonCreate(Bundle savedInstanceState)13 {14 super.onCreate(savedInstanceState);15 setContentView(R.layout.main);16 //获得布局的几个控件

17 myButton01 =(Button)findViewById(R.id.myButton01);18 myButton02 =(Button) findViewById(R.id.myButton02);19 mEditText1 =(EditText) findViewById(R.id.myEditText1);20 mWebView1 =(WebView) findViewById(R.id.myWebView1);21 //查询按钮添加事件

22 myButton01.setOnClickListener(newButton.OnClickListener()23 {24 public voidonClick(View arg0)25 {26 String strURI =(mEditText1.getText().toString());27 strURI =strURI.trim();28 //如果查询内容为空提示

29 if (strURI.length() == 0)30 {31 Toast.makeText(YouDao.this, "查询内容不能为空!", Toast.LENGTH_LONG)32 .show();33 }34 //否则则以参数的形式从http://dict.youdao.com/m取得数据,加载到WebView里.

35 else

36 {37 String strURL = "http://dict.youdao.com/m/search?keyfrom=dict.mindex&q="

38 +strURI;39 mWebView1.loadUrl(strURL);40 }41 }42 });43 //http://dict.youdao.com/m/search?keyfrom=dict.mindex&q=happy44 //清空按钮添加事件,将EditText置空

45 myButton02.setOnClickListener(newButton.OnClickListener()46 {47 public voidonClick(View v)48 {49 mEditText1.setText("");50 }51 });52 }53 }

原文:http://www.cnblogs.com/zhiai1314/p/4600699.html

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐