Here is the code itself:
import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; import com.google.gson.Gson; import com.google.gson.GsonBuilder; import com.projects.test.testprojects.R; import java.io.IOException; import java.util.HashMap; import java.util.Map; import retrofit2.Call; import retrofit2.Response; import retrofit2.Retrofit; import retrofit2.converter.gson.GsonConverterFactory; public class MainActivity extends AppCompatActivity { private EditText editText; private TextView translated; private Button translateBtm; private final String URL = "https://translate.yandex.kz"; private final String KEY = "trnsl.1.1.20160721T085843Z.6a066b09d649276c.00a1c117b894e1f814b489072ec220f5bf7e3ddb"; private Gson gson = new GsonBuilder().create(); private Retrofit retrofit = new Retrofit.Builder() .baseUrl(URL) .addConverterFactory(GsonConverterFactory.create(gson)) .build(); private Link intf = retrofit.create(Link.class); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); editText = (EditText) findViewById(R.id.editText); translated = (TextView) findViewById(R.id.translated); translateBtm = (Button) findViewById(R.id.translateBtm); translateBtm.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Map<String,String> mapJson = new HashMap<>(); mapJson.put("key",KEY); mapJson.put("text",editText.getText().toString()); mapJson.put("lang","en-ru"); Call<Object> call = intf.translate(mapJson); try { Response<Object> response = call.execute(); Map<String,String> map = gson.fromJson(response.body().toString(),Map.class); for(Map.Entry e : map.entrySet()) { if(e.getKey().equals("text")) { translated.setText(e.getValue().toString()); } } } catch (IOException e) { e.printStackTrace(); } } }); } }
07-21 09:27:08.232 25745-25745/com.projects.test.testprojects E/AndroidRuntime: FATAL EXCEPTION: main android.os.NetworkOnMainThreadException at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1117) at java.net.InetAddress.lookupHostByName(InetAddress.java:385) at java.net.InetAddress.getAllByNameImpl(InetAddress.java:236) at java.net.InetAddress.getAllByName(InetAddress.java:214) at okhttp3.Dns$1.lookup(Dns.java:39) at okhttp3.internal.connection.RouteSelector.resetNextInetSocketAddress(RouteSelector.java:172) at okhttp3.internal.connection.RouteSelector.nextProxy(RouteSelector.java:138) at okhttp3.internal.connection.RouteSelector.next(RouteSelector.java:80) at okhttp3.internal.connection.StreamAllocation.findConnection(StreamAllocation.java:178) at okhttp3.internal.connection.StreamAllocation.findHealthyConnection(StreamAllocation.java:129) at okhttp3.internal.connection.StreamAllocation.newStream(StreamAllocation.java:98) at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.java:42) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:92) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:67) at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.java:109) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:92) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:67) at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.java:93) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:92) at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.java:124) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:92) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:67) at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:170) at okhttp3.RealCall.execute(RealCall.java:60) at retrofit2.OkHttpCall.execute(OkHttpCall.java:174) at retrofit2.ExecutorCallAdapterFactory$ExecutorCallbackCall.execute(ExecutorCallAdapterFactory.java:89) at com.projects.test.testprojects.activity.app.activitys.MainActivity$1.onClick(MainActivity.java:60) at android.view.View.performClick(View.java:4084) at android.view.View$PerformClick.run(View.java:16966) at android.os.Handler.handleCallback(Handler.java:615) at android.os.Handler.dispatchMessage(Handler.java:92) at android.os.Looper.loop(Looper.java:137) at android.app.ActivityThread.main(ActivityThread.java:4745) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:511) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) at dalvik.system.NativeStart.main(Native Method) 07-21 09:28:27.104 25745-25746/com.projects.test.testprojects D/dalvikvm: GC_CONCURRENT freed 231K, 4% free 11027K/11399K, paused 10ms+0ms, total 18ms 07-21 09:32:08.904 25745-25745/com.projects.test.testprojects I/Process: Sending signal. PID: 25745 SIG: 9
Thank you in advance!