Android课程设计——中英翻译器

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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 adapter=new ArrayAdapter(this,

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() + "')");

}

}

});

}

});

}

}

相关文档
最新文档