From 0ad5f48edcf3d8c1052b2600c82899f6c2779bc5 Mon Sep 17 00:00:00 2001 From: weichunyi <2948523237@qq.com> Date: Thu, 12 Jun 2025 14:37:50 +0800 Subject: [PATCH] =?UTF-8?q?=E5=90=88=E5=B9=B6=E5=86=B2=E7=AA=81=E8=A7=A3?= =?UTF-8?q?=E5=86=B32.0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- doc/小米便签功能调试.md | 20 ++++++++ ...便签文档Adnroid studio结构分析.md | 29 +++++++++++ .../src/net/micode/notes/MainActivity.java | 48 +++++++++++++++++++ 3 files changed, 97 insertions(+) create mode 100644 doc/小米便签功能调试.md create mode 100644 doc/小米便签文档Adnroid studio结构分析.md create mode 100644 src/Notes-master/src/net/micode/notes/MainActivity.java diff --git a/doc/小米便签功能调试.md b/doc/小米便签功能调试.md new file mode 100644 index 0000000..b3eb9dc --- /dev/null +++ b/doc/小米便签功能调试.md @@ -0,0 +1,20 @@ +# 小米便签功能调试 + +## 要实现的功能 + +- ![](C:\Users\ASUS\Desktop\QQ20250513-081850.png) + +## 如何实现 + +- 有这些功能吗? + - 便签操作、文件夹、菜单、闹钟提醒应该是有的 + - 文件夹 + - ![](C:\Users\ASUS\Desktop\file.png) + - 菜单 + - ![](C:\Users\ASUS\Desktop\menu.png) + - 闹钟提醒 + - ![](C:\Users\ASUS\Desktop\alarm.png) + - 但是剩下三个? +- 如何实现? +- 为什么代码在这运行不显示? +- android studio的代码运行逻辑? \ No newline at end of file diff --git a/doc/小米便签文档Adnroid studio结构分析.md b/doc/小米便签文档Adnroid studio结构分析.md new file mode 100644 index 0000000..5bf063d --- /dev/null +++ b/doc/小米便签文档Adnroid studio结构分析.md @@ -0,0 +1,29 @@ +# 小米便签文档Adnroid studio结构分析 + +- ## Notes[My Appication] + +- 项目根目录,包含所有源代码、资源文件和配置 + + - .gradle 存放Gradle Wrapper文件,确保团队使用版本统一的Gradle + - .idea Android Studio的IDE配置文件(代码风格、运行配置、版本控制忽略规则) + - **app 核心目录模块,包含应用代码、资源文件和模块配置** + - build 存放Gradle构建过程中生成的临时文件和最终输出文件 + - **src 存放应用的所有源代码和资源文件,是开发者的主要工作目录** + - androidTest 仪器化测试(需要运行在真机\模拟机上的测试) + - **main 应用核心代码** + - **Java 存放项目的源代码(所有业务逻辑、数据模型、工具类)** + - net.micode.notes + - data 数据层 + - gtask Google Tasks同步相关逻辑 + - modle 数据模型层,定义核心数据结构 + - tool 工具类,封装通用功能 + - ui 用户界面层 + - weidget 自定义控件或桌面小部件 + - MainActivity 应用入口,通常作为为启动页或导航中心 + - res 存放所有的静态资源管理文件(布局、图片、字符串、样式),Android 会根据资源自动配置最佳资源 + - test[uniteTest] 单元测试(快速验证逻辑) + - build 构建生成的临时文件(如编译后的类、APK),删除后会自动重新生成 + +- ## External Libraries + +- 外部依赖库,由Gradle或IDE自动管理 \ No newline at end of file diff --git a/src/Notes-master/src/net/micode/notes/MainActivity.java b/src/Notes-master/src/net/micode/notes/MainActivity.java new file mode 100644 index 0000000..8e81052 --- /dev/null +++ b/src/Notes-master/src/net/micode/notes/MainActivity.java @@ -0,0 +1,48 @@ +package net.micode.notes; // 指定代码所属的包名 + +import android.os.Bundle; // 导入Bundle类,用于传递和保存状态数据 + +import androidx.activity.EdgeToEdge; // 导入边缘到边缘功能类,支持沉浸式布局 +import androidx.appcompat.app.AppCompatActivity; // 导入AppCompat活动基类,提供兼容性支持 +import androidx.core.graphics.Insets; // 导入Insets类,用于表示窗口插入区域的尺寸 +import androidx.core.view.ViewCompat; // 导入视图兼容工具类,提供跨版本视图功能 +import androidx.core.view.WindowInsetsCompat; // 导入窗口插入兼容类,处理窗口插入事件 + +/** + * 应用主活动类 + * 负责应用的主界面展示和初始化工作 + */ +public class MainActivity extends AppCompatActivity { + + /** + * 活动创建时调用的方法 + * 进行布局初始化和窗口插入事件处理 + * @param savedInstanceState 保存的活动状态,如果活动是重新创建的 + */ + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); // 调用父类的onCreate方法 + + // 启用边缘到边缘功能,允许内容延伸到系统状态栏和导航栏区域 + EdgeToEdge.enable(this); + + // 设置活动的内容视图为activity_main布局 + setContentView(R.layout.activity_main); + + // 为id为main的视图设置窗口插入事件监听器 + ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main), (v, insets) -> { + // 获取系统状态栏、导航栏等系统栏的插入区域尺寸 + Insets systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars()); + + // 设置视图的内边距,确保内容不会被系统栏遮挡 + // 左内边距 = 系统栏左侧插入区域宽度 + // 上内边距 = 系统栏顶部插入区域高度(通常是状态栏高度) + // 右内边距 = 系统栏右侧插入区域宽度 + // 下内边距 = 系统栏底部插入区域高度(通常是导航栏高度) + v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom); + + // 返回处理后的窗口插入事件,允许其他监听器继续处理 + return insets; + }); + } +} \ No newline at end of file