{"id":21379121,"url":"https://github.com/pikachu0621/myutils","last_synced_at":"2026-03-04T02:33:05.451Z","repository":{"id":108538042,"uuid":"462615023","full_name":"pikachu0621/MyUtils","owner":"pikachu0621","description":"自用 - Android utils 工具类","archived":false,"fork":false,"pushed_at":"2022-02-24T02:15:19.000Z","size":271,"stargazers_count":4,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-15T17:15:49.098Z","etag":null,"topics":["android","java","jitpack-android"],"latest_commit_sha":null,"homepage":"","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/pikachu0621.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":"2022-02-23T06:48:10.000Z","updated_at":"2024-09-16T09:56:01.000Z","dependencies_parsed_at":null,"dependency_job_id":"e5cce1bb-4182-4923-8848-d22b18aeed50","html_url":"https://github.com/pikachu0621/MyUtils","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/pikachu0621/MyUtils","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pikachu0621%2FMyUtils","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pikachu0621%2FMyUtils/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pikachu0621%2FMyUtils/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pikachu0621%2FMyUtils/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pikachu0621","download_url":"https://codeload.github.com/pikachu0621/MyUtils/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pikachu0621%2FMyUtils/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30070119,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-04T01:03:42.280Z","status":"online","status_checked_at":"2026-03-04T02:00:07.464Z","response_time":59,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["android","java","jitpack-android"],"created_at":"2024-11-22T10:17:21.017Z","updated_at":"2026-03-04T02:33:05.434Z","avatar_url":"https://github.com/pikachu0621.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"自用Android工具类\n=====\n[![第版本4](https://jitpack.io/v/pikachu0621/MyUtils.svg)](https://jitpack.io/#pikachu0621/MyUtils)\n\u003cbr\u003e\n[Github地址](https://github.com/pikachu0621)\n\n\n\n\n适配器\n------\n\u003e RecyclerView 适配器  \u003cbr\u003e\n`BaseAdapter` \u003cbr\u003e\n`QuickAdapter` \u003cbr\u003e\n\n\u003e ViewPager 适配器 \u003cbr\u003e\n`PagerAdapter` \u003cbr\u003e\n`PagerAdapter2` \u003cbr\u003e\n\n基类\n------\n\u003e Activity \u003cbr\u003e\n`BaseActivity` \u003cbr\u003e\n\n\u003e Fragment \u003cbr\u003e\n`BaseFragment` \u003cbr\u003e\n\n\u003e 对话框 \u003cbr\u003e\n`BaseDialog` \u003cbr\u003e\n`BaseBottomSheetDialog` \u003cbr\u003e\n`BasePopupWindow` \u003cbr\u003e\n\n工具类\n-------\n\u003e Activity堆栈管理工具类\n`AppManagerUtils` \u003cbr\u003e\n\n\u003e Assets文件管理工具类\n`AssetsUtils` \u003cbr\u003e\n\n\u003e Base64工具类\n`Base64Utils` \u003cbr\u003e\n\n\u003e bitmap图片工具类\n`BitmapUtils` \u003cbr\u003e\n\n\u003e 设备工具信息工具\n`EquipmentUtils` \u003cbr\u003e\n\n\u003e 文件工具类\n`FileUtils` \u003cbr\u003e\n\n\u003e glide图片加载工具类\n`GlideUtils` \u003cbr\u003e\n\n\u003e 系统http工具类\n`LoadUrlUtils` \u003cbr\u003e\n\n\u003e log日志工具类\n`LogsUtils` \u003cbr\u003e\n\n\u003e 网络检测工具类\n`NetUtils` \u003cbr\u003e\n\n\u003e SharedPreferences本地xml储存工具类\n`SharedPreferencesUtils` \u003cbr\u003e\n\n\u003e 时间工具类\n`TimeUtils` \u003cbr\u003e\n\n\u003e Toast工具类\n`ToastUtils` \u003cbr\u003e\n\n\u003e Ui相关工具类\n`UiUtils` \u003cbr\u003e\n\n\n使用\n====\n\n导入\n----\n\n1. 项目build.gradle导入\n\n```groovy\nallprojects {\n    repositories {\n        ...\n        maven { url 'https://jitpack.io' }\n    }\n}\n```\n\n2. app build.gradle导入\n\n```groovy\ndependencies {\n    implementation 'com.github.pikachu0621:MyUtils:0.0.4'\n}\n```\n\n3. 在app build.gradle 开启 viewBinding\n\n```groovy\nandroid {\n    ...\n    viewBinding {\n        enabled = true\n    }\n}\n```\n\nQuickAdapter  (RecyclerView单布局)\n---\n\n```java\npublic class TestQuickAdapter extends QuickAdapter\u003cActivityMainBinding, String\u003e {\n\n    public TestQuickAdapter(List\u003cString\u003e data) {\n        super(data);\n    }\n\n    @Override\n    public void onQuickBindView(ActivityMainBinding binding, String itemData, int position, List\u003cString\u003e data) {\n\n    }\n}\n```\n\nBaseAdapter  (RecyclerView多布局)\n---\n\n```java\npublic class Test2QuickAdapter extends BaseAdapter\u003cString\u003e {\n\n    public Test2QuickAdapter(List\u003cString\u003e data) {\n        super(data);\n    }\n\n    @Override\n    public Class\u003c? extends ViewBinding\u003e onCreateView(ViewGroup parent, int viewType) {\n        // 根据 viewType 返回布局 Binding\n        if (viewType == 1) {\n            return ActivityMainBinding.class;\n        } else if (viewType == 10) {\n            return ActivityMainBinding.class;\n        }\n        return ActivityMainBinding.class;\n    }\n\n    @Override\n    public void onBindView(ViewBinding binding, String itemData, int position, int itemViewType, List\u003cString\u003e data) {\n\n    }\n\n    @Override\n    public int getItemViewType(int position, String itemData) {\n        //根据position 返回 viewType\n        return 0;\n    }\n}\n```\n\nActivity用法\n---\n\n```java\npublic class MainActivity extends BaseActivity\u003cActivityMainBinding\u003e {\n    @Override\n    protected void initActivity(Bundle savedInstanceState) {\n        // 业务逻辑\n        // binding.getRoot().setVisibility(View.VISIBLE);\n    }\n}\n```\n\nFragment用法(支持懒加载)\n----\n\n```java\npublic class MainFragment extends BaseFragment\u003cFragmentMainBinding\u003e {\n\n    @Override\n    protected void onInitView(Bundle savedInstanceState, FragmentMainBinding binding, FragmentActivity activity) {\n        // 业务逻辑\n        // binding.getRoot().setVisibility(View.VISIBLE);\n    }\n\n    @Override\n    protected void lazyLoad() {\n        // 懒加载 第一次对用户可见时调用\n        // binding.getRoot().setVisibility(View.VISIBLE);\n    }\n}\n```\n\n对话框\n---\n\n```java\npublic class TestDialog {\n    \n    private final Context context;\n    public TestDialog(Context context) {\n        this.context = context;\n    }\n    \n    /**\n     * 普通对话框\n     * 背景默认透明\n     */\n    public void testBaseDialog(){\n        BaseDialog\u003cActivityMainBinding\u003e dialog = new BaseDialog\u003cActivityMainBinding\u003e(context) {\n            @Override\n            protected void onViewCreate(ActivityMainBinding binding) {\n                // 业务逻辑\n                // binding.getRoot().setOnClickListener();\n            }\n        };\n        dialog.show();\n    }\n\n\n    /**\n     * 底部弹出对话框\n     * 背景默认透明\n     */\n    public void testBaseBottomSheetDialog(){\n        BaseBottomSheetDialog\u003cActivityMainBinding\u003e dialog = new BaseBottomSheetDialog\u003cActivityMainBinding\u003e(context) {\n            @Override\n            protected void onViewCreate(ActivityMainBinding binding) {\n                // 业务逻辑\n                // binding.getRoot().setOnClickListener();\n            }\n        };\n        dialog.show();\n    }\n\n\n    /**\n     * 控件悬浮对话框\n     * 背景默认透明\n     */\n    public void testBasePopupWindow(View view){\n        BasePopupWindow\u003cActivityMainBinding\u003e dialog = new BasePopupWindow\u003cActivityMainBinding\u003e(context) {\n            @Override\n            public void onViewCreate(ActivityMainBinding binding) {\n                // 业务逻辑\n                // binding.getRoot().setOnClickListener();\n            }\n        };\n\n        dialog.showAsTop(view);\n    }\n}\n```\n\n\n持续添加中\n---\n\n\n混淆\n-------\n\n```pro\n-keep class  com.pikachu.databinding.* {*;}\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpikachu0621%2Fmyutils","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpikachu0621%2Fmyutils","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpikachu0621%2Fmyutils/lists"}