百度翻译接口
来源:互联网 发布:能帮人找东西的软件 编辑:程序博客网 时间:2024/06/05 10:24
先看下帮助文档吧。
接口帮助文档
在使用前,你需要在开发者帐号中创建应用,来获取授权码,这样才能正常的使用提供的接口。
活动:
public class TranslateAcy extends Activity implements OnClickListener {private String BaiduTrans = "http://openapi.baidu.com/public/2.0/bmt/translate";private String Client_id = "S7874h7McC7avmbWtPFkCOgc";@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);initView();}public void initView() {findViewById(R.id.btn_trans).setOnClickListener(this);}private Handler insHandler = new Handler() {@Overridepublic void handleMessage(Message msg) {// TODO Auto-generated method stubswitch (msg.what) {case 0:String word = msg.getData().getString("word");((EditText) findViewById(R.id.et_second)).setText(word);break;default:break;}}};/** * 翻译 */private void transEnTo() {// path: http://fanyi.baidu.com/#en/zh/String putword = ((EditText) findViewById(R.id.et_first)).getText().toString();try {// 对中文字符进行编码,否则传递乱码putword = URLEncoder.encode(putword, "utf-8");URL url = new URL(BaiduTrans + "?client_id=" + Client_id + "&q="+ putword + "&from=auto&to=zh");URLConnection con = url.openConnection();con.connect();InputStreamReader reader = new InputStreamReader(con.getInputStream());BufferedReader bufread = new BufferedReader(reader);StringBuffer buff = new StringBuffer();String line;while ((line = bufread.readLine()) != null) {buff.append(line);}// 对字符进行解码String back = new String(buff.toString().getBytes("ISO-8859-1"),"UTF-8");String str = JsonToString(back);Message msg = new Message();msg.what = 0;Bundle bun = new Bundle();bun.putString("word", str);msg.setData(bun);insHandler.sendMessage(msg);reader.close();bufread.close();} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}/** * 获取jsoon中翻译的内容 * * @param jstring * @return */private String JsonToString(String jstring) {try {JSONObject obj = new JSONObject(jstring);JSONArray array = obj.getJSONArray("trans_result");obj = array.getJSONObject(0);String word = obj.getString("dst");return word;} catch (JSONException e) {// TODO Auto-generated catch blocke.printStackTrace();}return "";}/** * 访问网络线程 */private void tranThread() {new Thread() {public void run() {transEnTo();};}.start();}@Overridepublic void onClick(View v) {// TODO Auto-generated method stubswitch (v.getId()) {case R.id.btn_trans:tranThread();break;default:break;}}}
布局:
<LinearLayout 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:orientation="vertical" > <EditText android:id="@+id/et_first" android:layout_width="match_parent" android:layout_height="wrap_content" android:ems="10" > <requestFocus /> </EditText> <Button android:id="@+id/btn_trans" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="翻译" /> <EditText android:id="@+id/et_second" android:layout_width="match_parent" android:layout_height="wrap_content" android:ems="10" /></LinearLayout>
运行效果:
说明:
1.我这里使用了自动识别,所以可以中英文互译。其规则:
自动识别的规则 当源语言为非中文时,目标语言自动设置为中文。当源语言为中文时,目标语言自动设置为英文。 如下例: 1)源语言识别为中文,则翻译方向为“中 -> 英” 2)源语言识别为英文,则翻译方向为“英 -> 中” 3)源语言识别为日文,则翻译方向为“日 -> 中”2.用get请求发送中文的时候,需要转码,开始的时候以为百度提供的接口,就没考虑那么多,其实是需要你处理的。
// 对中文字符进行编码,否则传递乱码putword = URLEncoder.encode(putword, "utf-8");
0 0
- 百度翻译接口
- 百度翻译接口
- 百度翻译C#API接口
- python调用百度翻译接口
- 百度翻译接口JAVA版
- (java 功能代码) 百度翻译接口
- C#调用百度翻译接口小程序
- php 百度翻译接口 脚本执行
- 调用百度翻译机器人接口纯代码
- python3调用百度翻译接口样例
- python自动化接口测试(百度翻译)
- 用java多线程实现“百度翻译接口API快速翻译”
- QtQuick2实现英汉翻译--后台调用百度翻译接口
- java微信开发,百度翻译最新接口使用
- AppInventor读取百度翻译接口(韩语立刻说)
- 使用c通过HTTP接口使用百度翻译API
- 调用百度翻译接口demo(完整ajax请求)
- 百度翻译
- 简单之并行开发(完整版)
- 《Programming in Lua 3》读书笔记(十)
- HOG+SVM进行图像分类
- Mysql权限问题
- poj3040 Allowance——贪心
- 百度翻译接口
- Greedy Mouse
- ubuntu安装源
- 骑士飞行棋
- Java IO流学习总结
- Android基础&进阶
- 第一周工作报告
- 种类数,方案划分,01背包
- C++模版基于包含模型之外的显示实例化