影视APP对接源码
今天主要分享lxw开源他的聚合软件:影视天地(Android 客户端),涵盖电影、电视剧、综艺节目、动漫、游戏五大类别的资源。整合两大资源搜索引擎,连接互联网千万数量级的资源库。支持视频资源在线播放、边下边播,不限速下载,不等待播放。
项目特色:本项目实现了资源列表、详情、搜索,切换资源库、搜索引擎,跳转第三方软件下载、热修复、推送分享等核心功能,应用 Retrofit2+RxJava2+Glide 等主流框架。二次封装网络请求框架,实现异常和错误的统一处理,集成分享、极光推送、阿里第二代热修复框架 HotFix2。
效果图如下:
启动页


首页


情页


搜索页


切换主题


部分代码:
常量类:
publicclassConstant{
publicstatic ConfigModel configModel;
/**
* 网络请求
*/
publicstatic String SOURCE_TYPE;
publicstaticfinal String KEY_SOURCE_TYPE = “SOURCE_TYPE”;
publicstaticfinal String SOURCE_TYPE_1 = “1”;// 飘花电影
publicstaticfinal String SOURCE_TYPE_2 = “2”;// 猫扑电影
publicstaticfinal String SOURCE_TYPE_3 = “3”;// 阳光电影
publicstaticfinal String SOURCE_TYPE_4 = “4”;// 最新资源
publicstatic String SEARCH_TYPE;
publicstaticfinal String SEARCH_TYPE_1 = “1”;// 种子搜索
publicstaticfinal String SEARCH_TYPE_2 = “2”;// 屌丝搜索
publicstaticfinal String KEY_SEARCH_TYPE = “SEARCH_TYPE”;
publicstaticfinal String KEY_SEARCH_HOTWORDS = “KEY_SEARCH_HOTWORDS”;
publicstaticfinal String KEY_NOTICE = “KEY_NOTICE”;
publicstatic String THEME_TYPE;
publicstaticfinal String THEME_TYPE_1 = “1”;// glod
publicstaticfinal String THEME_TYPE_2 = “2”;// red
publicstaticfinal String THEME_TYPE_3 = “3”;// blue
publicstaticfinal String KEY_THEME_TYPE = “THEME_TYPE”;
publicstaticfinal String DOWNLOAD_TYPE = “DOWNLOAD_TYPE”;
publicstaticfinal String DOWNLOAD_TYPE_ALL = “DOWNLOAD_TYPE_ALL”;
publicstaticfinal String DOWNLOAD_TYPE_DOWNLOADING = “DOWNLOAD_TYPE_DOWNLOADING”;
publicstaticfinal String DOWNLOAD_TYPE_COMPLETE = “DOWNLOAD_TYPE_COMPLETE”;
publicstaticfinal String API_VERSION = “v1/”;
publicstaticfinal String BASE_URL = “:80/videoworld/” + Constant.API_VERSION;
/** 是否debug模式 **/
publicstatic boolean isDebug = true;
/** 是否旋转屏幕**/
publicstatic boolean isAllowScreenRoate = false;
/** 下载种子任务选择的index集合**/
publicstatic String KEY_DOWNLOAD_XLTASKINFOS = “KEY_DOWNLOAD_XLTASKINFOS”;
/** 是否允许切换 4g 网络时下载 **/
publicstatic String KEY_IS_ALLOW_4G = “KEY_IS_ALLOW_4G”;
/** 内置SD卡路径**/
publicstatic String PATH_SD_CARD = Environment.getExternalStorageDirectory().toString() + “/”;
/** APP文件夹路径**/
publicstatic String PATH_APP = PATH_SD_CARD + “VideoWorld/”;
/** 保存图片文件夹路径**/
publicstatic String PATH_SAVE_PICTURE = PATH_APP + “pictures/”;
/** 离线图片文件夹路径**/
publicstatic String PATH_OFFLINE_DOWNLOAD = PATH_APP + “download/”;
/** 启动页图片文件夹路径**/
publicstatic String PATH_SPLASH_PICTURE = PATH_APP + “splash/”;
/** 启动页图片路径**/
publicstatic String PATH_SPLASH_PICTURE_PNG = “splash_picture.png”;
/** 通用状态值**/
publicstaticfinal String STATUS_0 = “0”;
publicstaticfinal String STATUS_1 = “1”;
publicstaticfinal String STATUS_2 = “2”;
publicstaticfinal String STATUS_3 = “3”;
publicstaticfinal String STATUS_4 = “4”;
/** GridLayoutManager 每行显示列数**/
publicstatic int GRIDLAYOUTMANAGER_SPANCOUNT = 3;
publicstaticfinal String KEY_GRIDLAYOUTMANAGER_SPANCOUNT = “GRIDLAYOUTMANAGER_SPANCOUNT”;
publicstaticfinal int DEFAULT_GRIDLAYOUTMANAGER_SPANCOUNT = 3;
/** Banner 条数和列表条数**/
publicstaticfinal int BANNER_LIMIT = 5;
publicstaticfinal int LIST_LIMIT = 18;
publicstaticfinal String[] videos = new String[]{“mp4”, “mkv”, “avi”, “wmv”, “flv”, “f4v”, “xv”, “3gp”, “webm”, “vdat”, “ts”,
“rmvb”, “m3u8″,”rm”, “mpg”, “mpeg”, “mov”,”asf”, “vob”, “swf”};
publicstaticfinal String[] musics = new String[]{“mp3”, “ra”, “wma”, “ogg”, “m4a”, “acc”, “m4r”, “flac”, “ac3”, “mmf”, “amr”,
“wv”, “mod”, “apg”, “dsd”, “mp2”, “vqf”, “cd”, “ape”, “md”, “mid”, “mp3pro”};
publicstaticfinal String[] images = new String[]{“bmp”, “jpg”, “png”, “tiff”, “gif”, “pcx”, “tga”, “exif”, “fpx”, “svg”, “psd”,
“cdr”, “pcd”, “dxf”, “ufo”, “eps”, “ai”, “raw”, “wmf”, “jpeg”};
publicstaticfinal String[] documents = new String[]{“txt”, “pdf”, “doc”, “docx”, “docm”, “rtf”, “xls”, “xlsx”, “pptx”, “pptm”,
“xlsm”, “ppt”, “html”, “htm”, “wpd”, “torrent”, “chm”, “mht”};
publicstaticfinal String[] packages = new String[]{“exe”, “iso”, “apk”, “rar”, “zip”, “7z”, “pkg”, “dmg”};
/**
* 请求网络成功
*/
publicstaticfinal int CODE_SUCCESS = 1000;
/**
* 请求网络失败原因
*/
/**
* 解析数据失败
*/
publicstaticfinal String PARSE_ERROR = “数据解析失败”;
publicstaticfinal int PARSE_ERROR_CODE = 2001;
/**
* 连接错误
*/
publicstaticfinal String CONNECT_ERROR = “网络连接失败”;
publicstaticfinal int CONNECT_ERROR_CODE = 2002;
/**
* 连接超时
*/
publicstaticfinal String CONNECT_TIMEOUT = “网络连接超时”;
publicstaticfinal int CONNECT_TIMEOUT_CODE = 2003;
/**
* 未知错误
*/
publicstaticfinal String UNKNOWN_ERROR = “未知错误”;
publicstaticfinal int UNKNOWN_ERROR_CODE = 2004;
/**
* 未知错误
*/
publicstaticfinal String SERVICE_ERROR = “服务器异常”;
publicstaticfinal int SERVICE_ERROR_CODE = 2005;
publicstaticfinal String TAB_1 = “dianying”;
publicstaticfinal String TAB_2 = “dianshi”;
publicstaticfinal String TAB_3 = “zongyi”;
publicstaticfinal String TAB_4 = “dongman”;
publicstaticfinal String TAB_5 = “youxi”;
publicstaticfinal String CATEGORY_1 = “dongzuo”;
publicstaticfinal String CATEGORY_2 = “xiju”;
publicstaticfinal String CATEGORY_3 = “aiqing”;
publicstaticfinal String CATEGORY_4 = “kehuan”;
publicstaticfinal String CATEGORY_5 = “juqing”;
publicstaticfinal String CATEGORY_6 = “xuannian”;
publicstaticfinal String CATEGORY_7 = “wenyi”;
publicstaticfinal String CATEGORY_8 = “zhanzheng”;
publicstaticfinal String CATEGORY_9 = “kongbu”;
publicstaticfinal String CATEGORY_10 = “zainan”;
publicstaticfinal String CATEGORY_11 = “lianxuju”;
publicstaticfinal String CATEGORY_12 = “dongman”;
publicstaticfinal String CATEGORY_13 = “zongyijiemu”;
publicstaticfinal String CATEGORY_14 = “dy”;// 电影
publicstaticfinal String CATEGORY_15 = “ds”;// 电视剧
publicstaticfinal String CATEGORY_16 = “dm”;// 动漫
publicstaticfinal String CATEGORY_23 = “zy”;// 综艺
publicstaticfinal String CATEGORY_17 = “gndy”;// 电影
publicstaticfinal String CATEGORY_18 = “tv”;// 电视剧
publicstaticfinal String CATEGORY_19 = “zongyi2013”;// 综艺
publicstaticfinal String CATEGORY_20 = “dongman”;// 动漫
publicstaticfinal String CATEGORY_21 = “game”;// 游戏
publicstaticfinal String CATEGORY_22 = “2009zongyi”;// 旧版综艺
publicstaticfinal String TYPE_0 = “all”;
publicstaticfinal String TYPE_1 = “jddy”;// 经典电影
publicstaticfinal String TYPE_2 = “dyzz”;// 最新电影
publicstaticfinal String TYPE_3 = “hytv”;// 华语电视剧
publicstaticfinal String TYPE_4 = “rihantv”;// 日韩电视剧
publicstaticfinal String TYPE_5 = “oumeitv”;// 欧美电视剧
publicstaticfinal String TYPE_6 = “daluzongyi”;// 大陆综艺
publicstaticfinal String TYPE_7 = “taiwanzongyi”;// 台湾综艺
publicstaticfinal String TYPE_8 = “qitazongyi”;// 其他综艺
publicstaticfinal String TYPE_9 = “jingdianyouxifabu”;// 经典游戏
publicstaticfinal String TYPE_10 = “remenyouxi”;// 热门游戏
publicstaticfinal String TYPE_11 = “zuixinyouxifabu”;// 最新游戏
// 最新资源
publicstaticfinal String TYPE_12 = “动作片”;
publicstaticfinal String TYPE_13 = “喜剧片”;
publicstaticfinal String TYPE_14 = “剧情片”;
publicstaticfinal String TYPE_15 = “爱情片”;
publicstaticfinal String TYPE_16 = “科幻片”;
publicstaticfinal String TYPE_17 = “战争片”;
publicstaticfinal String TYPE_18 = “恐怖片”;
publicstaticfinal String TYPE_19 = “记录片”;
publicstaticfinal String TYPE_20 = “伦理片”;
publicstaticfinal String TYPE_21 = “国产剧”;
publicstaticfinal String TYPE_22 = “港台剧”;
publicstaticfinal String TYPE_23 = “欧美剧”;
publicstaticfinal String TYPE_24 = “日剧”;
publicstaticfinal String TYPE_25 = “韩剧”;
publicstaticfinal String TYPE_26 = “泰剧”;
//搜索
publicstaticfinal String BASE_ZHONGZI_SEARCH_1 = “”;// 时间排序
publicstaticfinal String BASE_ZHONGZI_SEARCH_2 = “”;// 点击
publicstaticfinal String BASE_ZHONGZI_SEARCH_3 = “”;// 大小
publicstaticfinal String BASE_DIAOSI_SEARCH = “”;// 屌丝搜索首页
publicstaticfinal String BASE_DIAOSI_SEARCH_1 = “list/keyword/page/time_d”;// 时间排序
publicstaticfinal String BASE_DIAOSI_SEARCH_2 = “list/keyword/page/size_d”;// 大小
publicstaticfinal String BASE_DIAOSI_SEARCH_3 = “list/keyword/page/rala_d”;// 相关度
publicstaticfinal String BASE_MAOYAN_MOVIE = “”;
}
作者:lxw开源地址:


欢迎关注我的公众号「码农突围」,分享Python、Java、大数据、机器学习、人工智能等技术,关注码农技术提升•职场突围•思维跃迁,20万+码农成长充电第一站,陪有梦想的你一起成长。
免费系统电影