package tv.avfun.api; import java.util.ArrayList; import java.util.List; import android.util.SparseArray; public class ChannelApi { /** * 频道的id * */ public static final class id { public static final int ANIMATION = 1; public static final int MUSIC = 58; public static final int GAME = 59; public static final int FUN = 60; public static final int BANGUMI = 67; public static final int VIDEO = 68; public static final int SPORT = 69; public static final int SCIENCE = 70; public static final int FLASH = 71; public static final int MUGEN = 72; public static final class ARTICLE { public static final int ARTICLE = 63; public static final int COLLECTION = 110; public static final int WORK_EMOTION = 73; public static final int AN_CULTURE = 74; public static final int COMIC_LIGHT_NOVEL = 75; } public static final int BEST_GAME = 83; public static final int LIVE_OB = 84; public static final int LOL = 85; public static final int FUNY = 86; public static final int KICHIKU = 87; public static final int PET = 88; public static final int EAT = 89; public static final int MOVIE = 96; public static final int TV = 97; public static final int VARIETY = 98; public static final int PILI = 99; public static final int DOCUMENTARY = 100; public static final int SING = 101; public static final int DANCE = 102; public static final int VOCALOID = 103; public static final int ACG = 104; public static final int POP = 105; public static final int AN_LITE = 106; public static final int MAD_AMV = 107; public static final int MMD_3D = 108; public static final int AN_COMP = 109; // public static final int[] CHANNEL_IDS = { ANIMATION, MUSIC, GAME, FUN, BANGUMI, MOVIE, // SPORT, SCIENCE, MUGEN }; } public static final SparseArray<Channel> channels; static { channels = new SparseArray<Channel>(); channels.put(id.ANIMATION, new Channel("动画", id.ANIMATION)); channels.put(id.AN_LITE, new Channel("动画短片", id.AN_LITE)); channels.put(id.MAD_AMV, new Channel("MAD·AMV", id.MAD_AMV)); channels.put(id.MMD_3D, new Channel("MMD·3D", id.MMD_3D)); channels.put(id.AN_COMP, new Channel("动画合集", id.AN_COMP)); channels.put(id.MUSIC, new Channel("音乐", id.MUSIC)); channels.put(id.SING, new Channel("演唱", id.SING)); channels.put(id.DANCE, new Channel("宅舞", id.DANCE)); channels.put(id.VOCALOID, new Channel("Vocaloid", id.VOCALOID)); channels.put(id.ACG, new Channel("ACG音乐", id.ACG)); channels.put(id.POP, new Channel("流行音乐", id.POP)); channels.put(id.FUN, new Channel("娱乐", id.FUN)); channels.put(id.FUNY, new Channel("生活娱乐", id.FUNY)); channels.put(id.KICHIKU, new Channel("鬼畜调教", id.KICHIKU)); channels.put(id.PET, new Channel("萌宠", id.PET)); channels.put(id.EAT, new Channel("美食", id.EAT)); channels.put(id.SCIENCE, new Channel("科技", id.SCIENCE)); channels.put(id.SPORT, new Channel("体育", id.SPORT)); channels.put(id.VIDEO, new Channel("影视", id.VIDEO)); channels.put(id.MOVIE, new Channel("电影", id.MOVIE)); channels.put(id.TV, new Channel("剧集", id.TV)); channels.put(id.VARIETY, new Channel("综艺", id.VARIETY)); channels.put(id.DOCUMENTARY, new Channel("纪录片", id.DOCUMENTARY)); channels.put(id.PILI, new Channel("特摄·霹雳", id.PILI)); channels.put(id.GAME, new Channel("游戏", id.GAME)); channels.put(id.BEST_GAME, new Channel("游戏集锦", id.BEST_GAME)); channels.put(id.LIVE_OB, new Channel("实况解说", id.LIVE_OB)); channels.put(id.FLASH, new Channel("FLASH", id.FLASH)); channels.put(id.MUGEN, new Channel("MUGEN", id.MUGEN)); channels.put(id.LOL, new Channel("撸啊撸", id.LOL)); channels.put(id.BANGUMI, new Channel("新番连载", id.BANGUMI)); channels.put(id.ARTICLE.ARTICLE, new Channel("文章", id.ARTICLE.ARTICLE)); channels.put(id.ARTICLE.COLLECTION, new Channel("综合", id.ARTICLE.COLLECTION)); channels.put(id.ARTICLE.WORK_EMOTION, new Channel("工作·情感", id.ARTICLE.WORK_EMOTION)); channels.put(id.ARTICLE.AN_CULTURE, new Channel("动漫文化", id.ARTICLE.AN_CULTURE)); channels.put(id.ARTICLE.COMIC_LIGHT_NOVEL, new Channel("漫画·轻小说", id.ARTICLE.COMIC_LIGHT_NOVEL)); } public static List<Channel> getApi(int pos) { List<Channel> apis = new ArrayList<Channel>(); switch (pos) { case 0: apis.add(channels.get(id.AN_LITE)); apis.add(channels.get(id.BANGUMI)); apis.add(channels.get(id.MAD_AMV)); apis.add(channels.get(id.MMD_3D)); apis.add(channels.get(id.AN_COMP)); break; case 1: apis.add(channels.get(id.SING)); apis.add(channels.get(id.VOCALOID)); apis.add(channels.get(id.DANCE)); apis.add(channels.get(id.ACG)); apis.add(channels.get(id.POP)); break; case 2: apis.add(channels.get(id.FUNY)); apis.add(channels.get(id.KICHIKU)); apis.add(channels.get(id.PET)); apis.add(channels.get(id.EAT)); apis.add(channels.get(id.SCIENCE)); apis.add(channels.get(id.SPORT)); break; case 3: apis.add(channels.get(id.MOVIE)); apis.add(channels.get(id.TV)); apis.add(channels.get(id.VARIETY)); apis.add(channels.get(id.DOCUMENTARY)); apis.add(channels.get(id.PILI)); break; case 4: apis.add(channels.get(id.BEST_GAME)); apis.add(channels.get(id.LIVE_OB)); apis.add(channels.get(id.FLASH)); apis.add(channels.get(id.MUGEN)); apis.add(channels.get(id.LOL)); break; case 5: // apis.add(channels.get(id.BANGUMI)); // break; // case 6: apis.add(channels.get(id.ARTICLE.COLLECTION)); apis.add(channels.get(id.ARTICLE.WORK_EMOTION)); apis.add(channels.get(id.ARTICLE.AN_CULTURE)); apis.add(channels.get(id.ARTICLE.COMIC_LIGHT_NOVEL)); break; } return apis; } public static String getChannelTitle(int pos){ switch (pos) { case 0: return "动画"; case 1: return "音乐"; case 2: return "娱乐"; case 3: return "短影"; case 4: return "游戏"; case 5: return "文章"; default: return null; } } public static int getChannelType(int channelId){ boolean bArticle = channelId == id.ARTICLE.ARTICLE || channelId == id.ARTICLE.COLLECTION || channelId == id.ARTICLE.AN_CULTURE || channelId == id.ARTICLE.COMIC_LIGHT_NOVEL || channelId == id.ARTICLE.WORK_EMOTION; return bArticle ? 1 : 0; } private static final int TYPE_DEFAULT = 0; private static final int TYPE_HOT_LIST = 6; private static final int TYPE_LATEST_REPLY = 22; private static String baseUrl = "http://www.acfun.tv/api/getlistbyorder.aspx?orderby="; /** * 获得默认形式(最新发布)列表的url */ public static String getDefaultUrl(int channelId, int count) { return getUrl(TYPE_DEFAULT, channelId, count); } /** * 获得周热门列表url */ public static String getHotListUrl(int channelId, int count) { return getUrl(TYPE_HOT_LIST, channelId, count); } /** * 获得最新回复列表url */ public static String getLatestRepliedUrl(int channelId, int count) { return getUrl(TYPE_LATEST_REPLY, channelId, count); } private static String getUrl(int type, int channelId, int count) { return baseUrl + type + "&channelIds=" + channelId + "&count=" + count; } }