Добавлен метод получения списка сообщений выбранной темы
This commit is contained in:
parent
78914c2f17
commit
0b5f25a2dd
@ -48,6 +48,7 @@ public class ForumLoader<T> extends AsyncTask<Integer, Void, List<T>> {
|
||||
|
||||
if (params[0] == MODE_POSTS) {
|
||||
int topicId = params[1];
|
||||
return (List<T>) ApiUtils.getForumPosts(topicId);
|
||||
}
|
||||
|
||||
return null;
|
||||
|
@ -6,7 +6,6 @@ import java.io.InputStream;
|
||||
import java.io.InputStreamReader;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import org.apache.http.HttpResponse;
|
||||
import org.apache.http.NameValuePair;
|
||||
import org.apache.http.client.HttpClient;
|
||||
@ -18,19 +17,17 @@ import org.apache.http.util.EntityUtils;
|
||||
import org.json.JSONArray;
|
||||
import org.json.JSONException;
|
||||
import org.json.JSONObject;
|
||||
|
||||
import android.content.Context;
|
||||
import android.text.TextUtils;
|
||||
import android.util.Base64;
|
||||
import com.annimon.client.R;
|
||||
import com.annimon.client.entities.ForumPost;
|
||||
import com.annimon.client.entities.ForumSection;
|
||||
import com.annimon.client.entities.ForumTopic;
|
||||
import com.annimon.client.tasks.ForumLoader;
|
||||
|
||||
import android.content.Context;
|
||||
import android.text.TextUtils;
|
||||
import android.util.Base64;
|
||||
|
||||
/**
|
||||
* Common utilities for working with server.
|
||||
* Ôóíêöèè äëÿ ðàáîòû ñ API ñàéòà.
|
||||
* @author aNNiMON
|
||||
*/
|
||||
public class ApiUtils {
|
||||
@ -99,9 +96,45 @@ public class ApiUtils {
|
||||
topics.add(post);
|
||||
}
|
||||
} catch (IOException ex) {
|
||||
ExceptionHandler.log("getLastPosts", ex);
|
||||
ExceptionHandler.log("getTopics", ex);
|
||||
} catch (JSONException ex) {
|
||||
ExceptionHandler.log("getLastPosts", ex);
|
||||
ExceptionHandler.log("getTopics", ex);
|
||||
}
|
||||
return topics;
|
||||
}
|
||||
|
||||
/**
|
||||
* Ïîëó÷åíèå ïîñòîâ âûáðàííîé òåìû.
|
||||
* @param topic id òåìû íà ôîðóìå
|
||||
* @return arraylist
|
||||
*/
|
||||
public static List<ForumPost> getForumPosts(int topic) {
|
||||
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
|
||||
nameValuePairs.add(new BasicNameValuePair("key", getKey(ApiForum.CLASS)));
|
||||
nameValuePairs.add(new BasicNameValuePair("act", ApiForum.ACT_GET_POSTS));
|
||||
nameValuePairs.add(new BasicNameValuePair("topic", String.valueOf(topic)));
|
||||
|
||||
List<ForumPost> topics = new ArrayList<ForumPost>();
|
||||
try {
|
||||
HttpResponse response = sendPost(ApiForum.PATH, nameValuePairs);
|
||||
String text = EntityUtils.toString(response.getEntity());
|
||||
if (TextUtils.isEmpty(text)) return topics;
|
||||
|
||||
JSONArray jsonArray = new JSONArray(text);
|
||||
for (int i = 0; i < jsonArray.length(); i++) {
|
||||
JSONObject jsonObject = jsonArray.getJSONObject(i);
|
||||
ForumPost post = new ForumPost();
|
||||
post.setTopicId(topic);
|
||||
post.setTopicTitle("");
|
||||
post.setDate(jsonObject.getInt("time"));
|
||||
post.setAuthor(jsonObject.getString("user"));
|
||||
post.setMessage(jsonObject.getString("text"));
|
||||
topics.add(post);
|
||||
}
|
||||
} catch (IOException ex) {
|
||||
ExceptionHandler.log("getForumPosts", ex);
|
||||
} catch (JSONException ex) {
|
||||
ExceptionHandler.log("getForumPosts", ex);
|
||||
}
|
||||
return topics;
|
||||
}
|
||||
@ -172,6 +205,7 @@ public class ApiUtils {
|
||||
private static final String CLASS = "forum";
|
||||
private static final String PATH = API_PATH + CLASS + PHP;
|
||||
private static final String ACT_GET_TOPICS = "get_topics";
|
||||
private static final String ACT_GET_POSTS = "get_posts";
|
||||
private static final String ACT_LAST_POSTS = "last_posts";
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user