文档章节

制作简单的单词查询软件

小波刘
 小波刘
发布于 2015/04/11 17:18
字数 410
阅读 16
收藏 0

BO API是一款免费的数据服务API(http://www.boapi.net/),其单词查询接口http://service.boapi.net/EnWord/EnWord.ashx?key=AppKey&type=w&word=good,其中AppKey是申请的key,word是查询的单词。详细文档查看http://www.boapi.net/enword.htm。

开发语言:C#(wpf)

工具:VS2012

关键代码

private void btnSearch_Click(object sender, RoutedEventArgs e)
        {
            string word = tbKey.Text.Trim();
            if (word == "")
                return;
            try
            {
                WebClient wc = new WebClient();
                wc.Encoding = System.Text.Encoding.UTF8;
                string json = wc.DownloadString("http://service.boapi.net/EnWord/EnWord.ashx?appkey=dd298fc40c3be17b1b94e2f3412&word=" + word);
                wc.Dispose();
                if (!string.IsNullOrEmpty(json))
                {
                    JToken jk = (JToken)JsonConvert.DeserializeObject(json);
                    if (jk != null)
                    {
                        tbWord.Text = word;
                        tbPhonetic.Text = "[" + jk["mark"].ToString() + "]";
                        tbTrans.Text = jk["explain"].ToString();
                        voice.Visibility = Visibility.Visible;
                        voice.Tag = "http://www.boapi.net/basicdata/voice/" + word.Substring(0, 1) + "/" + jk["voice"].ToString();
                        if (jk["es"] != null)
                        {
                            if (jk["es"].Count() > 0)
                                tbSentence.Text = jk["es"][0]["sentence"].ToString() + " " + jk["es"][0]["translate"].ToString();
                            if (jk["es"].Count() > 1)
                                tbSentence.Text += Environment.NewLine + jk["es"][1]["sentence"].ToString() + " " + jk["es"][1]["translate"].ToString();
                            //if (jk["es"].Count() > 2)
                            //    tbSentence.Text += Environment.NewLine + jk["es"][2]["sentence"].ToString() + " " + jk["es"][2]["translate"].ToString();
                        }
                    }
                }
            }
            catch
            { }
        }

 

代码解析:

WebClient提供资源接收数据公共方法,我们就可以从远程url地址下载数据(访问服务)。
JsonConvert.DeserializeObject将string反序列化为json对象
voice是一个播放图标,这里将单词的音频文件地址存储到voice的Tag属性中

注意:

单词查询返回的json中,Voice代表单词语音文件名。访问语音文件的url为:http://www.boapi.net/basicdata/voice/单词文件名

如:查询good单词返回的json中"voice":"good.wav",则good单词的url为http://www.boapi.net/basicdata/voice/good.wav

源码下载:单词查询软件源码

© 著作权归作者所有

共有 人打赏支持
小波刘
粉丝 0
博文 3
码字总数 707
作品 0
成都
私信 提问
易语言简单聊天机器人怎么做(有图,求开源高手帮忙!)

本人真的急需此软件,求广大高手教教我这个小菜鸟: 1.怎样弄:在一个小窗口里,只要打一个句子或者单词,触发到数据库(我连数据库也不会弄)作出相应回答,我不用做得太智能,只要我输入多...

allanqiu97
2012/06/27
8.5K
28
背单词软件--WordJoy

WordJoy是一个用pygtk编写的背单词软件。目前只在Linux下成功测试,至于在Windows下运行需要安装哪些库,请参加其它pygtk写的程序。 WordJoy基于TualatriX大侠的MyWord改写而成,而MyWord又是...

匿名
2009/07/17
1K
0
有道词典 纯净版 - imsoft.cnblogs

软件名称:有道词典 软件版本:5.4 正式版(5.4.46.5554) 软件主页:http://cidian.youdao.com/ 软件定制:飞扬时空 更新日期:2013年8月26日 软件简介: 有道词典是一款免费的全能翻译软件...

imzdx
2014/04/17
0
0
[Elasticsearch] 邻近匹配 - 性能,关联单词查询以及Shingles

短语和邻近度查询比简单的match查询在性能上更昂贵。match查询只是查看词条是否存在于倒排索引(Inverted Index)中,而match_phrase查询则需要计算和比较多个可能重复词条(Multiple possibly ...

键走偏锋
2017/08/04
0
0
统计出现频率最高的十个单词的程序性能分析

李竹君 2011211964 0401115班 1.使用C语言。 2.整体思路:首先将一篇文章分词,分词的方法是将逐字符的判断一篇文章,如果该字符的ASCII码在“A~Z”或“a~z”之间(区分大小写),则该字符属...

大脸猫cat
2014/03/17
0
2

没有更多内容

加载失败,请刷新页面

加载更多

Word Pattern(leetcode290)

Given a pattern and a string str, find if str follows the same pattern. Here follow means a full match, such that there is a bijection between a letter in pattern and a non-empt......

woshixin
14分钟前
0
0
Kubernetes 1.13.1快速升级

Kubernetes 1.13.1已经正式发布,快速升级(含国内镜像快速下载链接)包括升级kubeadm/kubectl/kubelet版本、拉取镜像、升级Kubernetes集群三个主要步骤。注意Kubernetes 1.12.3版本暂时不支...

openthings
17分钟前
1
0
多线程的实现方式

多线程是指 一个程序运行时,产生或使用了不止一个线程。 线程的生命周期是怎么样的,下面这张图我们可以看出些端倪: 这章我们主要讨论多线程实现的方式,基础知识部分我们可以下来再恶补。...

搬砖大侠
29分钟前
1
0
新人千万不要在 Windows 上使用 Ruby on Rails

标题:新人千万不要在 Windows 上使用 Ruby on Rails 副标题:鼓励新人在 Linux 和 Mac 上使用 Ruby on Rails ! 原则:要走寻常路,不要学美特斯邦伟! "在 Windows上 使用 Ruby on Rails "是...

Jason909
37分钟前
2
0
day177-2018-12-14-英语流利阅读-待学习

艾滋病的治愈方法是否触手可及? Daniel 2018-12-14 1.今日导读 几十年来,艾滋病一直是世界上最难对付的“超级绝症”之一,从人类历史上第一次诊断出艾滋病病例的 20 世纪 80 年代早期到 20...

飞鱼说编程
今天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部