Android使用百度翻译api
来源:互联网 发布:java读写ini配置文件 编辑:程序博客网 时间:2024/05/17 02:55
一直想试用一下百度翻译的接口,前些天从网上看了一篇关于json的博客,突然想试一下百度翻译api,于是我做了一个使用百度翻译api的Android小程序。
首先要使用百度翻译(也可以使用有道翻译)必须要有一个userkey,至于如何去申请userkey,还有请求的规则什么的,这里不再介绍,网站上写的都非常清楚。废话不多说下面直接说开发过程:
1、首先做一个界面出来(至于界面如何做,自己随意就好):edittext用于接收要翻译的内容,button用于发送请求,textview用于显示翻译好的内容。
2、由于是连接百度翻译接口,所以联网是必须的,这里最好写一个检查网络的类,我这里简单写一个出来:
public class NetworkStatus {
publicstatic boolean isNetworkAvailable(Activity activity) {
Contextcontext = activity.getApplicationContext();
ConnectivityManagerconnectivityManager = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
if(connectivityManager == null) {
returnfalse;
}else {
NetworkInfo[]networkInfo = connectivityManager.getAllNetworkInfo();
if(networkInfo != null && networkInfo.length > 0) {
for(int i = 0; i < networkInfo.length; i++) {
if(networkInfo[i].getState() == NetworkInfo.State.CONNECTED) {
returntrue;
}
}
}
}
returnfalse;
}
}
3、onclick方法,拼接请求字符串,(对字符串的处理,我建议还是自己写一下比较好点,我这里只是为了试验一下,所以写的很简单。。。)
4、从网站上读取数据并显示:
private void fanYi(final Stringstr) {
newAsyncTask<String, Void, String>() {
@Override
protectedString doInBackground(String... params) {
try{
URLurl = new URL(params[0]);
HttpURLConnectionconnection = (HttpURLConnection) url
.openConnection();
InputStreamis = connection.getInputStream();
InputStreamReaderisr = new InputStreamReader(is, "utf-8");
BufferedReaderbf = new BufferedReader(isr);
Stringline;
StringBuffersb = new StringBuffer();
while((line = bf.readLine()) != null) {
System.out.println(line);
sb.append(line);
}
bf.close();
isr.close();
is.close();
JSONObjectjsonObject = new JSONObject(sb.toString());
JSONArraytrans_result = jsonObject
.getJSONArray("trans_result");
StringBufferafterText = new StringBuffer();
for(int i = 0; i < trans_result.length(); i++) {
JSONObjectjo = trans_result.optJSONObject(i);
afterText.append(jo.getString("dst"));
}
textAfter= afterText.toString();
}catch (Exception e) {
e.printStackTrace();
}
returnparams[0];
}
@Override
protectedvoid onPostExecute(String result) {
//TODO Auto-generated method stub
tvTextAfter.setText(textAfter);
// super.onPostExecute(result);
}
}.execute(str);
}
5、注意:
这个程序需要联网并读取网络连接情况所以就要添加两个权限:
<uses-permissionandroid:name="android.permission.INTERNET"/>
<uses-permissionandroid:name="android.permission.ACCESS_NETWORK_STATE"/>
一定要注意转换编码格式,不然会出现乱码。
ps:这个写的好的话,完全可以写一个翻译APP自己来使用啊。我是小白,写的不好的地方,大家指正啊。
- Android使用百度翻译api
- QtQuick使用百度翻译api
- C#使用百度翻译API
- c#:使用百度翻译API
- 新版百度翻译api的使用,java,android
- php使用百度翻译api示例分享
- IOS之百度翻译API使用
- 使用百度翻译API实现一键翻译
- 调用百度翻译API
- 百度翻译api开发
- 百度翻译API请求
- 使用c通过HTTP接口使用百度翻译API
- shell下使用php调用百度翻译API
- 百度翻译API与MD5加密 Java使用
- 百度翻译API的调用
- 百度翻译API - PHP实现
- 百度翻译api 网页应用
- 百度翻译C#API接口
- 程序算法与人生选择
- C++的private的属性或方法真的不能访问吗? no
- mvc web api filter 多个筛选器同时读取post 内容时为空的解决方案
- Altium designer 之多层板层设计
- ios修改textField的placeholder的字体颜色、大小
- Android使用百度翻译api
- ADOConnection 连接PostgreSQL数据库
- 判断点P是否在三角形ABC内
- 实现DIV层内的文字垂直居中
- unity异步加载 平滑加载,贼顺溜
- Java虚拟运行机制
- App Store 截图尺寸
- Gabor filter
- Cocos2d-x 3.x——AnchorPoint 和Position 关系