Итак, я пытался извлечь файлы JSON, которые в основном являются сообщениями из моей базы данных. Они могут быть получены из DJango REST API, который я использую. Я могу получить доступ к URL-адресу и просмотреть доступные сообщения с любых устройств в моей сети. Однако я не могу получить их, чтобы они могли быть опубликованы в моем приложении для Android.
Мой журнал в postExecute
моего AsyncTask
не показывает никаких объектов JSON и просто пуст.
Он не возвращает никаких сообщений об ошибках в моем logcat, поэтому я не уверен, в чем проблема.
Я пытаюсь создать прототип типа социальной сети, в котором сообщения хранятся в базе данных внутри моей базы данных и извлекают их через API.
Я использую AsyncTask
для подключения к моему URL и обработки там
Posts.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);
}
}
}
WSAdapter.java
public class WSAdapter extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
static public class SendPostsRequest extends AsyncTask<String, String, String> {
// Add a pre-execute thing
HttpURLConnection urlConnection;
@Override
protected String doInBackground(String... params) {
StringBuilder result = new StringBuilder();
try {
urlConnection = (HttpURLConnection) new URL(params[0]).openConnection();
urlConnection.setRequestMethod("GET");
urlConnection.connect();
InputStream in = new BufferedInputStream(urlConnection.getInputStream());
BufferedReader reader = new BufferedReader(new InputStreamReader(in));
String line;
while ((line = reader.readLine()) != null) {
result.append(line);
}
}catch( Exception e) {
e.printStackTrace();
}
return result.toString();
}
@Override
protected void onPostExecute(String result) {
// expecting a response code fro my server upon receiving the POST data
Log.e("TAG", result);
}
}