2014-04-04 97 views
0

此活动一开始,我的应用就崩溃了。它不会在点击按钮时崩溃。代码如下所示bing翻译api无法正常工作

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(); 
       } 
} 
} 

客户端Id和客户端密钥是字符串,所以我把他们之间的“” ......是这样吗....

的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 
+0

com.memetix.mst.translate.Translate在你的类路径上吗? – demongolem

+0

nope它不是...如何做到这一点? – user3463989

+0

它在dexedlibs里面bin ...我还没有解决方案 – user3463989

回答

1

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

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

遵循以下步骤:

  1. 下载jar文件的目录:https://code.google.com/p/microsoft-translator-java-api/downloads/list
  2. 在Eclipse中右键点击您的libs文件夹,然后转到导入 - >常规 - >文件系统,然后浏览到在其中下载jar文件的目录并单击确定。然后从eclipse中的窗口中选择jar文件,然后单击finish完成以将jar添加到项目中
  3. 右键单击您的项目并转到Build Path - > Configure Build Path,然后单击Libraries选项卡并添加jar。导航到libs文件夹中的jar文件,然后单击完成/完成/确定。