Android学习之调用有道词典查词

该案例效果图如下:

image

 

实现原理:

"http://dict.youdao.com/m/search?keyfrom=dict.mindex&q="   + str_word;

引号内的内容为有道查词的URL地址,通过变更后方链接的字符串来实现查词

 

布局代码如下:

<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:background="@drawable/mainbg"
    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/etWord"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:layout_marginTop="31dp"
        android:background="@android:drawable/edit_text"
        android:ems="10"
        android:hint="@string/searchHint"
        android:singleLine="true"
        android:textColor="#552006"
        android:textColorHint="#782f10" >

        <requestFocus />
    </EditText>

    <Button
        android:id="@+id/btnSearch"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@+id/etWord"
        android:layout_alignBottom="@+id/etWord"
        android:layout_marginLeft="16dp"
        android:layout_toRightOf="@+id/etWord"
        android:background="@drawable/ibsearchword"
        android:onClick="searchWord"
        android:text="@string/serachWord" />

    <TextView
        android:id="@+id/tvSearchResult"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_alignLeft="@+id/etWord"
        android:layout_below="@+id/etWord"
        android:layout_marginTop="22dp"
        android:textSize="25sp"
        android:background="@drawable/bg_roundcorner"
        android:textAppearance="?android:attr/textAppearanceMedium" />

</RelativeLayout>

 

主要实现代码如下:

public class MainActivity extends Activity {  
    private EditText ed_word =null;  
    private Button search =null;  
    private WebView web =null;  
  
    @Override  
    protected void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);  
        setContentView(R.layout.activity_main);  
        initView();  
  
        search.setOnClickListener(new OnClickListener() {  
            String strURL;  
            @Override  
            public void onClick(View v) {  
                // TODO Auto-generated method stub  
                String str_word =ed_word.getText().toString();  
                if(str_word!=null){  
                    str_word =str_word.trim(); //去除一下空格  
                     strURL = "http://dict.youdao.com/m/search?keyfrom=dict.mindex&q="  
                            + str_word; //组成请求的url  
                    //加载网页  
                    web.loadUrl(strURL);  
                    web.setWebViewClient(new WebViewClient(){  
                        @Override  
                        public boolean shouldOverrideUrlLoading(WebView view,  
                                String url) {  
                            // TODO Auto-generated method stub  
                            view.loadUrl(url);//不跳到系统浏览器  
                            return true;  
                        }  
                    });  
                    //进度条  
                    web.setWebChromeClient(new WebChromeClient(){  
                        public void onProgressChanged(WebView view, int newProgress) {  
  
                            MainActivity.this.setProgress(newProgress*100);//设置进度条  
                        };  
                    });  
  
                }else {  
                    Toast.makeText(MainActivity.this,"单词不能为空!" , 3000);  
                }  
  
  
            }  
        });  
    }  
    private void initView() {  
        // TODO Auto-generated method stub  
        ed_word =(EditText)findViewById(R.id.et_word);  
        search =(Button) findViewById(R.id.btnSearch);  
        web =(WebView)findViewById(R.id.wvSearchResult);  
    }      
}

 

需要注意的是,该案例需要配置联网权限的:

<uses-permission android:name="android.permission.INTERNET"/>

posted on 2015-07-16 13:40  晋级的巨人  阅读(409)  评论(0编辑  收藏  举报

导航