java - 必应翻译 API 无法正常工作

标签 java android eclipse

此 Activity 一开始,我的应用程序就会崩溃。单击按钮时它不会崩溃。代码如下

package com.example.testing;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;

import com.memetix.mst.language.Language;
import com.memetix.mst.translate.Translate;

public class TranslateActivity extends Activity implements OnClickListener {
    EditText etInput;
    EditText etOutput;
    @Override
    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_translate);
        Translate.setClientId("hidden");
        Translate.setClientSecret("hidden");
        Button Trans = (Button)findViewById(R.id.translate);
        Trans.setOnClickListener(this);
        etInput = (EditText)findViewById(R.id.input);
        etOutput = (EditText)findViewById(R.id.output);
    }

    @Override
    public void onClick(View v) {   
        //get the text entered      
                String In =etInput.getText().toString();
                //String Out;
                try {
                    String Out = Translate.execute(In, Language.AUTO_DETECT, Language.FRENCH);
                etInput.setText(Out);
                etOutput.setText(Out);
                } catch (Exception e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
}
}

ClientId 和 Client Secret 是字符串,所以我将它们放在“”之间...是吗...

Logcat如下:

04-04 14:05:45.250: D/dalvikvm(1002): GC_FOR_ALLOC freed 68K, 5% free 2888K/3040K, paused 242ms, total 263ms
04-04 14:05:45.260: I/dalvikvm-heap(1002): Grow heap (frag case) to 4.726MB for 1920016-byte allocation
04-04 14:05:45.360: D/dalvikvm(1002): GC_FOR_ALLOC freed 2K, 4% free 4760K/4916K, paused 91ms, total 91ms
04-04 14:05:47.860: E/MediaPlayer(1002): Should have subtitle controller already set
04-04 14:05:48.610: D/gralloc_goldfish(1002): Emulator without GPU emulation detected.
04-04 14:05:49.500: D/dalvikvm(1002): GC_FOR_ALLOC freed 12K, 2% free 4904K/4996K, paused 35ms, total 36ms
04-04 14:05:50.330: I/Choreographer(1002): Skipped 121 frames!  The application may be doing too much work on its main thread.
04-04 14:05:55.970: D/dalvikvm(1002): GC_FOR_ALLOC freed 31K, 2% free 5551K/5664K, paused 32ms, total 42ms
04-04 14:05:56.040: D/dalvikvm(1002): GC_FOR_ALLOC freed 1920K, 32% free 4442K/6480K, paused 32ms, total 32ms
04-04 14:05:56.070: I/Choreographer(1002): Skipped 37 frames!  The application may be doing too much work on its main thread.
04-04 14:05:57.330: I/Choreographer(1002): Skipped 30 frames!  The application may be doing too much work on its main thread.
04-04 14:05:59.130: W/dalvikvm(1002): VFY: unable to resolve static field 1592 (AUTO_DETECT) in Lcom/memetix/mst/language/Language;
04-04 14:05:59.140: D/dalvikvm(1002): VFY: replacing opcode 0x62 at 0x000a

04-04 14:05:59.140: I/dalvikvm(1002): Could not find method com.memetix.mst.translate.Translate.setClientId, referenced from method com.example.testing.TranslateActivity.onCreate
04-04 14:05:59.140: W/dalvikvm(1002): VFY: unable to resolve static method 5277: Lcom/memetix/mst/translate/Translate;.setClientId (Ljava/lang/String;)V
04-04 14:05:59.140: D/dalvikvm(1002): VFY: replacing opcode 0x71 at 0x000b
04-04 14:05:59.250: I/Choreographer(1002): Skipped 34 frames!  The application may be doing too much work on its main thread.
04-04 14:05:59.430: D/dalvikvm(1002): GC_FOR_ALLOC freed 1363K, 44% free 3640K/6480K, paused 80ms, total 84ms
04-04 14:05:59.890: D/AndroidRuntime(1002): Shutting down VM
04-04 14:05:59.890: W/dalvikvm(1002): threadid=1: thread exiting with uncaught exception (group=0xb3ad1b90)
04-04 14:05:59.930: E/AndroidRuntime(1002): FATAL EXCEPTION: main
04-04 14:05:59.930: E/AndroidRuntime(1002): Process: com.example.testing, PID: 1002
04-04 14:05:59.930: E/AndroidRuntime(1002): java.lang.NoClassDefFoundError: com.memetix.mst.translate.Translate
04-04 14:05:59.930: E/AndroidRuntime(1002):     at com.example.testing.TranslateActivity.onCreate(TranslateActivity.java:21)
04-04 14:05:59.930: E/AndroidRuntime(1002):     at android.app.Activity.performCreate(Activity.java:5243)
04-04 14:05:59.930: E/AndroidRuntime(1002):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
04-04 14:05:59.930: E/AndroidRuntime(1002):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2140)
04-04 14:05:59.930: E/AndroidRuntime(1002):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2226)
04-04 14:05:59.930: E/AndroidRuntime(1002):     at android.app.ActivityThread.access$700(ActivityThread.java:135)
04-04 14:05:59.930: E/AndroidRuntime(1002):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1397)
04-04 14:05:59.930: E/AndroidRuntime(1002):     at android.os.Handler.dispatchMessage(Handler.java:102)
04-04 14:05:59.930: E/AndroidRuntime(1002):     at android.os.Looper.loop(Looper.java:137)
04-04 14:05:59.930: E/AndroidRuntime(1002):     at android.app.ActivityThread.main(ActivityThread.java:4998)
04-04 14:05:59.930: E/AndroidRuntime(1002):     at java.lang.reflect.Method.invokeNative(Native Method)
04-04 14:05:59.930: E/AndroidRuntime(1002):     at java.lang.reflect.Method.invoke(Method.java:515)
04-04 14:05:59.930: E/AndroidRuntime(1002):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:777)
04-04 14:05:59.930: E/AndroidRuntime(1002):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:593)
04-04 14:05:59.930: E/AndroidRuntime(1002):     at dalvik.system.NativeStart.main(Native Method)
04-04 14:06:06.350: I/Process(1002): Sending signal. PID: 1002 SIG: 9

最佳答案

您是否已将 jar 文件添加到您的项目中?

您需要下载 jar 文件并将其添加到您的类路径中。

请按照以下步骤操作:

  1. 将 jar 文件下载到目录:https://code.google.com/p/microsoft-translator-java-api/downloads/list
  2. 在 Eclipse 中,右键单击您的 libs 文件夹,然后转到“导入”->“常规”->“文件系统”,然后浏览到下载 jar 文件的目录,然后单击“确定”。然后从 Eclipse 窗口中选择 jar 文件,然后单击完成将 jar 添加到您的项目
  3. 右键单击您的项目并转到“构建路径”->“配置构建路径”,然后单击“库”选项卡并添加 jar。导航到 libs 文件夹中的 jar 文件,然后单击“完成/完成/确定”。

关于java - 必应翻译 API 无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22870060/

相关文章:

java - 执行javap -c 生成的代码

linux - 使用 Ant 复制到受限文件夹(在 Ubuntu 中使用 Eclipse)

java - 无法在 Spring Boot 项目中使用自定义 jar

java - 我的高级 for 循环有问题

安卓运营商app e-sim激活码使用

android - 从手机上的任何位置读取 .txt 文件

android - 如何读取 android list 文件或 android 中的 xml 中的特定值?

来自调试器的 Eclipse 超时错误?

java - 将大型代码项目从 Unix 盒子移至 Eclipse 项目

java - 用于启用/禁用用户的单个按钮如何使用 Selenium Webdriver 识别按钮状态