package com.aiyou.bbs.bean; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; import android.content.Context; import com.aiyou.bbs.utils.BBSManager; import com.aiyou.utils.AiYouManager; import com.aiyou.utils.JsonHelper; import com.aiyou.utils.http.HttpManager; /** * 查询元数据 * * @author sollian */ public class Search { private static final String API_SEARCH = BBSManager.API_HEAD + "/search/threads" + BBSManager.FORMAT; public Pagination pagination; public Article[] articles; public Search(String strJson) { if (strJson == null) { return; } try { JSONObject jsonObject = new JSONObject(strJson); pagination = new Pagination(JsonHelper.getJSONObject(jsonObject, "pagination").toString()); JSONArray articleArray = JsonHelper.getJSONArray(jsonObject, "threads"); if (null != articleArray) { int length = articleArray.length(); articles = new Article[length]; for (int i = 0; i < length; i++) { articles[i] = new Article(articleArray.opt(i).toString()); } } } catch (JSONException e) { e.printStackTrace(); } } /** * 搜索单个版面的主题 * * @param board 单个合法版面 * @param str 文章标题/作者包含此关键词 * @param isTitle true:标题;false:作者 * @return */ public static String getSearch(Context context, String board, String str, boolean isTitle) { return getSearch(context, board, str, isTitle, 1); } /** * 搜索单个版面的主题 * * @param board 单个合法版面 * @param str 文章标题/作者包含此关键词 * @param isTitle true:标题;false:作者 * @param page 文章的页数 * @return */ public static String getSearch(Context context, String board, String str, boolean isTitle, int page) { String url; str = AiYouManager.getTxtWithoutNTSRElement(str, ""); if (isTitle) { url = API_SEARCH + "?appkey=" + BBSManager.APPKEY + "&board=" + board + "&title1=" + str + "&page=" + page + "&day=365"; } else { url = API_SEARCH + "?appkey=" + BBSManager.APPKEY + "&board=" + board + "&author=" + str + "&page=" + page + "&day=365"; } return HttpManager.getInstance(context).getHttp(context, url); } }