
{"id":874,"date":"2016-11-28T11:40:35","date_gmt":"2016-11-28T03:40:35","guid":{"rendered":"http:\/\/www.jiandaima.com\/blog\/?p=874"},"modified":"2016-11-28T11:40:35","modified_gmt":"2016-11-28T03:40:35","slug":"%e6%b8%85%e6%99%b0%e7%81%b5%e6%b4%bb%e7%ae%80%e5%8d%95%e6%98%93%e7%94%a8%e7%9a%84%e5%ae%89%e5%8d%93%e5%ba%94%e7%94%a8%e6%9b%b4%e6%96%b0%e5%ba%93%e6%ba%90%e7%a0%81%e4%b8%8b%e8%bd%bd","status":"publish","type":"post","link":"http:\/\/www.jiandaima.com\/blog\/archives\/874.html","title":{"rendered":"\u6e05\u6670\u7075\u6d3b\u7b80\u5355\u6613\u7528\u7684\u5b89\u5353\u5e94\u7528\u66f4\u65b0\u5e93\u6e90\u7801\u4e0b\u8f7d"},"content":{"rendered":"<p>\u6e05\u6670\u7075\u6d3b\u7b80\u5355\u6613\u7528\u7684\u5b89\u5353\u5e94\u7528\u66f4\u65b0\u5e93\u6e90\u7801\u4e0b\u8f7d<\/p>\n<p><a href=\"https:\/\/github.com\/czy1121\/update\/raw\/master\/screenshot1.png\" class=\"highslide-image\" onclick=\"return hs.expand(this);\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/github.com\/czy1121\/update\/raw\/master\/screenshot1.png\" width=\"360\" height=\"640\" alt=\"\" class=\"aligncenter size-medium\" \/><\/a><\/p>\n<p><a href=\"https:\/\/github.com\/czy1121\/update\/raw\/master\/screenshot3.png\" class=\"highslide-image\" onclick=\"return hs.expand(this);\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/github.com\/czy1121\/update\/raw\/master\/screenshot3.png\" width=\"360\" height=\"640\" alt=\"\" class=\"aligncenter size-medium\" \/><\/a><\/p>\n<p>Gradle<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\nrepositories { \r\n    maven { url &quot;https:\/\/jitpack.io&quot; }\r\n} \r\n\r\ndependencies {\r\n    compile 'com.github.czy1121:update:1.0.0'\r\n}\r\n\r\n<\/pre>\n<p>\u57fa\u672c\u7528\u6cd5<\/p>\n<p>\u9ed8\u8ba4\u60c5\u51b5\u4e0b\uff0c\u67e5\u8be2\u8bf7\u6c42\u4f1a\u9700\u8981\u4e09\u4e2a\u53c2\u6570: \u5305\u540d(package), \u7248\u672c\u53f7(version), \u6e20\u9053(channel) package\/version \u4ece\u5e94\u7528\u7684 context \u83b7\u53d6<\/p>\n<pre class=\"brush: java; title: ; notranslate\" title=\"\">\r\n\r\n\/\/ \u8bbe\u7f6e\u9ed8\u8ba4\u66f4\u65b0\u63a5\u53e3\u5730\u5740\u4e0e\u6e20\u9053 \r\nUpdateManager.setUrl(mCheckUrl, &quot;yyb&quot;);\r\n\/\/ \u8fdb\u5165\u5e94\u7528\u65f6\u67e5\u8be2\u66f4\u65b0\r\nUpdateManager.check(context);\r\n\/\/ \u5728\u8bbe\u7f6e\u754c\u9762\u70b9\u51fb\u68c0\u67e5\u66f4\u65b0\r\nUpdateManager.checkManual(context);\r\n\r\n<\/pre>\n<p>\u8bbe\u7f6e\u8bf7\u6c42url<\/p>\n<p>\u8bbe\u7f6eurl\u540e\u4e0d\u4f1a\u989d\u5916\u6dfb\u52a0 package\/version\/channel \u7b49\u53c2\u6570<\/p>\n<pre class=\"brush: java; title: ; notranslate\" title=\"\">\r\nUpdateManager.create(this).setUrl(mCheckUrl).check();\r\n<\/pre>\n<p>\u89e3\u6790\u67e5\u8be2\u7ed3\u679c<\/p>\n<p>\u67e5\u8be2\u7ed3\u679c\u9700\u8981\u89e3\u6790\u6210 UpdateInfo<\/p>\n<pre class=\"brush: java; title: ; notranslate\" title=\"\">\r\n\r\npublic class UpdateInfo {\r\n    \/\/ \u662f\u5426\u6709\u65b0\u7248\u672c\r\n    public boolean hasUpdate = false;\r\n    \/\/ \u662f\u5426\u9759\u9ed8\u4e0b\u8f7d\uff1a\u6709\u65b0\u7248\u672c\u65f6\u4e0d\u63d0\u793a\u76f4\u63a5\u4e0b\u8f7d\uff0c\u4e0b\u6b21\u542f\u52a8\u65f6\u5b89\u88c5\r\n    public boolean isSilent = false;\r\n    \/\/ \u662f\u5426\u5f3a\u5236\u5b89\u88c5\uff1a\u4e0d\u5b89\u88c5\u65e0\u6cd5\u4f7f\u7528app\r\n    public boolean isForce = false;\r\n    \/\/ \u662f\u5426\u53ef\u5ffd\u7565\u8be5\u7248\u672c\r\n    public boolean isIgnorable = true;\r\n    \/\/ \u662f\u5426\u662f\u589e\u91cf\u8865\u4e01\u5305\uff0c\u6682\u4e0d\u652f\u6301\r\n    public boolean isPatch = false;\r\n\r\n    public int versionCode;\r\n    public String versionName;\r\n    public String updateContent;\r\n\r\n    public String url;\r\n    public String md5;\r\n    public long size;\r\n\r\n    public String patchUrl;\r\n    public String patchMd5;\r\n    public long patchSize;\r\n}\r\n\r\n<\/pre>\n<p>\u53ef\u4ee5\u5b9a\u5236\u89e3\u6790\u8fc7\u7a0b<\/p>\n<pre class=\"brush: java; title: ; notranslate\" title=\"\">\r\n\r\n\r\nUpdateManager.create(this).setUrl(mCheckUrl).setParser(new UpdateAgent.InfoParser() {\r\n    @Override\r\n    public UpdateInfo parse(String source) throws Exception {\r\n        UpdateInfo info = new UpdateInfo(); \r\n        \/\/ todo\r\n        return info;\r\n    }\r\n}).check();\r\n\r\n<\/pre>\n<p>\u66f4\u65b0\u7248\u672c\u5bf9\u8bdd\u6846<\/p>\n<pre class=\"brush: java; title: ; notranslate\" title=\"\">\r\n\r\nUpdateManager.create(this).setOnPrompt(new UpdateAgent.OnPromptListener() {\r\n    @Override\r\n    public void onPrompt(UpdateAgent agent) { \r\n        \/\/ todo : \u6839\u636e agent.getInfo() \u663e\u793a\u66f4\u65b0\u7248\u672c\u5bf9\u8bdd\u6846\uff0c\u5177\u4f53\u53ef\u53c2\u8003 UpdateAgent.OnPrompt\r\n    }\r\n}).check();\r\n\r\n<\/pre>\n<p>\u6ca1\u6709\u65b0\u7248\u672c\u6216\u51fa\u9519<\/p>\n<pre class=\"brush: java; title: ; notranslate\" title=\"\">\r\n\r\nUpdateManager.create(this).setOnFailure(new UpdateAgent.OnFailureListener() {\r\n    @Override\r\n    public void onFailure(UpdateError error) {  \r\n        Toast.makeText(mContext, error.toString(), Toast.LENGTH_LONG).show();\r\n    }\r\n}).check();\r\n\r\n<\/pre>\n<p>\u663e\u793a\u4e0b\u8f7d\u8fdb\u5ea6<\/p>\n<p>\u53ef\u5728\u901a\u77e5\u680f\u663e\u793a\u4e0b\u8f7d\u8fdb\u5ea6\uff0c\u5f53 info.isSilent \u4e3a true \u663e\u793a<\/p>\n<p>\u9ed8\u8ba4\u901a\u77e5\u680f\u8fdb\u5ea6<\/p>\n<pre class=\"brush: java; title: ; notranslate\" title=\"\">\r\nUpdateManager.create(this).setNotifyId(998).check();\r\n<\/pre>\n<p>\u5b9a\u5236\u901a\u77e5\u680f\u8fdb\u5ea6<\/p>\n<pre class=\"brush: java; title: ; notranslate\" title=\"\">\r\n\r\nUpdateManager.create(this).setOnNotify(new UpdateAgent.OnProgressListener() {\r\n    @Override\r\n    public void onStart() {\r\n        \/\/ todo: start\r\n    }\r\n\r\n    @Override\r\n    public void onProgress(int progress) {\r\n        \/\/ todo: progress\r\n    }\r\n\r\n    @Override\r\n    public void onFinish() {\r\n        \/\/ todo: finish\r\n    }\r\n}).check();\r\n<\/pre>\n<p>\u5b9a\u5236\u4e0b\u8f7d\u8fdb\u5ea6\u7684\u5bf9\u8bdd\u6846\uff0c\u5f53 info.isSilent \u4e3a false \u663e\u793a<\/p>\n<pre class=\"brush: java; title: ; notranslate\" title=\"\">\r\n\r\nUpdateManager.create(this).setOnProgress(new UpdateAgent.OnProgressListener() {\r\n    @Override\r\n    public void onStart() {\r\n        \/\/ todo: start\r\n    }\r\n\r\n    @Override\r\n    public void onProgress(int progress) {\r\n        \/\/ todo: progress\r\n    }\r\n\r\n    @Override\r\n    public void onFinish() {\r\n        \/\/ todo: finish\r\n    }\r\n}).check();\r\n\r\n<\/pre>\n","raw":"","protected":false},"excerpt":{"rendered":"<p>\u6e05\u6670\u7075\u6d3b\u7b80\u5355\u6613\u7528\u7684\u5b89\u5353\u5e94\u7528\u66f4\u65b0\u5e93\u6e90\u7801\u4e0b\u8f7d<\/p>\n","protected":false},"author":1,"featured_media":522,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[6],"tags":[279,105,280],"class_list":["post-874","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-application-source-code","tag-279","tag-105","tag-280"],"post_thumbnail_image":"http:\/\/images.jiandaima.com\/blog\/wp-content\/uploads\/2016\/05\/64022-3.png?imageView2\/1\/w\/300\/h\/300#","content_first_image":"https:\/\/github.com\/czy1121\/update\/raw\/master\/screenshot1.png","post_medium_image_300":"http:\/\/images.jiandaima.com\/blog\/wp-content\/uploads\/2016\/05\/64022-3.png?imageView2\/1\/w\/600\/h\/356#","post_thumbnail_image_624":"http:\/\/images.jiandaima.com\/blog\/wp-content\/uploads\/2016\/05\/64022-3.png","post_frist_image":"https:\/\/github.com\/czy1121\/update\/raw\/master\/screenshot1.png","post_medium_image":"http:\/\/images.jiandaima.com\/blog\/wp-content\/uploads\/2016\/05\/64022-3.png?imageView2\/1\/w\/600\/h\/356#","post_large_image":"http:\/\/images.jiandaima.com\/blog\/wp-content\/uploads\/2016\/05\/64022-3.png","post_full_image":"http:\/\/images.jiandaima.com\/blog\/wp-content\/uploads\/2016\/05\/64022-3.png","post_all_images":[{"imagesurl":"https:\/\/github.com\/czy1121\/update\/raw\/master\/screenshot1.png","id":"image0"},{"imagesurl":"https:\/\/github.com\/czy1121\/update\/raw\/master\/screenshot3.png","id":"image1"}],"videoAdId":"","listAd":"0","listAdId":"","listAdEvery":5,"total_comments":0,"category_name":"\u5e94\u7528\u7a0b\u5e8f\u6e90\u7801","post_date":"2016-11-28","like_count":"0","praiseWord":"\u9f13\u52b1","copyright_state":"","excitationAd":"0","rewardedVideoAdId":"","detailAdId":"","detailAd":"0","enterpriseMinapp":"0","audios":[],"postImageUrl":"http:\/\/images.jiandaima.com\/blog\/wp-content\/uploads\/2020\/02\/img_5e44112722964.png","avatarurls":[],"related_posts":[],"pageviews":656,"next_post_id":876,"next_post_title":"Android \u5b9e\u73b0\u89c6\u5c4f\u64ad\u653e\u5668\u3001\u8fb9\u64ad\u8fb9\u7f13\u5b58\u529f\u80fd\u3001\u5916\u52a0\u94f2\u5c4e\uff08IJKPlayer\uff09","previous_post_id":832,"previous_post_title":"\u5b89\u5353\u4e09\u72b6\u6001\u5207\u6362\u6309\u94ae\u6e90\u7801\u4e0b\u8f7d TriState Toggle Button\u793a\u4f8b\u6e90\u7801\u4e0b\u8f7d","_links":{"self":[{"href":"http:\/\/www.jiandaima.com\/blog\/wp-json\/wp\/v2\/posts\/874","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.jiandaima.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.jiandaima.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.jiandaima.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.jiandaima.com\/blog\/wp-json\/wp\/v2\/comments?post=874"}],"version-history":[{"count":0,"href":"http:\/\/www.jiandaima.com\/blog\/wp-json\/wp\/v2\/posts\/874\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/www.jiandaima.com\/blog\/wp-json\/wp\/v2\/media\/522"}],"wp:attachment":[{"href":"http:\/\/www.jiandaima.com\/blog\/wp-json\/wp\/v2\/media?parent=874"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.jiandaima.com\/blog\/wp-json\/wp\/v2\/categories?post=874"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.jiandaima.com\/blog\/wp-json\/wp\/v2\/tags?post=874"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}