Android课程设计——中英翻译器
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Android课程设计——中英翻译器
之前老师讲过调用google 提供的api程序接口可以做天气预报和地图。所以我效仿课件和网上资料做了一个google的在线翻译器。主要是借助google的翻译api和webview来实现的。大部分是参考google code。尤其是JS的部分主要参考:/intl/zh-CN/apis/language/translate/v1/getting_started.html
只有一个java文件
Translation.java
package deep.android;
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.view.View;
import android.view.View.OnClickListener;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.AdapterView.OnItemSelectedListener;
public class Translation extends Activity {
private TextView tips;
private EditText editText;
private WebView webV iew;
private String[] url = {"file:///android_asset/cn2en.html",
"file:///android_asset/en2cn.html"};
//在asset文件夹下的两个html文件,一个是简体中文->英语,一个是英语->简体中文private String[] chooseStr={"简体中文->英语","英语->简体中文"};
//设定翻译模式,这里只提供中译英,英译中
private Handler tHandler = new Handler();//利用Handler来实现线程通信
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(yout.main);
webView=(WebView)findViewById(R.id.toutput);
final Button submit=(Button)findView ById(R.id.submit);
editText=(EditText)findViewById(R.id.tinput);
tips=(TextView)findV iewById(R.id.tips);
final Spinner l_select=(Spinner)findViewById(R.id.l_select);
ArrayAdapter
yout.simple_spinner_item,chooseStr);
adapter.setDropDownV iewResource(yout.simple_spinner_dropdown_item);
l_select.setPrompt("请选择翻译的方式");
l_select.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView> arg0, V iew arg1,
int arg2, long arg3) { //选择翻译模式
if(((TextV iew)arg1).getText()==chooseStr[0])
webView.loadUrl(url[0]);
if(((TextV iew)arg1).getText()==chooseStr[1])
webView.loadUrl(url[1]);
}
@Override
public void onNothingSelected(AdapterView> arg0) {
webView.loadUrl(url[0]);//这是开启软件后默认的翻译模式
}
});
l_select.setAdapter(adapter);
WebSettings webSettings = webView.getSettings(); //get set方法
webSettings.setJavaScriptEnabled(true);
webSettings.setSaveFormData(false);
webSettings.setSavePassword(false);
webSettings.setSupportZoom(false);
submit.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
tips.setV isibility(TextView.VISIBLE);//提示
webView.setV isibility(WebView.VISIBLE);//翻译结果
tHandler.post(new Runnable(){
public void run(){
if (editText.getText().toString() != ""){
webView.loadUrl("javascript:translate('"+
editText.getText().toString() + "')");
}
}
});
}
});
}
}