Java 当我在android studio中将django API连接到我的应用程序时,它会显示错误
我的笔记本电脑上安装了Django版本,我想将API连接到我的android应用程序 我也创建了一个虚拟环境 我无法连接到Django API,请帮助我如何连接到API。提前谢谢 我在互联网上冲浪,但无法获得任何输出。我第一次在这里发布问题,对所犯的任何错误表示抱歉 我想将Django API连接到我的项目。我想在移动应用程序中以json格式查看信息 当我连接android studio中的Django API应用程序时,它显示了一个错误,我在上面附加了一个文件 我正在附加我的android文件 我用了一个改装过的图书馆。我想将API连接到我的应用程序 MainActivity.javaJava 当我在android studio中将django API连接到我的应用程序时,它会显示错误,java,android,api,android-studio,django-rest-framework,Java,Android,Api,Android Studio,Django Rest Framework,我的笔记本电脑上安装了Django版本,我想将API连接到我的android应用程序 我也创建了一个虚拟环境 我无法连接到Django API,请帮助我如何连接到API。提前谢谢 我在互联网上冲浪,但无法获得任何输出。我第一次在这里发布问题,对所犯的任何错误表示抱歉 我想将Django API连接到我的项目。我想在移动应用程序中以json格式查看信息 当我连接android studio中的Django API应用程序时,它显示了一个错误,我在上面附加了一个文件 我正在附加我的android文
ListView listView;
GridView gridView;
public String cap;
public String cap1;
String[] pid;
String[] ptitle;
String[] pdes;
String[] dt;
String[] lk;
TextView name,descrip;
int capnum;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Retrofit retrofit = new Retrofit.Builder().baseUrl(djangoApi.BASE_URL).addConverterFactory(GsonConverterFactory.create()).build();
djangoApi api = retrofit.create(djangoApi.class);
name= findViewById(R.id.text);
descrip=findViewById(R.id.image);
Call<List<PostTable>> call = api.gettabledata();
call.enqueue(new Callback<List<PostTable>>() {
@Override
public void onResponse(Call<List<PostTable>> call, Response<List<PostTable>> response) {
List<PostTable> pt = response.body();
assert pt != null;
String[] pid = new String[pt.size()];
String[] ptitle = new String[pt.size()];
String[] pdes = new String[pt.size()];
String[] pdt = new String[pt.size()];
String[] plk = new String[pt.size()];
for (int i = 0; i < pt.size(); i++) {
pid[i] = pt.get(i).getid();
ptitle[i] = pt.get(i).gettitle();
pdes[i] = pt.get(i).getdescription();
pdt[i] = pt.get(i).getdatetime();
plk[i] = pt.get(i).getlikes();
}
for (int i = 0; i < pt.size(); i++) {
if (ptitle[i].equalsIgnoreCase("drhsrh")) {
capnum = i;
cap = pdes[capnum];
cap1=ptitle[capnum];
}
}
name.setText(cap1);
descrip.setText(cap);
//Glide.with(getApplicationContext()).load(cap).into(imageView);
//name.setText(cap1);
}
@Override
public void onFailure(Call<List<PostTable>> call, Throwable t) {
Toast.makeText(getApplicationContext(), t.getMessage(), Toast.LENGTH_SHORT).show();
}
});
}
}
ListView-ListView;
GridView;
公共弦帽;
公共字符串cap1;
字符串[]pid;
字符串[]ptitle;
字符串[]pdes;
字符串[]dt;
字符串[]lk;
TextView名称,descripp;
int capnum;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
改装改装=新建改装.Builder().baseUrl(djangoApi.BASE_URL).addConverterFactory(GsonConverterFactory.create()).build();
djangoApi=reformation.create(djangoApi.class);
name=findviewbyd(R.id.text);
descripp=findviewbyd(R.id.image);
Call Call=api.gettabledata();
call.enqueue(新回调(){
@凌驾
公共void onResponse(调用、响应){
List pt=response.body();
断言pt!=null;
字符串[]pid=新字符串[pt.size()];
String[]ptitle=新字符串[pt.size()];
字符串[]pdes=新字符串[pt.size()];
String[]pdt=新字符串[pt.size()];
字符串[]plk=新字符串[pt.size()];
对于(int i=0;i
这是接口类的代码
interface djangoApi {
String BASE_URL="http://127.0.0.1:8000/";
@GET("post_table/?format=json")
Call<List<PostTable>> gettabledata();
接口API{
字符串BASE_URL=”http://127.0.0.1:8000/";
@获取(“post_table/?format=json”)
调用gettabledata();
从Android 9(API级别28)开始,默认情况下禁用明文支持
请检查此文档
如果您想在本地进行测试,请在AndroidManifest.xml的应用程序标记中添加以下安卓:usesCleartextTraffic=“true”
<application
android:name=".App"
android:allowBackup="false"
android:fullBackupContent="false"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme"
android:usesCleartextTraffic="true">
你能澄清你的回答吗?你是如何从应用程序到服务器拨打电话的?请确保在“假设”应用程序代码中存在问题之前,地址是可访问的。