Android 中的谷歌翻译

Posted

技术标签:

【中文标题】Android 中的谷歌翻译【英文标题】:Google Translator in Android 【发布时间】:2011-02-12 16:15:45 【问题描述】:

我代码遵守http://android-er.blogspot.com/2009/10/multi-language-translate.html

它会强制关闭

private void showLang() 
    db.open();
    cursor = db.getLang();
    cursor.moveToFirst();
    startManagingCursor(cursor);
    SimpleCursorAdapter qc = new SimpleCursorAdapter(
            this,
            android.R.layout.simple_spinner_item,
            cursor,
            new String[] DBAdapter.KEY_LANG,
            new int[] android.R.id.text1);
        qc.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        Language_Spinner.setAdapter(qc);

        TranslateButton.setOnClickListener(new OnClickListener() 

            public void onClick(View arg0) 
                String InputString;
                String OutputString = null;
                InputString = Thai_word.getText().toString();

                String language = (String)Language_Spinner
                .getItemAtPosition((int) Language_Spinner.getSelectedItemId());

                try 
                    Translate.setHttpReferrer("http://android-er.blogspot.com/");
                    OutputString = Translate.execute(InputString,
                            Language.ENGLISH,Language.THAI);

                 catch (Exception ex) 
                    ex.printStackTrace();
                    OutputString = "Error";
              
                Target_word.setText(OutputString+language);
                   
        );


这是我的日志

02-12 21:45:44.701: 错误/AndroidRuntime(437): 致命异常: main 02-12 21:45:44.701: 错误/AndroidRuntime(437): java.lang.ClassCastException: android.database.sqlite.SQLiteCursor 02-12 21:45:44.701: 错误/AndroidRuntime(437): 在 com.android.proj.Sens_Create$1.onClick(Sens_Create.java:133) 02-12 21:45:44.701: 错误/AndroidRuntime(437): 在 android.view.View.performClick(View.java:2408) 02-12 21:45:44.701: 错误/AndroidRuntime(437): 在 android.view.View$PerformClick.run(View.java:8816) 02-12 21:45:44.701: 错误/AndroidRuntime(437): 在 android.os.Handler.handleCallback(Handler.java:587) 02-12 21:45:44.701: 错误/AndroidRuntime(437): 在 android.os.Handler.dispatchMessage(Handler.java:92) 02-12 21:45:44.701: 错误/AndroidRuntime(437): 在 android.os.Looper.loop(Looper.java:123) 02-12 21:45:44.701: 错误/AndroidRuntime(437): 在 android.app.ActivityThread.main(ActivityThread.java:4627) 02-12 21:45:44.701: 错误/AndroidRuntime(437): 在 java.lang.reflect.Method.invokeNative(Native Method) 02-12 21:45:44.701: 错误/AndroidRuntime(437): 在 java.lang.reflect.Method.invoke(Method.java:521) 02-12 21:45:44.701: 错误/AndroidRuntime(437): 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868) 02-12 21:45:44.701: 错误/AndroidRuntime(437): 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626) 02-12 21:45:44.701: 错误/AndroidRuntime(437): at dalvik.system.NativeStart.main(Native Method)

请帮忙

【问题讨论】:

这和谷歌应用引擎有什么关系? 【参考方案1】:
String language = (String)Language_Spinner
                .getItemAtPosition((int) Language_Spinner.getSelectedItemId());

我认为你的问题在这里。该方法不返回字符串,因此会发生类转换异常。

【讨论】:

@user432209 抱歉再次打扰,我想在我的数据库中使用微调器中的字符串,因为我使用泰语,如果我将泰语传递给谷歌 tran(作为输入语言到 tran)它不会工作,所以我必须从数据库中获取泰语字符串并将其更改为英文字符串(这就是我尝试使用 (String)Language_Spinner 的方式...)你知道吗?请帮忙

以上是关于Android 中的谷歌翻译的主要内容,如果未能解决你的问题,请参考以下文章

使用带有 cURL 的谷歌翻译 API

突出显示图像上的文字,类似于谷歌翻译应用程序

Android 谷歌翻译 API

百度地图如何改成英文版

360的谷歌访问助手插件不能用了吗

NO.1:自学tensorflow之路------神经网络背景知识