{"id":18565079,"url":"https://github.com/jenly1314/base","last_synced_at":"2025-04-07T11:08:39.125Z","repository":{"id":44888032,"uuid":"66540274","full_name":"jenly1314/Base","owner":"jenly1314","description":"🍁 Base是针对于Android开发封装好一些常用的基类，主要包括通用的Adapter、Activity、Fragment、Dialog等、和一些常用的Util类，只为更简单。","archived":false,"fork":false,"pushed_at":"2024-01-27T09:03:46.000Z","size":13834,"stargazers_count":265,"open_issues_count":1,"forks_count":53,"subscribers_count":12,"default_branch":"master","last_synced_at":"2025-03-31T09:08:22.207Z","etag":null,"topics":["activity","adapter","android","base","base-adapter","base-util","baseactivity","baseadapter","basedialog","basefragment","dialog","fragment","fragments","log","splash","util","viewholder"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jenly1314.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","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-08-25T08:34:16.000Z","updated_at":"2024-10-03T16:00:31.000Z","dependencies_parsed_at":"2025-01-14T11:09:39.129Z","dependency_job_id":"e59727d5-f03d-4090-874f-d47e037e6790","html_url":"https://github.com/jenly1314/Base","commit_stats":{"total_commits":55,"total_committers":3,"mean_commits":"18.333333333333332","dds":0.2545454545454545,"last_synced_commit":"f7020ac87f6955be473b90b83fb9d918b0a2bf96"},"previous_names":[],"tags_count":12,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jenly1314%2FBase","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jenly1314%2FBase/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jenly1314%2FBase/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jenly1314%2FBase/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jenly1314","download_url":"https://codeload.github.com/jenly1314/Base/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247640464,"owners_count":20971557,"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":["activity","adapter","android","base","base-adapter","base-util","baseactivity","baseadapter","basedialog","basefragment","dialog","fragment","fragments","log","splash","util","viewholder"],"created_at":"2024-11-06T22:17:43.170Z","updated_at":"2025-04-07T11:08:39.099Z","avatar_url":"https://github.com/jenly1314.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Base\n\n![Image](app/src/main/ic_launcher-web.png)\n\n[![Download](https://img.shields.io/badge/download-App-blue.svg)](https://raw.githubusercontent.com/jenly1314/Base/master/app/release/app-release.apk)\n[![JitPack](https://jitpack.io/v/jenly1314/Base.svg)](https://jitpack.io/#jenly1314/Base)\n[![CI](https://travis-ci.org/jenly1314/Base.svg?branch=master)](https://travis-ci.org/jenly1314/Base)\n[![API](https://img.shields.io/badge/API-15%2B-blue.svg?style=flat)](https://android-arsenal.com/api?level=15)\n[![License](https://img.shields.io/badge/license-Apche%202.0-blue.svg)](http://www.apache.org/licenses/LICENSE-2.0)\n\nBase是针对于Android开发封装好一些常用的基类，主要包括通用的Adapter、Activity、Fragment、Dialog等、和一些常用的Util类，只为更简单。\n\n\u003e Base 3.x 在[Base 2.x](https://github.com/jenly1314/Base/tree/2.x) 的基础上进行了重构，最大的变化是将base-adapter和base-util提取了出来。\n\n\u003e 单独提取library主要是为了模块化，使其更加独立。在使用时需要用哪个库就引入库，这样就能尽可能的减少引入库的体积。\n\n* base 主要是封装了常用的Activity、Fragment、DialogFragment、Dialog等作为基类，方便使用。\n* base-adapter 主要是封装了各种Adapter、简化自定义Adapter步骤，让写自定义适配器从此更简单。\n* base-util 主要是封装了一些常用的工具类。\n\n## Gif展示\n\n![Image](GIF.gif)\n\n\u003e 你也可以直接下载 [演示App](https://raw.githubusercontent.com/jenly1314/Base/master/app/app-release.apk) 体验效果\n\n## 引入\n\n### Gradle:\n\n1. 在Project的 **build.gradle** 或 **setting.gradle** 中添加远程仓库\n\n    ```gradle\n    repositories {\n        //...\n        mavenCentral()\n        maven { url 'https://jitpack.io' }\n    }\n    ```\n\n2. 在Module的 **build.gradle** 里面添加引入依赖项\n   \n   ```gradle\n    //--------- AndroidX\n    // base\n    implementation 'com.github.jenly1314.Base:base:3.2.1-androidx'\n    // adapter\n    implementation 'com.github.jenly1314.Base:adapter:3.2.1-androidx'\n    // util\n    implementation 'com.github.jenly1314.Base:uitl:3.2.1-androidx'\n    ```\n    或\n   \n    ```gradle\n    //--------- Android Support\n    // base\n    implementation 'com.github.jenly1314.Base:base:3.2.1'\n    // adapter\n    implementation 'com.github.jenly1314.Base:adapter:3.2.1'\n    // util\n    implementation 'com.github.jenly1314.Base:uitl:3.2.1'\n    ```\n\n## 使用\n\n### 简要说明\n\nBase主要实用地方体现在：出统一的代码风格，实用的各种基类，BaseActivity和BaseFragment里面还有许多实用的代码封装，只要用了Base，使用Fragment就感觉跟使用Activtiy基本是一样的。\n\n### 代码示例\n\n#### 通用的Adapter\n```Java\n/**\n  *\n  * 只需继承通用的适配器（ViewHolderAdapter或ViewHolderRecyclerAdapter），简单的几句代码，妈妈再也不同担心我写自定义适配器了。\n  */\npublic class TestAdapter extends ViewHolderAdapter\u003cString\u003e {\n\n\n    public TestAdapter(Context context, List\u003cString\u003e listData) {\n        super(context, listData);\n    }\n\n    @Override\n    public View buildConvertView(LayoutInflater layoutInflater,T t,int position, ViewGroup parent) {\n        return inflate(R.layout.list_item,parent,false);\n    }\n\n    @Override\n    public void bindViewDatas(ViewHolder holder, String s, int position) {\n        holder.setText(R.id.tv,s);\n    }\n}\n\n```\n\n#### 基类BaseActivity\n```Java\npublic class TestActivity extends BaseActivity {\n\n    private TextView tv;\n    private Button btn;\n\n    @Override\n    public void initUI() {\n        //TODO:初始化UI\n        setContentView(R.layout.activity_test);\n        tv = findView(R.id.tv);\n        btn = findView(R.id.btn);\n    }\n\n    @Override\n    public void initData() {\n        //TODO:初始化数据（绑定数据）\n        tv.setText(\"text\");\n    }\n\n}\n```\n#### GestureActivity\n```Java\npublic class TestGestureActivity extends GestureActivity {\n\n    private TextView tv;\n    private Button btn;\n\n    @Override\n    public void initUI() {\n        //TODO:初始化UI\n        setContentView(R.layout.activity_test);\n        tv = findView(R.id.tv);\n        btn = findView(R.id.btn);\n    }\n\n    @Override\n    public void initData() {\n        //TODO:初始化数据（绑定数据）\n        tv.setText(\"text\");\n    }\n\n    @Override\n    public void onLeftFling() {\n        //TODO:向左滑动\n    }\n\n    @Override\n    public boolean onRightFling() {\n        //TODO:向右滑动，默认执行finish，返回为true表示拦截事件。\n        return false;\n    }\n}\n```\n#### SplashActivity\n```Java\npublic class TestSplashActivity extends SplashActivity {\n    @Override\n    public int getContentViewId() {\n        return R.layout.activity_splash;\n    }\n\n    @Override\n    public Animation.AnimationListener getAnimationListener() {\n        return new Animation.AnimationListener() {\n            @Override\n            public void onAnimationStart(Animation animation) {\n\n            }\n\n            @Override\n            public void onAnimationEnd(Animation animation) {\n                //TODO: 启动动画结束，可执行跳转逻辑\n            }\n\n            @Override\n            public void onAnimationRepeat(Animation animation) {\n\n            }\n        };\n    }\n}\n```\n\n#### BaseFragment\n```Java\npublic class TestFragment extends BaseFragment {\n    @Override\n    public int inflaterRootView() {\n        return R.layout.fragment_test;\n    }\n\n    @Override\n    public void initUI() {\n        //TODO:初始化UI\n    }\n\n    @Override\n    public void initData() {\n         //TODO:初始化数据（绑定数据）\n    }\n\n}\n```\n#### BaseDialogFragment\n```Java\npublic class TestDialogFragment extends BaseDialogFragment {\n    @Override\n    public int inflaterRootView() {\n        return R.layout.fragment_test_dialog;\n    }\n\n    @Override\n    public void initUI() {\n        //TODO:初始化UI\n    }\n\n    @Override\n    public void initData() {\n        //TODO:初始化数据（绑定数据）\n    }\n\n\n}\n```\n\n#### WebFragment\n```Java\n    WebFragment实现基本webView功能\n```\n#### 其他小功能\n\n使用Log:\n统一控制管理Log\n```Java\n LogUtils.v();\n\n LogUtils.d();\n\n LogUtils.i();\n\n LogUtils.w();\n\n LogUtils.e();\n\n LogUtils.twf();\n\n LogUtils.println();\n```\n\n使用Toast\n```Java\n showToast(CharSequence text);\n\n showToast(@StringRes  int resId);\n```\n\n使用Dialog\n```Java\n showDialog(View v);\n```\n```Java\n showProgressDialog();\n\n showProgressDialog(@LayoutRes int resId);\n\n showProgressDialog(View v);\n```\n更多使用详情，请查看[app](app)中的源码使用示例或直接查看[API帮助文档](https://jitpack.io/com/github/jenly1314/Base/latest/javadoc/)\n\n## 版本记录\n\n#### v3.2.1：2019-7-1\n*  优化部分细节，为迁移AndroidX版本做准备\n*  支持AndroidX对应版本\n\n#### v3.2.0：2019-5-28\n*  统一版本，方便维护\n\n#### v3.1.2: 很久以前…\n*  未记录版本日志\n\n## 赞赏\n如果您喜欢Base，或感觉Base帮助到了您，可以点右上角“Star”支持一下，您的支持就是我的动力，谢谢 :smiley:\n\u003cp\u003e您也可以扫描下面的二维码，请作者喝杯咖啡 :coffee:\n\n\u003cdiv\u003e\n   \u003cimg src=\"https://jenly1314.github.io/image/page/rewardcode.png\"\u003e\n\u003c/div\u003e\n\n## 关于我\n\n| 我的博客                                                                                | GitHub                                                                                  | Gitee                                                                                  | CSDN                                                                                 | 博客园                                                                            |\n|:------------------------------------------------------------------------------------|:----------------------------------------------------------------------------------------|:---------------------------------------------------------------------------------------|:-------------------------------------------------------------------------------------|:-------------------------------------------------------------------------------|\n| \u003ca title=\"我的博客\" href=\"https://jenly1314.github.io\" target=\"_blank\"\u003eJenly's Blog\u003c/a\u003e | \u003ca title=\"GitHub开源项目\" href=\"https://github.com/jenly1314\" target=\"_blank\"\u003ejenly1314\u003c/a\u003e | \u003ca title=\"Gitee开源项目\" href=\"https://gitee.com/jenly1314\" target=\"_blank\"\u003ejenly1314\u003c/a\u003e  | \u003ca title=\"CSDN博客\" href=\"http://blog.csdn.net/jenly121\" target=\"_blank\"\u003ejenly121\u003c/a\u003e  | \u003ca title=\"博客园\" href=\"https://www.cnblogs.com/jenly\" target=\"_blank\"\u003ejenly\u003c/a\u003e  |\n\n## 联系我\n\n| 微信公众号        | Gmail邮箱                                                                          | QQ邮箱                                                                              | QQ群                                                                                                                       | QQ群                                                                                                                       |\n|:-------------|:---------------------------------------------------------------------------------|:----------------------------------------------------------------------------------|:--------------------------------------------------------------------------------------------------------------------------|:--------------------------------------------------------------------------------------------------------------------------|\n| [Jenly666](http://weixin.qq.com/r/wzpWTuPEQL4-ract92-R) | \u003ca title=\"给我发邮件\" href=\"mailto:jenly1314@gmail.com\" target=\"_blank\"\u003ejenly1314\u003c/a\u003e | \u003ca title=\"给我发邮件\" href=\"mailto:jenly1314@vip.qq.com\" target=\"_blank\"\u003ejenly1314\u003c/a\u003e | \u003ca title=\"点击加入QQ群\" href=\"https://qm.qq.com/cgi-bin/qm/qr?k=6_RukjAhwjAdDHEk2G7nph-o8fBFFzZz\" target=\"_blank\"\u003e20867961\u003c/a\u003e | \u003ca title=\"点击加入QQ群\" href=\"https://qm.qq.com/cgi-bin/qm/qr?k=Z9pobM8bzAW7tM_8xC31W8IcbIl0A-zT\" target=\"_blank\"\u003e64020761\u003c/a\u003e |\n\n\u003cdiv\u003e\n   \u003cimg src=\"https://jenly1314.github.io/image/page/footer.png\"\u003e\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjenly1314%2Fbase","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjenly1314%2Fbase","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjenly1314%2Fbase/lists"}