Я использую Retrofit 2.7.1, но не могу подключиться!
Вот сообщение об ошибке, которое я получаю:
java.net.UnknownServiceException: CLEARTEXT communication to www.posh24.se not permitted by network security policy
А вот реализация кода:
1 - Я реализовал следующие строки в Gradle.
implementation 'com.squareup.retrofit2:retrofit:2.7.1'
implementation 'com.google.code.gson:gson:2.8.6'
implementation 'com.squareup.retrofit2:converter-gson:2.7.1'
2 - Я добавил эти строки в Manifest.
android:usesCleartextTraffic="true"
android:networkSecurityConfig="@xml/network_security_config"
3 - И для второй строки в предыдущем шаг, создал каталог XML и network_security_config. xml, содержащий приведенный ниже скрипт.
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<domain-config cleartextTrafficPermitted="true">
<domain includeSubdomains="true">www.posh24.se</domain>
</domain-config>
</network-security-config>
4- Я использовал простой вызов, но он не удался! это мой код:
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Retrofit retrofit = new Retrofit.Builder()
.baseUrl("http://www.posh24.se/")
.addConverterFactory(GsonConverterFactory.create())
.build();
ApiServiceByRetrofit apiServiceByRetrofit = retrofit.create(ApiServiceByRetrofit.class);
Call<String> call = apiServiceByRetrofit.getsomething();
call.enqueue(new Callback<String>() {
@Override
public void onResponse(Call<String> call, Response<String> response) {
}
@Override
public void onFailure(Call<String> call, Throwable t) {
}
});
}
public interface ApiServiceByRetrofit {
@GET("kandisar")
Call<String> getsomething();
}
}