{"id":23499669,"url":"https://github.com/androidappfactory/androidappfactory","last_synced_at":"2025-12-16T13:04:10.671Z","repository":{"id":37425666,"uuid":"222415705","full_name":"AndroidAppFactory/AndroidAppFactory","owner":"AndroidAppFactory","description":"Android应用开发通用框架框架代码","archived":false,"fork":false,"pushed_at":"2025-08-12T11:05:23.000Z","size":114295,"stargazers_count":88,"open_issues_count":0,"forks_count":23,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-08-12T13:26:31.007Z","etag":null,"topics":["android"],"latest_commit_sha":null,"homepage":"https://android.bihe0832.com/doc/","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AndroidAppFactory.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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,"zenodo":null}},"created_at":"2019-11-18T09:53:44.000Z","updated_at":"2025-08-12T11:05:26.000Z","dependencies_parsed_at":"2023-07-13T18:30:27.176Z","dependency_job_id":"0e6e0dc3-0883-4c9b-8195-df6f72e32e7a","html_url":"https://github.com/AndroidAppFactory/AndroidAppFactory","commit_stats":null,"previous_names":["bihe0832/androidappfactory"],"tags_count":634,"template":false,"template_full_name":null,"purl":"pkg:github/AndroidAppFactory/AndroidAppFactory","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AndroidAppFactory%2FAndroidAppFactory","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AndroidAppFactory%2FAndroidAppFactory/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AndroidAppFactory%2FAndroidAppFactory/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AndroidAppFactory%2FAndroidAppFactory/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AndroidAppFactory","download_url":"https://codeload.github.com/AndroidAppFactory/AndroidAppFactory/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AndroidAppFactory%2FAndroidAppFactory/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270962391,"owners_count":24675965,"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","status":"online","status_checked_at":"2025-08-18T02:00:08.743Z","response_time":89,"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"],"created_at":"2024-12-25T06:18:30.377Z","updated_at":"2025-12-16T13:04:00.648Z","avatar_url":"https://github.com/AndroidAppFactory.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"[ ![Github](https://img.shields.io/badge/bihe0832-AndroidAppFactory-brightgreen?style=social) ](https://github.com/bihe0832/AndroidAppFactory)\n[ ![Github](https://img.shields.io/github/last-commit/bihe0832/AndroidAppFactory) ](https://github.com/bihe0832/AndroidAppFactory)\n[ ![Github](https://img.shields.io/github/stars/bihe0832/AndroidAppFactory?style=social) ](https://github.com/bihe0832/AndroidAppFactory)\n[ ![Github](https://img.shields.io/bitbucket/issues/bihe0832/AndroidAppFactory) ](https://github.com/bihe0832/AndroidAppFactory)\n\n## 相关链接\n\n- **框架文档：**\n\n    - 链接：[https://android.bihe0832.com/doc/](https://android.bihe0832.com/doc/)\n    \n    - 内容：主要**介绍相关组件的功能以及整体框架使用相关的内容**\n\n- 技术方案介绍：\n\n    - 链接：[https://blog.bihe0832.com/android-dev-summary.html](https://blog.bihe0832.com/android-dev-summary.html)\n    \n    - 内容：完整AAF的整个技术方案，以及其中一些核心的技术点\n\t\n\n## 框架能力\n\n**框架目前已经有基础组件 81 + 个，公共组件 31 + 个，墙裂建议框架的完整能力查看框架使用文档**：[https://android.bihe0832.com/doc/](https://android.bihe0832.com/doc/use/common/common-wrapper.html) ，此处仅列出部分支持能力 ：\n\n- **单Activity ＋ 多Fragment 模式的Fragment管理框架、各种样式的TabLayout、沉浸式状态栏和导航栏及设置背景色和文字颜色、简易文件选择器、文本查看器**。使用系统原生对Activity进一步封装扩展的的拍照、相册选择、图片的裁剪、旋转、缩放，二维码生成与识别，分享，绘图板、颜色选择等。以及通用闪屏、侧边栏，关于页面等，隐私合规，隐私协议等\n\n- **跨进程调用、定时任务管理、前台服务、延时任务、配置管理、线程管理及线程池、协程调用封装**\n\n- **权限管理及申请**，检查权限的引导弹框、支持实现自定义界面，打开指定应用设置\n\n- **下载功能**：支持文件的完整下载与区间下载。下载过程支持**分片下载、断点续传、多线程高速下载、已下载文件校验、下载详细回调、可控下载是否排队、是否通知栏提醒、下载后完整性校验、下载异常自动重试、下载增加优先级**，在队列已经满的情况下，部分高优先级文件依然可以下载。**应用安装**，支持包括OBB、Split APK等形式安装包\n\n- **音频及ASR相关功能**：音频录制及回调（基于数据，基于文件）、**保存（持续保存，定时保存）、音频分割（按时间），文字转语音（支持加载本地或外接模型）、静音检测，关键词识别等基础能力，以及WAV，PCM等音频格式处理转化，音频数据的不同数据类型转化**。通过文件目录批量**查看音频（查找、播放、识别为文字、文件头解析、发送、删除等）**，增加中文转拼音支持。支持文字转音频。\n\n- 图像、相册等的处理，例如：Bitmap相关的各种处理：裁剪、压缩、旋转、圆角、叠加等、**保存到本地、合并拼接、添加浮层、获取本地、远程文件的Bitmap、高斯模糊**。**文字生成图片，生成音频，图片音频合成视频。相册图片选择、裁剪、旋转，不同厂商动态图片转化等**。\n\n- 基于X5 定制的**Webview 及 JSbridge 相关实现**、封装好的**通用的 Webview 的Fragment**，支持：下拉刷新，请求追加业务参数，错误页面及错误重试，非 Http 协议使用 Intent 唤起，获取网页标题，将终端的前后台切换响应到H5\n\n- RecycleView 相关的**动态列表Adapter、下拉刷新、上滑加载**、添加分割边框、获取当前可见区域内首个或者最后一个可见、完整可见等情况下的元素、滑动结束回调最新的状态\n\n- 通用的Toast 弹框、可定制Toast，上、下、左、右方位以及距离页边距的距离、支持基础的HTML内容\n\n- **通用的Dialog**：支持标题、内容、按钮动态设置。**下载进度弹框、输入弹框、Loading 弹框、列表单选弹框、图片展示弹框、底部弹框、底部列表弹框等**。在指定位置弹菜单列表、快捷操作等，通用通知栏封装：下载进度通知、检查通知栏权限，拉起通知栏授权、内容不断刷新的通知栏\n\n- 生命周期管理，获取**应用相关的基本信息**，例如：应用安装时间、当前版本安装时间、上次启动时间、最后一次启动版本、应用使用天数、使用次数、当前版本使用次数；获取**生命周期相关的信息**，例如：当前应用是否前后台、上次切后台时间、上次回到前台时间、本次启动时间\n\n- **获取设备信息**：例如分辨率、屏幕宽高获取、DP等单位转换，获取设备电量、充电状态、各种设备ID、厂商品牌等（包括是否指定厂商，厂商系统版本），获取是否包含SIM卡，网络是否开启、获取对上网卡的运营商信息、获取信号强度、网络是否可用、周边基站信息、当前网络状态（类型、强度、可用性、IP）IP合法性判断，DNS解析、获取Wi-Fi的各种信息\n\n- **数据中心**，支持数据缓存，定义了远程数据拉取方式、本地数据缓存时间长短等，支持协程。基于 SQLiteOpenHelper 封装的 key-value 存储数据库提供，数据插入、查询、删除的基本功能\n\n- **文件管理**（检查文件存在、创建多级文件夹、获取文件长度、内容、文件名、删除文件及文件夹、滑动读取写入文件、Assets管理、**FileProvider 封装，获取FileProvider 对应文件地址、路径、根据文件生成对应的URI**），**Zip 文件压缩与解压缩**（支持超过2G文件）、不解压查看文件列表，解压指定文件，**AES、MD5、SHA256、计算及GZIP压缩解压，利用系统Keystore 生成秘钥的 AES、RSA 加解密、数据分片与数据合并**，\n\n- 使用HTTPURLConnection 通过Http 或者 HTTPS 同步、异步发送GET和POST请求并返回指定数据结构，文件上传\n\n- 支持**动态修改 TextView 背景**，如背景色、边框、弧度等，扩展TextView用于**扩展收起、展开、固定行尾字符**等以及TextView 的基础扩展，可以更方便的展示更复杂的文字组合如部分支持点击、内嵌图标、部分内容圆角背景等。\n\n- 特定场景的特殊功能，例如UI全局置灰、锁频界面，widget，一键换肤等\n\n- 丰富完备的调试功能，同时提供打开网页、弹出输入框、跳转Activity、基于 LibDebug 的调试信息文本分享等基础功能、通用调试方法，包括**查看应用版本及环境、使用情况，查看设备信息，第三方应用信息**，以及一些快速跳转的功能入口\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandroidappfactory%2Fandroidappfactory","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fandroidappfactory%2Fandroidappfactory","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandroidappfactory%2Fandroidappfactory/lists"}