我无法从REST API URL获取JSON对象

时间:2019-01-12 19:48:21

标签: java android android-asynctask

因此,我一直在尝试检索JSON文件,这些文件基本上是数据库中的帖子。可以从我正在运行的Django REST API中获取它们。我可以访问该网址,并查看网络中任何设备上的可用帖子。但是,我无法检索它们,以便将它们发布到我的Android应用中。

我的postExecute的{​​{1}}中的日志不显示任何JSON对象,并且为空。

它在我的logcat中不返回任何错误消息,所以我不确定是什么问题。

我正在尝试制作一种原型社交网络类型的东西,其中将帖子存储在我数据库的数据库中,并通过API进行获取。

我正在使用AsyncTask连接到我的URL并在那里进行处理

Posts.java

AsyncTask

WSAdapter.java

public class Posts extends AppCompatActivity {

    @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_posts);

            PostsDetails postDetailsHelper = new PostsDetails();

            postsDoneBtn = (Button) findViewById(R.id.PostsDoneButton);

            postDetailsHelper.callPostDetails("192.168.0.18:8000/api/");

            postDetailsHelper.postDetailsCalled('n');

            postsDoneBtn.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    startActivity(new Intent(Posts.this, MainActivity.class));

                }
            });
        }

        public class PostsDetails {

            // calls the execute for AsyncTask
            private void callPostDetails(String theurl){
                PostsHelper = new WSAdapter.SendPostsRequest();
                // sets if post details are called
                postDetailsCalled('y');
                // executes AsyncTask
                PostsHelper.execute(theurl);
            }

        }

}

1 个答案:

答案 0 :(得分:1)

您需要将协议方案添加到您的URL:http://https://或您需要的任何其他协议中。
所以它应该像这样:

postDetailsHelper.callPostDetails("http://192.168.0.18:8000/api/");