Używam usług internetowych w mojej aplikacji. Zasadniczo moja aplikacja pokazuje posty z witryny Wordpress. Użytkownik może także dodawać zakładki do postów. Zapisuję wszystkie posty z postami do książek w sqlite z adresami URL postów. Problem polega na tym, że mam wiele różnych adresów URL. Chcę pokazać zawartość tego adresu URL w One ListView
.Więcej niż 1 różnych adresów URL i tylko jeden widok listy
Również struktura wszystkich tych adresów URL jest taka sama.
Przyjrzałem się innym kwestiom związanym z tą kwestią, ale te nie pomagają wiele.
Pozwól mi pokazać, jak wiele próbowałem do tej pory.
tutaj jest kod to kodeks BookmarkActivity
ArrayList<HashMap<String,String>> allData;
String[] urlarray;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_bookmark);
SqliteController controller= new SqliteController(this);
allData = controller.getAllData();
for (int i=0; i<allData.size(); i++){
String url=allData.get(i).get("link");
urlarray= new String[]{url};
}
for(int i=0; i <urlarray.length; i++){
MyAsyncTask task = new MyAsyncTask(i);
task.execute();
}
}
private class MyAsyncTask extends AsyncTask<Object,Void,String>{
int urlNumber;
HttpURLConnection connection=null;
BufferedReader reader=null;
public MyAsyncTask (int number){
this.urlNumber=number;
}
@Override
protected String doInBackground(Object... params) {
try {
URL url = new URL(urlarray[urlNumber]);
connection= (HttpURLConnection) url.openConnection();
connection.connect();
StringBuffer buffer = new StringBuffer();
String line = "";
while ((line = reader.readLine()) != null) {
buffer.append(line);
}
String json = buffer.toString();
return json;
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
//Log.d("TAG",s);
}
}
tutaj jest JSON. (nie jest to dokładnie ten sam json, ale jestem pewien, że każdy adres URL będzie miał taką samą strukturę json)
{
"status": "ok",
"count": 1,
"count_total": 1,
"pages": 1,
"posts": [
{
"id": 1,
"type": "post",
"slug": "hello-world",
"url": "http:\/\/localhost\/wordpress\/?p=1",
"title": "Hello world!",
"title_plain": "Hello world!",
"content": "<p>Welcome to WordPress. This is your first post. Edit or delete it, then start blogging!<\/p>\n",
"excerpt": "Welcome to WordPress. This is your first post. Edit or delete it, then start blogging!\n",
"date": "2009-11-11 12:50:19",
"modified": "2009-11-11 12:50:19",
"categories": [],
"tags": [],
"author": {
"id": 1,
"slug": "admin",
"name": "admin",
"first_name": "",
"last_name": "",
"nickname": "",
"url": "",
"description": ""
},
"comments": [
{
"id": 1,
"name": "Mr WordPress",
"url": "http:\/\/wordpress.org\/",
"date": "2009-11-11 12:50:19",
"content": "<p>Hi, this is a comment.<br \/>To delete a comment, just log in and view the post's comments. There you will have the option to edit or delete them.<\/p>\n",
"parent": 0
}
],
"comment_count": 1,
"comment_status": "open"
}
]
}
Czy ktoś mi w tym pomoże? Jak powinienem poradzić sobie z taką sytuacją?
Czy możesz wysłać jeden json z jednego adresu URL z listy – Vishwa
ok poczekaj. pozwól mi opublikować –
zaktualizowałem moje pytanie. Grzecznie to popatrz –