0
使用我有我要转换为字符串数组新闻API JSON链接,这样我可以在回收的视图中使用它们。如何转换JSON数组中RecyclerView
我是新到Java,请帮助我知道做到这一点。
我试图使用Android网络图书馆GSON用于这一目的。
package in.apptonic.lalit.newsapplication;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import com.androidnetworking.AndroidNetworking;
import com.androidnetworking.error.ANError;
import com.androidnetworking.interfaces.JSONArrayRequestListener;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import org.json.JSONArray;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import in.apptonic.lalit.newsapplication.model.News;
public class MainActivity extends AppCompatActivity {
RecyclerView recyclerView;
RecyclerView.LayoutManager layoutManager;
RecyclerView.Adapter adapter;
List<News> newsList = new ArrayList<>();
private Gson gson;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
GsonBuilder gsonbuilder = new GsonBuilder();
gsonbuilder.setDateFormat("M/d/yy hh:mm a");
gson = gsonbuilder.create();
AndroidNetworking.initialize(getApplicationContext());
recyclerView = (RecyclerView) findViewById(R.id.recyclerview);
layoutManager = new LinearLayoutManager(this);
recyclerView.setLayoutManager(layoutManager);
adapter = new AdapterNews(newsList);
recyclerView.setAdapter(adapter);
downloadNews();
}
private void downloadNews() {
AndroidNetworking.get("https://newsapi.org/v1/articles?source=the-next-web&sortBy=latest&apiKey=hidden")
.build()
.getAsJSONArray(new JSONArrayRequestListener() {
@Override
public void onResponse(JSONArray response) {
List<News> news = Arrays.asList(gson.fromJson(String.valueOf(response), News[].class));
//TODO How to convert JSON values n String so that I can send them in adapter for recycler view
}
@Override
public void onError(ANError anError) {
}
});
}
}
只是一个额外的信息。这是我的Json回应。 https://newsapi.org/v1/articles?source=the-next-web&sortBy=latest&apiKey=81aa06e91e5a4f189d1b7a64f07bc373 –