1

Я пробовал следующий код для реализации приложения-переводчика с использованием библиотеки API Microsoft Translator, найденной here. У меня работает интернет-соединение, и я создал правильный идентификатор клиента и секрет, но всякий раз, когда я пытаюсь запустить код, я получаю java.net.UnknownHostException.Microsoft Translate API для Android дает UnknownHostException

Мой код:

StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build(); 
      StrictMode.setThreadPolicy(policy); 
      Translate.setClientId("Screened for the question"); //Change this 
       Translate.setClientSecret("I have screened the client secret to ask in SO"); //change 

       final TextView text = (TextView) findViewById(R.id.textView1); 
       Button Trans1 = (Button)findViewById(R.id.trans); 
       Trans1.setOnClickListener(new View.OnClickListener(){ 
       public void onClick(View view) { 
        String word = "Hello"; 
        try { 
        translatedText = Translate.execute(word, Language.ENGLISH, Language.GERMAN); 
         // text.setText(translatedText); 
        } catch (Exception e) { 
         e.printStackTrace(); 
        } 
       } 
       }); 

Мои Стек след:

04-11 14:19:41.711: W/System.err(3084): java.lang.Exception: [microsoft-translator-api] Error retrieving translation : Unable to resolve host "datamarket.accesscontrol.windows.net": No address associated with hostname 
04-11 14:19:41.711: W/System.err(3084):  at com.memetix.mst.MicrosoftTranslatorAPI.retrieveString(MicrosoftTranslatorAPI.java:202) 
04-11 14:19:41.711: W/System.err(3084):  at com.memetix.mst.translate.Translate.execute(Translate.java:61) 
04-11 14:19:41.711: W/System.err(3084):  at com.example.tanslator.TransActivity$1.onClick(TransActivity.java:45) 
04-11 14:19:41.711: W/System.err(3084):  at android.view.View.performClick(View.java:3571) 
04-11 14:19:41.711: W/System.err(3084):  at android.view.View$PerformClick.run(View.java:14247) 
04-11 14:19:41.711: W/System.err(3084):  at android.os.Handler.handleCallback(Handler.java:605) 
04-11 14:19:41.711: W/System.err(3084):  at android.os.Handler.dispatchMessage(Handler.java:92) 
04-11 14:19:41.711: W/System.err(3084):  at android.os.Looper.loop(Looper.java:137) 
04-11 14:19:41.711: W/System.err(3084):  at android.app.ActivityThread.main(ActivityThread.java:4517) 
04-11 14:19:41.711: W/System.err(3084):  at java.lang.reflect.Method.invokeNative(Native Method) 
04-11 14:19:41.711: W/System.err(3084):  at java.lang.reflect.Method.invoke(Method.java:511) 
04-11 14:19:41.711: W/System.err(3084):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:993) 
04-11 14:19:41.711: W/System.err(3084):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:760) 
04-11 14:19:41.711: W/System.err(3084):  at dalvik.system.NativeStart.main(Native Method) 
04-11 14:19:41.711: W/System.err(3084): Caused by: java.net.UnknownHostException: Unable to resolve host "datamarket.accesscontrol.windows.net": No address associated with hostname 
04-11 14:19:41.711: W/System.err(3084):  at java.net.InetAddress.lookupHostByName(InetAddress.java:400) 
04-11 14:19:41.711: W/System.err(3084):  at java.net.InetAddress.getAllByNameImpl(InetAddress.java:242) 
04-11 14:19:41.711: W/System.err(3084):  at java.net.InetAddress.getAllByName(InetAddress.java:220) 
04-11 14:19:41.711: W/System.err(3084):  at libcore.net.http.HttpConnection.<init>(HttpConnection.java:71) 
04-11 14:19:41.711: W/System.err(3084):  at libcore.net.http.HttpConnection.<init>(HttpConnection.java:50) 
04-11 14:19:41.711: W/System.err(3084):  at libcore.net.http.HttpConnection$Address.connect(HttpConnection.java:351) 
04-11 14:19:41.711: W/System.err(3084):  at libcore.net.http.HttpConnectionPool.get(HttpConnectionPool.java:86) 
04-11 14:19:41.721: W/System.err(3084):  at libcore.net.http.HttpConnection.connect(HttpConnection.java:128) 
04-11 14:19:41.721: W/System.err(3084):  at libcore.net.http.HttpEngine.openSocketConnection(HttpEngine.java:308) 
04-11 14:19:41.721: W/System.err(3084):  at libcore.net.http.HttpsURLConnectionImpl$HttpsEngine.makeSslConnection(HttpsURLConnectionImpl.java:460) 
04-11 14:19:41.721: W/System.err(3084):  at libcore.net.http.HttpsURLConnectionImpl$HttpsEngine.connect(HttpsURLConnectionImpl.java:441) 
04-11 14:19:41.721: W/System.err(3084):  at libcore.net.http.HttpEngine.sendSocketRequest(HttpEngine.java:282) 
04-11 14:19:41.721: W/System.err(3084):  at libcore.net.http.HttpEngine.sendRequest(HttpEngine.java:232) 
04-11 14:19:41.721: W/System.err(3084):  at libcore.net.http.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:80) 
04-11 14:19:41.721: W/System.err(3084):  at libcore.net.http.HttpURLConnectionImpl.getOutputStream(HttpURLConnectionImpl.java:188) 
04-11 14:19:41.721: W/System.err(3084):  at libcore.net.http.HttpsURLConnectionImpl.getOutputStream(HttpsURLConnectionImpl.java:280) 
04-11 14:19:41.721: W/System.err(3084):  at com.memetix.mst.MicrosoftTranslatorAPI.getToken(MicrosoftTranslatorAPI.java:133) 
04-11 14:19:41.721: W/System.err(3084):  at com.memetix.mst.MicrosoftTranslatorAPI.retrieveResponse(MicrosoftTranslatorAPI.java:160) 
04-11 14:19:41.721: W/System.err(3084):  at com.memetix.mst.MicrosoftTranslatorAPI.retrieveString(MicrosoftTranslatorAPI.java:199) 
04-11 14:19:41.721: W/System.err(3084):  ... 13 more 

ответ

0

Я также имел такую ​​же проблему, используя этот API, он работал после изменения линии

translatedText = Translate.execute(word, Language.ENGLISH, Language.GERMAN); в

translatedText = Translate.execute(word, Language.GERMAN); 
+0

работал, спасибо за ваш ответ ....... – parvathi

Смежные вопросы