有道词典Demo(WebView)

学习了WebView组件,写了一个有道词典的小案例

效果图如下:

源码下载地址:https://coding.net/u/gxs1225/p/YouDaoDictionary/git

代码如下:

布局

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: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="27dp"
        android:background="@android:drawable/edit_text"
        android:ems="10"
        android:singleLine="true"
        android:textColor="#552006"
        android:textColorHint="#782f10" >
        <requestFocus />
    </EditText>
    <WebView
        android:id="@+id/wvSearchResult"
        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:background="@drawable/bg_roundcorner"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:textSize="25sp" />

    <Button
        android:id="@+id/btnSearch"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_above="@+id/wvSearchResult"
        android:layout_alignParentRight="true"
        android:background="@drawable/ibsearchword"
        android:onClick="searchWord" />

</RelativeLayout>

MainActivity.java

package com.example.youdaodictionary;

import android.app.Activity;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.Menu;
import android.view.View;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.EditText;
import android.widget.Toast;

public class MainActivity extends Activity {
    private EditText etWord;
    private WebView wvResult;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        initViews();
    }

    private void initViews() {
        etWord = (EditText) findViewById(R.id.etWord);
        wvResult = (WebView) findViewById(R.id.wvSearchResult);
        wvResult.setWebViewClient(new WebViewClient() {
            @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
                view.loadUrl(url);
                return true;
            }
        });
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

    public void searchWord(View view) {
        String word = etWord.getText().toString();
        if (TextUtils.isEmpty(word)) {
            Toast.makeText(this, "查询内容不能为空!", Toast.LENGTH_LONG).show();
        } else {

            final String strUrl = "http://dict.youdao.com/m/search?keyfrom=dict.mindex&vendor=&q="
                    + word;
            wvResult.loadUrl(strUrl);
        }
    }
}
时间: 2024-08-30 14:32:05

有道词典Demo(WebView)的相关文章

关于Android程序设计—有道词典demo转移至coding的公告

有道词典的demo以及解析已转移至Coding https://coding.net/u/monsterLin/p/WebView_YouDao/git

安卓--有道词典

第一步:想要实现有道词典的开发,你必须申请一个API Key,申请链接http://fanyi.youdao.com/openapi. 什么是有道翻译API? 有道翻译API,为广大开发者提供开放接口.您的应用或网站可通过有道翻译API,构建丰富多样的功能或应用,为用户带来即时,准确,方便的查词或翻译体验,从而降低语言理解与应用门槛. 依靠有道翻译网络数据挖掘和统计机器翻译技术实力做基础,加上您的智慧,将创造出更优良的体验和创新的功能. 2:利用数据接口获得数据: 『1』版本:1.1 『2』 

实现有道词典功能的界面

效果图: 当你随意输入一个单词时,它会调用网页版的有道词典,从而在WebView中把该单词的读音,解释给显示出来. 布局文件如下: 1 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 2 xmlns:tools="http://schemas.android.com/tools" 3 android:layout_width="match_paren

Android有道词典查询功能

有道词典 任务要求:完成查词等功能 因为需要申请API key,这里直接给出地址供使用:http://fanyi.youdao.com/openapi?path=data-mode 1.activity_main.xml基本格局(不做任何说明) 代码如下: 1 <RelativeLayout 2 xmlns:android="http://schemas.android.com/apk/res/android" 3 xmlns:tools="http://schemas

基于pygtk的linux有道词典

基于pygtk的linux有道词典 一.桌面词典设计 想把Linux用作桌面系统,其中一部分障碍就是Linux上没有像有道一样简单易用的词典.其实我们完全可以自己开发一款桌面词典, 而且开发一款桌面词典也没用我们想象的那么难.在这门项目课中,我们就将开发一款非常简单的桌面词典,其功能就是:当我们选中一个单词时,词典会将该单词 的中文(英文)含义然后显示在新的窗口中. 1. 查询 那我们到哪儿去查询该单词呢?这里有两种方法: 有道网站首页进行查询比如在http://dict.youdao.com/

ubuntu下python脚本调用有道词典API实现命令行查词

#!/usr/bin/env python #coding=utf-8 '''   python使用有道词典的API来实现命令行查词 ''' import urllib2 import json import sys  reload(sys) sys.setdefaultencoding('utf-8') key = '1096888977' keyfrom = 'bloketest' doctype = 'json' u = 'http://fanyi.youdao.com/openapi.d

调用网易有道词典api

# -*- coding: utf-8 -*- #python 27 #xiaodeng #调用网易有道词典api import urllib import json class Youdao(): def __init__(self,word): self.url='http://fanyi.youdao.com/openapi.do' #url.key.keyfrom都是固定的值,所以采用这种方式赋值 self.key='929705525' self.keyfrom='pythonxiao

必应词典手机版(IOS版)与有道词典(IOS版)之软件分析【功能篇】

1.序言: 随着手机功能的不断更新和推广,手机应用市场的竞争变得愈发激烈.这次我们选择必应词典和有道词典的苹果客户端作对比,进一步分析这两款词典的客户端在功能和用户体验方面的利弊.这次测评的主要评测人是团队PM,另有其他同学给出建议. 2.软件分析与测评: 我们选择的是必应词典(version3.2.2 for ios)和有道词典(version 5.1.2 for ios) 2.1核心功能: 2.1.1词典功能: 众所周知词典的基本功能就是查词,在查词的基础上会给出相应的英文解释,例句以及用法

有道词典中的OCR功能:第三方库的变化

之前有点好奇有道词典中的OCR功能,具体来说就是强力取词功能.我知道的最有名的OCR库是tesseract,这个库是惠普在早些年前开源的. 在用python做爬虫处理验证码的时候,就会用到这个库,对应的python封装版本名字叫pytesseract.在github上可以找到tesseract的源码. 不过,此前在有道词典安装之后的文件夹中,我并未找到tesseract库.直到最近,更新了有道词典,换了新版本,才意外在文件下找到一个名叫tessdll.dll的文件. 与此同时,我对照了一下旧版本