欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Android应用实例---有道词典

程序员文章站 2022-06-01 10:29:40
...

相关控件:

 SearchView控件:

SearchView简单用法:http://blog.csdn.net/u010214991/article/details/48437209

                                         http://blog.csdn.net/airsaid/article/details/51087226

关于各种搜索:       http://android.xsoftlab.net/guide/topics/search/index.html


WebView控件:WebView中提供了很多方法,例如,我们可以使用canGoBack()方法判断是否能够从该网页返回上一个打开的网页;使用getTitle()和getUrl()方法获得当前网页的标题和URL路径;使用loadUrl(String url)方法加载所要打开的网页等等。


下面开始实现有道词典的查询功能。运行效果为:

Android应用实例---有道词典

activity_main.xml文件代码如下:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/activity_main"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context="bzu.edu.cn.happydirectory.MainActivity">

    <SearchView
        android:id="@+id/sv"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />
    <!-- 为SearchView定义自动补齐的ListView-->
    <WebView
        android:id="@+id/lv"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"/>

</LinearLayout>
main_activity.java代码如下:

package bzu.edu.cn.happydirectory;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.SearchView;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity  {
private static SearchView searchView;
    private static WebView webView;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        searchView= (SearchView) findViewById(R.id.sv);
        webView= (WebView) findViewById(R.id.lv);
        searchView.setSubmitButtonEnabled(true);
        webView.getSettings().setJavaScriptEnabled(true);
        webView.setWebViewClient(new WebViewClient(){
            @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
               view.loadUrl(url);
                return true;
            }
        });
        searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
            @Override
            public boolean onQueryTextSubmit(String query) {
                String strURI = (query);
                strURI = strURI.trim();
                //如果查询内容为空提示
                if (strURI.length() == 0) {
                    Toast.makeText(getApplicationContext(), "查询内容不能为空!", Toast.LENGTH_LONG)
                            .show();
                }
                //否则则以参数的形式从http://dict.youdao.com/m取得数据,加载到WebView里.
                else {
                    String strURL = "http://dict.youdao.com/m/search?keyfrom=dict.mindex&q="
                            + strURI;
                    webView.loadUrl(strURL);
                }
                return false;
            }
            @Override
            public boolean onQueryTextChange(String newText) {
                return false;
            }
        });
    }

}