Ich verwende Webservices in meiner App. Grundsätzlich zeigt meine App Posts von Wordpress-Seiten. Der Benutzer kann auch die Posts mit einem Lesezeichen versehen. Ich speichere alle Lesezeichen-Posts in sqlite mit Post-URLs. Jetzt ist das Problem, ich habe viele verschiedene URLs. Und ich möchte den Inhalt dieser URL in One ListView
zeigen.Mehr als 1 verschiedene URLs und nur eine Listenansicht
Auch JSON-Struktur aller dieser URLs ist gleich.
Ich habe andere Fragen zu diesem Thema angeschaut, aber die helfen nicht viel.
Lassen Sie mich Ihnen zeigen, wie viel ich bisher versucht habe.
hier Code dies Code von 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);
}
}
hier ist json. (Es ist nicht genau das gleiche json, aber ich bin sicher, dass jeder url gleiche json Struktur haben wird)
{
"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"
}
]
}
jemand mir dabei helfen kann. Wie soll ich mit einer solchen Situation umgehen?
können Sie einen JSON von einer der URL aus der Liste – Vishwa
ok warten, warten. lass mich posten –
aktualisiert meine Frage. schaue es mir an –