Android开发Kotlin实现酷市场开源版
酷市场 V7 版 API 相关
所有接口使用统一的前缀: https://api.coolapk.com/v6/
所有接口使用统一的 HTTP 头:
User-Agent: Dalvik/2.1.0 (Linux; U; Android 5.1.1; Nexus 4 Build/LMY48T) (#Build; google; Nexus 4; LMY48T; 5.1.1) +CoolMarket/7.3
X-Requested-With: XMLHttpRequest
X-Sdk-Int: 22
X-Sdk-Locale: zh-CN
X-App-Id: coolmarket
X-App-Token: 2a6e2adc2897c8d8133db17c2cd3b1045834ce58-d7d5-38eb-95d5-563167a1983d0x588f16cd
X-App-Version: 7.3
X-App-Code: 1701135
X-Api-Version: 7
具体参数获取方式可参考ApiManager.java,其中X-App-Token的生成是c++写的,直接引用了酷市场的 so 文件,不清楚具体算法,组合方式应该是校验和+uuid+时间戳
本项目介绍了 main/init 和 picture/list 两个接口的具体使用方法,分别是获取启动图和所有酷图的,其他接口可参考下面的 retrofit 接口文件:
public interface CoolMarketService {
@POST("feed/favorite")
Observable<Result<Integer>> m3639A(@Query("id") String str);
@POST("user/follow")
Observable<Result<Integer>> m3640B(@Query("uid") String str);
@POST("user/unfollow")
Observable<Result<Integer>> m3641C(@Query("uid") String str);
@POST("feed/cancelRecommend")
Observable<Result<String>> m3642D(@Query("id") String str);
@POST("feed/Recommend")
Observable<Result<String>> m3643E(@Query("id") String str);
@POST("discovery/loadDiscoveryInfo")
Observable<Result<DiscoveryQuery>> m3644F(@Query("query") String str);
@GET("topic/tagDetail")
Observable<Result<Topic>> m3645G(@Query("tag") String str);
@GET("feed/followTag")
Observable<Result<Integer>> m3646H(@Query("tag") String str);
@GET("feed/unFollowTag")
Observable<Result<Integer>> m3647I(@Query("tag") String str);
@GET("message/receive")
Observable<Result<Message>> m3648J(@Query("id") String str);
@GET("message/read")
Observable<Result<NotifyCount>> m3649K(@Query("ukey") String str);
@GET("cloudInstall/task")
Observable<Result<ServiceApp>> m3650L(@Query("id") String str);
@GET("apk/qr")
Observable<Result<ServiceApp>> m3651M(@Query("id") String str);
@GET("main/index")
Observable<Result<List<Entity>>> m3652a();
@GET("main/headline")
Observable<Result<List<Entity>>> m3653a(@Query("page") int i, @Query("firstItem") String str, @Query("lastItem") String str2);
@GET("album/list")
Observable<Result<List<Entity>>> m3654a(@Query("page") int i, @Query("firstItem") String str, @Query("lastItem") String str2, @Query("listType") String str3);
@POST("account/changeAvatar")
Observable<Result<String>> m3655a(@Body RequestBody requestBody);
@GET("main/checkHeadlineCount")
Observable<Result<Integer>> m3656a(@Query("firstItem") String str);
@GET("apk/detail")
Observable<Result<ServiceApp>> m3657a(@Query("id") String str, @Query("installed") int i);
@POST("message/send")
@Multipart
Observable<Result<Message>> m3658a(@Query("uid") String str, @Query("quick_reply") int i, @Part("message") String str2);
@GET("apk/index")
Observable<Result<List<Entity>>> m3659a(@Query("apkType") String str, @Query("page") int i, @Query("firstItem") String str2, @Query("lastItem") String str3);
@GET("feed/replyList")
Observable<Result<List<FeedReply>>> m3660a(@Query("id") String str, @Query("page") int i, @Query("firstItem") String str2, @Query("lastItem") String str3, @Query("discussMode") int i2, @Query("feedType") String str4);
@GET("topic/tagFeedList")
Observable<Result<List<Entity>>> m3661a(@Query("tag") String str, @Query("page") int i, @Query("firstItem") String str2, @Query("lastItem") String str3, @Query("listType") String str4);
@POST("album/addApk")
Observable<Result<Integer>> m3662a(@Query("id") String str, @Body RequestBody requestBody);
@POST("apk/checkUpdate")
@Multipart
Observable<Result<List<PatchInfo>>> m3663a(@Part("pkgs") String str, @Query("coolmarket_beta") String str2);
@GET("apk/search")
Observable<Result<List<Entity>>> m3664a(@Query("q") String str, @Query("apkType") String str2, @Query("page") int i, @Query("firstItem") String str3, @Query("lastItem") String str4);
@POST("feed/uploadImage")
Observable<Result<String>> m3665a(@Query("fieldName") String str, @Query("uploadDir") String str2, @Body RequestBody requestBody);
@GET("album/index")
Observable<Result<List<Entity>>> m3666a(@Query("page") String str, @Query("firstItem") String str2, @Query("lastItem") String str3);
@GET("apk/index?listType=cat")
Observable<Result<List<Entity>>> m3667a(@Query("catId") String str, @Query("apkType") String str2, @Query("rankType") String str3, @Query("page") int i, @Query("firstItem") String str4, @Query("lastItem") String str5);
@GET("apk/recommendList")
Observable<Result<List<Entity>>> m3668a(@Query("apkType") String str, @Query("title") String str2, @Query("subTitle") String str3, @Query("action") String str4, @Query("page") int i, @Query("firstItem") String str5, @Query("lastItem") String str6);
@GET("apk/downloadStat")
Observable<Result<Integer>> m3669a(@Query("pn") String str, @Query("aid") String str2, @Query("extra") String str3, @Query("ni") String str4, @Query("uninstall") String str5);
@FormUrlEncoded
@POST("album/addApk")
Observable<Result<Integer>> m3670a(@Query("id") String str, @Field("packageName") String str2, @Field("title") String str3, @Field("url") String str4, @Field("note") String str5, @Field("displayOrder") int i, @Field("logo") String str6);
@GET("main/init")
Observable<Result<List<Entity>>> init();
@GET("main/updateList")
Observable<Result<List<Entity>>> m3672b(@Query("page") int i, @Query("firstItem") String str, @Query("lastItem") String str2);
@POST("feed/newFeed")
Observable<Result<Feed>> m3673b(@Body RequestBody requestBody);
@GET("apk/realRankList")
Observable<Result<List<ServiceApp>>> m3674b(@Query("apkType") String str);
@GET("apk/rating")
Observable<Result<Map<String, String>>> m3675b(@Query("id") String str, @Query("value") int i);
@GET("apk/search?searchType=developer")
Observable<Result<List<ServiceApp>>> m3676b(@Query("developer") String str, @Query("page") int i, @Query("firstItem") String str2, @Query("lastItem") String str3);
@POST("apk/comment")
Observable<Result<Feed>> m3677b(@Query("id") String str, @Body RequestBody requestBody);
@FormUrlEncoded
@POST("apk/unFavorite")
Observable<Result<Integer>> m3678b(@Field("id") String str, @Field("targetType") String str2);
@GET("picture/list")
Observable<Result<List<Entity>>> m3679b(@Query("tag") @NonNull String str, @Query("type") @NonNull String str2, @Query("page") int i, @Query("firstItem") String str3, @Query("lastItem") String str4);
@POST("feed/reply")
Observable<Result<FeedReply>> m3680b(@Query("id") String str, @Query("type") String str2, @Body RequestBody requestBody);
@FormUrlEncoded
@POST("album/edit")
Observable<Result<Integer>> m3681b(@Query("id") String str, @Field("title") String str2, @Field("intro") String str3);
@GET("apk/search")
Observable<Result<List<Entity>>> m3682b(@Query("q") String str, @Query("apkType") String str2, @Query("rankType") String str3, @Query("page") int i, @Query("firstItem") String str4, @Query("lastItem") String str5);
@GET("device/ip")
Observable<Result<String>> m3683c();
@GET("apk/newestList")
Observable<Result<List<Entity>>> m3684c(@Query("page") int i, @Query("firstItem") String str, @Query("lastItem") String str2);
@POST("picture/newPicture")
Observable<Result<Feed>> m3685c(@Body RequestBody requestBody);
@GET("apk/categoryList")
Observable<Result<List<Entity>>> m3686c(@Query("apkType") String str);
@GET("user/albumlist")
Observable<Result<List<Entity>>> m3687c(@Query("uid") String str, @Query("pageSize") int i);
@GET("apk/discovererList")
Observable<Result<List<RelatedData>>> m3688c(@Query("id") String str, @Query("page") int i, @Query("firstItem") String str2, @Query("lastItem") String str3);
@GET("user/delGift")
Observable<Result<String>> m3689c(@Query("docId") String str, @Query("gift") String str2);
@GET("apk/commentList")
Observable<Result<List<Feed>>> m3690c(@Query("id") String str, @Query("listType") String str2, @Query("page") int i, @Query("firstItem") String str3, @Query("lastItem") String str4);
@POST("user/block")
Observable<Result<String>> m3691c(@Query("uid") String str, @Query("action") String str2, @Query("clearTypes") String str3);
@GET("apk/search?searchType=tag")
Observable<Result<List<Entity>>> m3692c(@Query("tag") String str, @Query("apkType") String str2, @Query("rankType") String str3, @Query("page") int i, @Query("firstItem") String str4, @Query("lastItem") String str5);
@GET("notification/checkCount")
Observable<Result<NotifyCount>> m3693d();
@GET("discovery/index")
Observable<Result<List<Entity>>> m3694d(@Query("page") int i, @Query("firstItem") String str, @Query(
-
Android 日历控件源码
Android日历控件源码介绍:本日历实现可以正常显示公历和农历。效果图:
-
Android源码时光日志本
Android源码时光日志本介绍:适用于记录一天中那些一句话就能说清的琐碎的事,在添加内容之前你必须添加类型才能成功添加内容,添加内容的时候可以设置内容的类型、内容、耗时、和评分等。在主界面直接上下滑
-
Android仿手机qq源码
Android仿手机QQ的项目源码,实现了QQ很多功能在界面上做了深度的优化,是学习界面布局的好素材,里面也用到了很多开发中常用的技术,非常值得收藏研究。效果图:
-
用Kotlin语言写一个超流畅的产品级APP
用Kotlin语言写一个超流畅的产品级APP 一位练习时长两年半的安卓练习生根据鸿神提供的WanAndroid开放Api来制作的产品级App基本实现了所有的功能,使用Kotlin语言,基于Material Design+AndroidX + MVP + RxJava + Retrofit等优秀的开源框架开发注释超详细
-
一款MaterialDesign设计风格Android视频播放器包含央视、卫视
一款MaterialDesign设计风格视频播放器包含央视、卫视 这是一款MaterialDesign设计风格视频播放器包含央视、卫视、地方、体育、卡通等高清直播以及youtube,vimeo视频爬虫及播放。直播,youtube,vimeo资源来自互联网,本应用只做学习使用,请勿商用!
-
免费论坛
-
后台
-
安卓源码
-
网站源码
-
织梦cms模板
-
css模板
-
软件源码
-
源码社区
-
帝国cms
-
电影网站源码
-
网站后台管理模板
-
免费网站模板
-
网页设计模板
-
企业网站模板下载
-
asp
-
编程电子书
-
jquery api
-
原代码
-
html个人主页模板
-
广告联盟源码
-
模版
-
蜘蛛bt
-
个人主页模板
-
后台管理系统模板
-
分类信息程序
-
导航条代码
-
css代码
-
源代码下载
-
网页游戏源码
-
社区论坛
-
电脑登录界面
-
源码天空
-
网站下载
-
企业网站模板
-
网页框架
-
在线客服代码
-
html网页模板
-
模板下载
-
整站模板
-
个人网页模板
-
.net源码
-
商城系统源码
-
网站客服代码
-
免费模块
-
网站源代码
-
asp代码
-
免费企业网站
-
商业源码
-
免费源码
-
登录界面模板