API-интерфейс Microsoft Bing Translate на Android

Я пишу приложение для перевода для Android. Поэтому я получил учетную запись Bing с идентификатором клиента. Я попробовал API перевода на java, и это сработало.

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

public class trans1 {   

  public static void main(String[] args) throws Exception {
    Translate.setClientId("hidden");
    Translate.setClientSecret("hidden");
    String translatedText = Translate.execute("spiel", Language.GERMAN, Language.FRENCH);
    System.out.println(translatedText);
  }

}

Теперь я попытался использовать это в Android следующим образом:

package de.androidnewcomer;

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

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;

public class SagHalloActivity extends Activity {

@Override
public void onCreate(Bundle savedInstanceState) {
    Translate.setClientId("hidden");
    Translate.setClientSecret("hidden");
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    try {
        String translatedText = Translate.execute("welt", Language.GERMAN, Language.FRENCH);
        Log.i("LOG", translatedText);
    } catch (Exception e) {
        e.printStackTrace();
    }
}
}

Но я получаю эти ошибки:

09-18 12:53:34.001: E/AndroidRuntime(29488): FATAL EXCEPTION: main
09-18 12:53:34.001: E/AndroidRuntime(29488): java.lang.NoClassDefFoundError: com.memetix.mst.translate.Translate
09-18 12:53:34.001: E/AndroidRuntime(29488):    at de.androidnewcomer.SagHalloActivity.onCreate(SagHalloActivity.java:14)
09-18 12:53:34.001: E/AndroidRuntime(29488):    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
09-18 12:53:34.001: E/AndroidRuntime(29488):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1615)
09-18 12:53:34.001: E/AndroidRuntime(29488):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1667)
09-18 12:53:34.001: E/AndroidRuntime(29488):    at android.app.ActivityThread.access$1500(ActivityThread.java:117)
09-18 12:53:34.001: E/AndroidRuntime(29488):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:935)
09-18 12:53:34.001: E/AndroidRuntime(29488):    at android.os.Handler.dispatchMessage(Handler.java:99)
09-18 12:53:34.001: E/AndroidRuntime(29488):    at android.os.Looper.loop(Looper.java:130)
09-18 12:53:34.001: E/AndroidRuntime(29488):    at android.app.ActivityThread.main(ActivityThread.java:3691)
09-18 12:53:34.001: E/AndroidRuntime(29488):    at java.lang.reflect.Method.invokeNative(Native Method)
09-18 12:53:34.001: E/AndroidRuntime(29488):    at java.lang.reflect.Method.invoke(Method.java:507)
09-18 12:53:34.001: E/AndroidRuntime(29488):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:907)
09-18 12:53:34.001: E/AndroidRuntime(29488):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:665)
09-18 12:53:34.001: E/AndroidRuntime(29488):    at dalvik.system.NativeStart.main(Native Method)

Кто-нибудь может мне помочь?


person sneumann    schedule 18.09.2012    source источник
comment
Вы использовали какие-либо jar-файлы, если вы использовали, поместите эти jar-файлы в папку Libs и импортируйте оттуда   -  person Pinki    schedule 18.09.2012


Ответы (2)


Возможно, вам потребуется включить файл JAR, содержащий пакет com.memetix.mst.language, в папку library/lib, что должно решить эту проблему.

person RPB    schedule 18.09.2012
comment
Большое спасибо! У меня были файлы jar, но их не было в папке зависимостей Android. Теперь это работает! - person sneumann; 18.09.2012
comment
после добавления microsoft-translator-java-api-0.6.2-jar-with-dependencies.jar в проект он не работает. Любая идея?? - person Nalini Wanjale; 11.11.2013

вы должны переместить свой код в поток

new Thread() {
public void run() {
    try {
            String translatedText = Translate.execute("welt", Language.GERMAN, Language.FRENCH);
            Log.i("LOG", translatedText);`enter code here`
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}.start();
person conficker7    schedule 23.01.2015