Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發 >> 初級開發 >> Android Google translate api例子

Android Google translate api例子

編輯:初級開發

最近學習android寫了一個算的上是應用的app,功能很簡單,利用google 提供的translate服務將輸入的字符翻譯成想要的語言(比如英漢翻譯)和http://translate.google.cn/差不多(這裡我直接應用了google-api-translate-Java-0.92.jar這個jar包,操作很簡單,方便,嘿嘿),還有利用android的TextToSpeech進行speech翻譯的結果,由於android的TextToSpeech只支持English,French,German,Italian,Spanish,所以只有翻譯的目標語言是上面的語種時才進行speech;還有功能就是將翻譯的結果能以email/msg的形式發送消息給別人。寫這個程序的重點在於學習利用AIDL進行process間的信息傳遞(關於aidl的知識google下可以找到很多,呵呵)
定義activity訪問translate service的代碼段:

  1. private ServiceConnection mTranslateConn = new ServiceConnection() {
     
  2.         public void onServiceConnected(ComponentName name, IBinder service) {
     
  3.             mTranslateService = ITranslate.Stub.asInterface(service);
     
  4.             if (mTranslateService != null) {
     
  5.                 mTranslateButton.setEnabled(true);
     
  6.             } else {
     
  7.                 mTranslateButton.setEnabled(false);
     
  8.                 mStatusVIEw.setText(getString(R.string.error));
     
  9.                 log("Unable to acquire TranslateService");
     
  10.             }
     
  11.         }
     

  12.  
  13.         public void onServiceDisconnected(ComponentName name) {
     
  14.             mTranslateButton.setEnabled(false);
     
  15.             mTranslateService = null;
     
  16.         }
     
  17.     };

google translate service的應用:

  1. GoogleAPI
     
  2.                                 .setHttpReferrer("http://code.google.com/p/google-api-translate-Java/");
     
  3.                 String translatedText = Translate.execute(text, Language
     
  4.                                 .fromString(from), Language.fromString(to));

TextToSpeech的應用:

  1.         @Override
     
  2.         public void onInit(int status) {
     
  3.                 // TODO Auto-generated method stub
     
  4.                 if (status == TextToSpeech.SUCCESS) {
     
  5.                         Language to = (Language) mToButton.getTag();
     
  6.                 String toShortName = to.getShortName();
     
  7.                 
     
  8.             int result = tts.setLanguage(new Locale(toShortName));
     
  9.             
     
  10.             if (result == TextToSpeech.LANG_MISSING_DATA ||
     
  11.                 result == TextToSpeech.LANG_NOT_SUPPORTED) {
     
  12.                
     
  13.                 Log.e(TAG, "Language is not available.");
     
  14.             } else {
     
  15. //                sayText();
     
  16.             }
     
  17.         } else {
     
  18.             // Initialization failed.
     
  19.             Log.e(TAG, "Could not initialize TextToSpeech.");
     
  20.         }
     
  21.         }
     
  22.         
     
  23.         private void sayText() {
     
  24.                 
     
  25.                 String sayInfo = mToEditText.getText().toString();
     
  26.                 Language to = (Language) mToButton.getTag();
     
  27.                 String toShortName = to.getShortName();
     
  28.                 tts.setLanguage(new Locale(toShortName));
     
  29.                 tts.speak(sayInfo, TextToSpeech.QUEUE_FLUSH,null);
     
  30.         }

最後send msg的應用:

  1. private void sendEmail() {
     
  2.                 Intent intent = new Intent(Intent.ACTION_SEND);
     
  3.                 intent.setType("text/plain");
     
  4.                 intent.putExtra(Intent.EXTRA_TEXT, mToEditText.getText());
     
  5.                 startActivity(Intent.createChooser(intent, null));
     
  6.         }

恩,很簡單吧,呵呵,不過還是很有成就感的說,嘿嘿。

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved