添加有道词典功能

主界面主要代码如下:

<font size="3" color="#000000" face="微软雅黑">package xiaosi.youdao; 

import org.apache.http.HttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.util.EntityUtils;
import org.json.JSONArray;
import org.json.JSONObject; 

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast; 

public class YoudaoActivity extends Activity
{
private EditText edit = null;
private Button search = null;
private TextView text = null;
private String YouDaoBaseUrl = "http://fanyi.youdao.com/openapi.do";
private String YouDaoKeyFrom = "MyLifes";
private String YouDaoKey = "你申请的API Key";
private String YouDaoType = "data";
private String YouDaoDoctype = "json";
private String YouDaoVersion = "1.1";
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
init();
} 

private void init()
{
edit = (EditText) findViewById(R.id.edit);
search = (Button) findViewById(R.id.search);
search.setOnClickListener(new searchListener());
text = (TextView) findViewById(R.id.text);
} 

private class searchListener implements OnClickListener
{
@Override
public void onClick(View v)
{
String YouDaoSearchContent = edit.getText().toString().trim();
String YouDaoUrl = YouDaoBaseUrl+"?keyfrom=" + YouDaoKeyFrom + "&key=" + YouDaoKey + "&type=" + YouDaoType + "&doctype="
+ YouDaoDoctype + "&type=" + YouDaoType + "&version=" + YouDaoVersion + "&q=" + YouDaoSearchContent;
try
{
AnalyzingOfJson(YouDaoUrl);
}
catch (Exception e)
{
e.printStackTrace();
}
}
} 

private void AnalyzingOfJson(String url) throws Exception
{
// 第一步,创建HttpGet对象
HttpGet httpGet = new HttpGet(url);
// 第二步,使用execute方法发送HTTP GET请求,并返回HttpResponse对象
HttpResponse httpResponse = new DefaultHttpClient().execute(httpGet);
if (httpResponse.getStatusLine().getStatusCode() == 200)
{
// 第三步,使用getEntity方法活得返回结果
String result = EntityUtils.toString(httpResponse.getEntity());
System.out.println("result:" + result);
JSONArray jsonArray = new JSONArray("[" + result + "]");
String message = null;
for (int i = 0; i < jsonArray.length(); i++)
{
JSONObject jsonObject = jsonArray.getJSONObject(i);
if (jsonObject != null)
{
String errorCode = jsonObject.getString("errorCode");
if (errorCode.equals("20"))
{
Toast.makeText(getApplicationContext(), "要翻译的文本过长", Toast.LENGTH_SHORT);
}
else if (errorCode.equals("30 "))
{
Toast.makeText(getApplicationContext(), "无法进行有效的翻译", Toast.LENGTH_SHORT);
}
else if (errorCode.equals("40"))
{
Toast.makeText(getApplicationContext(), "不支持的语言类型", Toast.LENGTH_SHORT);
}
else if (errorCode.equals("50"))
{
Toast.makeText(getApplicationContext(), "无效的key", Toast.LENGTH_SHORT);
}
else
{
// 要翻译的内容
String query = jsonObject.getString("query");
message = query;
// 翻译内容
String translation = jsonObject.getString("translation");
message += "\t" + translation;
// 有道词典-基本词典
if (jsonObject.has("basic"))
{
JSONObject basic = jsonObject.getJSONObject("basic");
if (basic.has("phonetic"))
{
String phonetic = basic.getString("phonetic");
message += "\n\t" + phonetic;
}
if (basic.has("phonetic"))
{
String explains = basic.getString("explains");
message += "\n\t" + explains;
}
}
// 有道词典-网络释义
if (jsonObject.has("web"))
{
String web = jsonObject.getString("web");
JSONArray webString = new JSONArray("[" + web + "]");
message += "\n网络释义:";
JSONArray webArray = webString.getJSONArray(0);
int count = 0;
while(!webArray.isNull(count)){ 

if (webArray.getJSONObject(count).has("key"))
{
String key = webArray.getJSONObject(count).getString("key");
message += "\n\t<"+(count+1)+">" + key;
}
if (webArray.getJSONObject(count).has("value"))
{
String value = webArray.getJSONObject(count).getString("value");
message += "\n\t " + value;
}
count++;
}
}
}
}
}
text.setText(message);
}
else
{
Toast.makeText(getApplicationContext(), "提取异常", Toast.LENGTH_SHORT);
}
}
} </font>
时间: 2024-10-24 08:31:32

添加有道词典功能的相关文章

实现有道词典功能的界面

效果图: 当你随意输入一个单词时,它会调用网页版的有道词典,从而在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

有道词典for Mac如何在屏幕取词划词?有道词典屏幕取词划词功能使用教程

Mac电脑英文软件看不懂又不会用怎么办?我想你需要翻译软件来帮忙!试试网易有道词典 for Mac吧!最新版网易有道词典 for Mac添加了强力的屏幕取词和划词功能.但是mac版有道词典如何在屏幕取词划词呢?下面为大家带来详细的屏幕取词划词功能的使用教程!一.打开授权因为取词是系统级别功能,因此还需要给APP授权才能使用.第一步点击取词,然后选取打开系统偏好设置,授权给APP,只需要在APP前面打钩就代表已经授权了.这时候返回APP使用取词就可以使用了.如下图所示:二.屏幕取词划词接着再次在词

必应词典手机版(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的文件. 与此同时,我对照了一下旧版本

bing词典vs有道词典对比测试报告——功能篇之功能与细节

之所以将细节与用户体验放在一起讨论,是因为两者是那么的密不可分.所谓“细节决定成败”,在细节上让用户感受方便.舒适.不费心而且温馨,多一些人文理念,多一些情怀,做出来的产品自然比其他呆板的产品更受欢迎得多.今天我们就从细节和用户体验方面上评价一下现在两款热门词典——有道词典和必应词典的表现. 安装 捆绑安装 这是在最最最初安装软件过程中带给用户的“第一印象”.众所周知,现在大部分软件都有各种各样的捆绑安装软件,稍不留神电脑里面就按进去了不想要的东西,这让软件在用户心中的形象大打折扣. 必应安装过

必应词典桌面版 --- 基于大学生用户群体的软件分析(与有道词典对比版 1功能篇)

1.概述 这篇博客会从大学生的角度来评测必应词典桌面版,以大学生的使用习惯来评判必应词典桌面版各项功能的优劣,并与同类软件进行横向分析,最终给出我们的评分.本次分析评测的主要评测员为博主本人,相关分析评测人员包括软件工程团队人员与他们的来自各个学校各个专业的同学们,人数共计23个,具有较好的普遍性. 2.软件分析与评测 本次评测我们会从功能.体验两大方面来对必应词典桌面版进行分析.必应词典版本:V3.5.0 for windows 桌面版     有道词典版本:PC版6.2 这篇博客是功能篇.

Bing词典vs有道词典比对测试报告——功能篇之辅助功能,差异化功能及软件的效能

1.辅助功能: 和有道相比,必应的词典加入了换肤功能,用户可以选择喜欢的颜色,而且必应的皮肤也比较多,这一点设计给必应增色不少. 相对而言,有道则加入了调节客户端字体的大小,如下,也比较人性化 2.差异化功能: 必应有招出词典的快捷键,可以自行设置,使用起来方便快捷,并且必应的背单词功能有收集好的四六级词汇的常用的词汇集合如下,很人性化 另外必应词典还有单词挑战和我爱说英语拓展功能,比较能吸引人学英语. 有道词典的图解词典比较有创新性,通过图像来强化记忆,使记单词变得容易. 3.软件效能分析.

有道词典 安卓版 更新日志 - imsoft.cnblogs

手机词典 更新日志: 2014年4月23日 v5.0.4版本 ·         新增“全球发音”功能,带来世界各国的英文口音,体验原汁原味的英语发音: ·         新增“发现频道”,打造移动端最大的在线学习平台,聚合新东方.外研社等大量高质量的教育机构及名师的语言学习课程.书籍资源,为您提供英语学习一站式服务: ·         新增单词本分类功能,个性化的管理您的单词本: ·         全新Logo与视觉风格,带来不一样的视觉体验. 2013年5月10日 v4.0.1版本 ·