{"id":19904281,"url":"https://github.com/coding-dream/supertask","last_synced_at":"2025-03-01T07:24:02.708Z","repository":{"id":179904072,"uuid":"74646164","full_name":"coding-dream/SuperTask","owner":"coding-dream","description":"高效易用的异步库","archived":false,"fork":false,"pushed_at":"2016-11-30T10:44:42.000Z","size":149,"stargazers_count":1,"open_issues_count":0,"forks_count":2,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-11T21:32:39.821Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/coding-dream.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-11-24T06:55:44.000Z","updated_at":"2018-10-18T09:18:53.000Z","dependencies_parsed_at":null,"dependency_job_id":"1ee0ded6-dfb3-4cae-983d-603a522adb62","html_url":"https://github.com/coding-dream/SuperTask","commit_stats":null,"previous_names":["coding-dream/supertask"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coding-dream%2FSuperTask","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coding-dream%2FSuperTask/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coding-dream%2FSuperTask/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coding-dream%2FSuperTask/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/coding-dream","download_url":"https://codeload.github.com/coding-dream/SuperTask/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241331816,"owners_count":19945461,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-12T20:27:42.401Z","updated_at":"2025-03-01T07:24:02.655Z","avatar_url":"https://github.com/coding-dream.png","language":"Java","readme":"## SuperTask\n 参考AsyncTask源码，进一步封装改造更易用的异步任务库\n\n## 如何使用\n\n\n在build.gradle 中添加\n\n```\ndependencies {\n    compile 'com.github.wangli0:SuperTask:v0.3'\n}\n\n```\n\n\n类似于okhttp的调用方式\n\n```\n SuperTask superTask = SuperTask.create();\n        TestBean testBean = new TestBean(\" sister\",\"20\"); //这里可以是任意请求参数对象\n        Request request = new Request.Builder().task(superTask).params(testBean).build();\n\n        SuperClient superClient = SuperClient.getInstance();\n        Call call = superClient.newCall(request);\n\n        call.enqueue(new CallBack() {\n            @Override\n            public void before() {\n                Toast.makeText(MainActivity.this, \"----\u003e before\", Toast.LENGTH_SHORT).show();\n            }\n\n            @Override\n            public Response doInBackgroud(Request request) {\n                try {\n\n                    Log.d(\"MainActivity\", \"----\u003e doInBackgournd start\");\n\n                    Thread.sleep(3000);\n                    TestBean bean = request.params(TestBean.class);\n\n                    Response response = new Response();\n                    response.params(\"I love you \"+bean.getName());\n\n                    Log.d(\"MainActivity\", \"----\u003e doInBackgournd end\");\n\n                    return response;\n\n                } catch (InterruptedException e) {\n                    return null;\n                }\n\n            }\n\n            @Override\n            public void after(Response response) {\n                if (response != null) {\n                    String msg = response.params(String.class);\n\n                    Toast.makeText(MainActivity.this, \"----\u003e after response:\"+msg, Toast.LENGTH_SHORT).show();\n                }\n\n            }\n\n\n            @Override\n            public void cancel() {\n                Toast.makeText(MainActivity.this, \"----\u003e cancel\", Toast.LENGTH_SHORT).show();\n            }\n        });\n\n\n\n```\n\n## 如何取消任务\n\n获取到 当前执行的 Call call\n\n```\ncall.cancel();\n```\n\n如此简单，可以任意扩展，样例代码见: app下的MainActivity\n\n\n\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcoding-dream%2Fsupertask","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcoding-dream%2Fsupertask","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcoding-dream%2Fsupertask/lists"}