{"id":18687386,"url":"https://github.com/cnwutianhao/blog","last_synced_at":"2025-04-12T05:27:06.554Z","repository":{"id":215592261,"uuid":"739304247","full_name":"cnwutianhao/blog","owner":"cnwutianhao","description":"个人博客","archived":false,"fork":false,"pushed_at":"2024-12-19T07:15:56.000Z","size":1677,"stargazers_count":4,"open_issues_count":59,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-26T00:51:20.573Z","etag":null,"topics":["android","aosp","arkts","arkui","axios","coroutines","deveco-studio","harmonyos","java","jni","kotlin","macos","network","ohos","ohpm","swift","swiftui","ubuntu"],"latest_commit_sha":null,"homepage":"","language":"HTML","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/cnwutianhao.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}},"created_at":"2024-01-05T08:44:35.000Z","updated_at":"2024-12-19T07:16:00.000Z","dependencies_parsed_at":"2024-01-05T10:40:36.443Z","dependency_job_id":"ea3d1ed2-5e47-40cc-884b-8dacd08caa7b","html_url":"https://github.com/cnwutianhao/blog","commit_stats":null,"previous_names":["cnwutianhao/blog"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cnwutianhao%2Fblog","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cnwutianhao%2Fblog/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cnwutianhao%2Fblog/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cnwutianhao%2Fblog/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cnwutianhao","download_url":"https://codeload.github.com/cnwutianhao/blog/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248521379,"owners_count":21118060,"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":["android","aosp","arkts","arkui","axios","coroutines","deveco-studio","harmonyos","java","jni","kotlin","macos","network","ohos","ohpm","swift","swiftui","ubuntu"],"created_at":"2024-11-07T10:32:38.926Z","updated_at":"2025-04-12T05:27:06.541Z","avatar_url":"https://github.com/cnwutianhao.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Android\n+ [View 与 ViewGroup](https://github.com/cnwutianhao/blog/issues/16)\n+ [坐标系](https://github.com/cnwutianhao/blog/issues/17)\n+ [View 的滑动](https://github.com/cnwutianhao/blog/issues/18)\n+ [属性动画](https://github.com/cnwutianhao/blog/issues/19)\n+ [在 Android 应用中调用 C++ 代码并在新线程中执行 Java 静态方法](https://github.com/cnwutianhao/blog/issues/1)\n+ [Android 12 SystemUI 实现左侧导航栏](https://github.com/cnwutianhao/blog/issues/2)\n+ [源码解析 Scroller](https://github.com/cnwutianhao/blog/issues/20)\n+ [源码解析 Activity 的构成](https://github.com/cnwutianhao/blog/issues/21)\n+ [源码解析 View 的事件分发](https://github.com/cnwutianhao/blog/issues/22)\n+ [源码中的单例模式](https://github.com/cnwutianhao/blog/issues/30)\n+ [源码中的建造者模式](https://github.com/cnwutianhao/blog/issues/31)\n+ [源码中的工厂方法模式](https://github.com/cnwutianhao/blog/issues/33)\n+ [AOSP 架构](https://github.com/cnwutianhao/blog/issues/32)\n+ [系统启动流程分析 —— init 进程启动过程](https://github.com/cnwutianhao/blog/issues/35)\n+ [系统启动流程分析 —— Zygote 进程启动过程](https://github.com/cnwutianhao/blog/issues/38)\n+ [系统启动流程分析 —— SystemServer 处理过程](https://github.com/cnwutianhao/blog/issues/42)\n+ [为什么抛出异常时 app 会退出](https://github.com/cnwutianhao/blog/issues/58)\n+ [Service 依赖注入为什么不能直接用 @Inject constructor](https://github.com/cnwutianhao/blog/issues/61)\n\n## Java\n+ [线程的状态](https://github.com/cnwutianhao/blog/issues/23)\n+ [同步](https://github.com/cnwutianhao/blog/issues/24)\n+ [阻塞队列](https://github.com/cnwutianhao/blog/issues/25)\n+ [线程池](https://github.com/cnwutianhao/blog/issues/26)\n\n## Kotlin\n+ [探索 Kotlin 中的回调机制：函数类型、高阶函数和接口](https://github.com/cnwutianhao/blog/issues/3)\n+ [Kotlin 使用 Channel 实现发布/订阅模式](https://github.com/cnwutianhao/blog/issues/4)\n+ [在 Kotlin Coroutines 中使用 launch、async、Channel 和 Flow](https://github.com/cnwutianhao/blog/issues/5)\n+ [一篇文章带你了解 Flow](https://github.com/cnwutianhao/blog/issues/46)\n+ [Flow 中的三个数据相关的操作符：debounce、buffer 和 conflate](https://github.com/cnwutianhao/blog/issues/56)\n\n## Ubuntu\n+ [Ubuntu 快捷方式存放位置](https://github.com/cnwutianhao/blog/issues/6)\n+ [在基于 Ubuntu 或 Debian 的系统上创建启动图标(快捷方式)](https://github.com/cnwutianhao/blog/issues/10)\n+ [Ubuntu 用 VMware 安装 macOS](https://github.com/cnwutianhao/blog/issues/41)\n+ [在 Windows 和 Ubuntu 之间传输文件](https://github.com/cnwutianhao/blog/issues/44)\n+ [dlopen(): error loading libfuse.so.2](https://github.com/cnwutianhao/blog/issues/57)\n+ [Unable to update \"Snap Store\"](https://github.com/cnwutianhao/blog/issues/59)\n+ [VMware Unable to install all modules](https://github.com/cnwutianhao/blog/issues/60)\n\n## HarmonyOS\n+ [了解 ArkTS 语言](https://github.com/cnwutianhao/blog/issues/7)\n+ [ArkTS 声明式 UI 基础概念](https://github.com/cnwutianhao/blog/issues/8)\n+ [ArkUI - Image、Text、TextInput、Button、Slider 基本用法](https://github.com/cnwutianhao/blog/issues/9)\n+ [ArkUI - 页面布局（Column、Row）](https://github.com/cnwutianhao/blog/issues/11)\n+ [ArkUI - 循环控制（ForEach）](https://github.com/cnwutianhao/blog/issues/13)\n+ [ArkUI - 列表布局（List）](https://github.com/cnwutianhao/blog/issues/14)\n+ [ArkUI - 自定义组件](https://github.com/cnwutianhao/blog/issues/15)\n+ [ArkUI - 自定义卡片样式](https://github.com/cnwutianhao/blog/issues/29)\n+ [ArkUI - 向左/向右滑动删除](https://github.com/cnwutianhao/blog/issues/34)\n+ [ArkUI - 状态管理](https://github.com/cnwutianhao/blog/issues/36)\n+ [ArkUI - 页面路由](https://github.com/cnwutianhao/blog/issues/37)\n+ [ArkUI - 动画](https://github.com/cnwutianhao/blog/issues/43)\n+ [Stage 模型 - 基本概念](https://github.com/cnwutianhao/blog/issues/45)\n+ [Stage 模型 - 应用配置文件](https://github.com/cnwutianhao/blog/issues/47)\n+ [Stage 模型 - UIAbility 生命周期](https://github.com/cnwutianhao/blog/issues/48)\n+ [Stage 模型 - 页面及组件生命周期](https://github.com/cnwutianhao/blog/issues/49)\n+ [Stage 模型 - UIAbility 的启动模式](https://github.com/cnwutianhao/blog/issues/50)\n+ [网络连接 - Http 请求数据](https://github.com/cnwutianhao/blog/issues/52)\n+ [网络请求 - 分页加载](https://github.com/cnwutianhao/blog/issues/53)\n+ [网络连接 - 第三方库 axios](https://github.com/cnwutianhao/blog/issues/54)\n+ [数据持久化 - 用户首选项](https://github.com/cnwutianhao/blog/issues/55)\n+ [hdc 环境变量设置](https://github.com/cnwutianhao/blog/issues/12)\n+ [HUAWEI DevEco Studio 下载地址汇总](https://github.com/cnwutianhao/blog/issues/51)\n\n## 计算机网络\n+ [网络分层](https://github.com/cnwutianhao/blog/issues/27)\n+ [TCP 的三次握手与四次挥手](https://github.com/cnwutianhao/blog/issues/28)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcnwutianhao%2Fblog","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcnwutianhao%2Fblog","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcnwutianhao%2Fblog/lists"}