目錄
一、測試環境說明
二、項目簡介
三、項目演示
四、部設計詳情(部分)
創建修改頁面
五、項目源碼?
一、測試環境說明
電腦環境
Windows 11
編寫語言
JAVA
開發軟件
Android Studio (2020)
開發軟件只要大于等于測試版本即可(近幾年官網直接下載也可以),若是版本低于測試版本請自行測試。項目需要根據你的軟件自行適配
二、項目簡介
該項目簡介來自網絡,具體內容需要自行測試
本日記本應用是基于Android平臺開發的一款個人日記記錄軟件,采用Java語言編寫,使用SQLite數據庫進行數據存儲。應用包含四大核心功能模塊:首頁展示、日記創建與編輯、日記列表瀏覽和日記詳情查看。
系統采用標準的MVC架構設計,數據層通過DiaryDataSource接口實現與SQLite數據庫的交互,業務邏輯層處理日記的增刪改查操作,視圖層則通過Activity和Adapter實現界面展示。
應用具有簡潔直觀的用戶界面,支持日記的創建、修改、刪除和瀏覽功能。在日記編輯頁面,用戶可以設置日記日期、天氣類型、標題和內容;日記列表按時間倒序排列,展示日記基本信息;日記詳情頁則提供完整的日記內容展示和編輯入口。
應用還實現了版本信息展示、單位轉換工具等輔助功能,為用戶提供完整的日記管理體驗。
三、項目演示
網絡資源模板--基于Android studio 日記本App
四、部設計詳情(部分)
創建修改頁面
1. 頁面的結構
該頁面采用典型的線性布局結構,頂部是標題欄,包含返回鍵和頁面標題。主體部分從上到下依次是標題輸入框、日期和天氣選擇區域(并排顯示)、內容輸入框。
日期和天氣區域采用幀布局實現左右排列,所有輸入區域都設置了圓角背景和統一的配色方案。底部的內容輸入框占據了剩余空間,支持多行文本輸入。
整體布局層次清晰,功能區域劃分明確,符合常見的日記編輯界面設計規范。
2. 使用到的技術
頁面使用了Android標準UI組件和Material Design設計規范。核心控件包括Toolbar、EditText和TextView,通過AppBarLayout實現標題欄效果。
日期選擇采用DatePickerDialog,天氣選擇使用AlertDialog的單選模式。數據持久化通過自定義的DiaryDataSource類實現CRUD操作。
頁面使用SimpleDateFormat處理日期格式化,通過Intent傳遞參數實現頁面間通信。錯誤處理包括空值校驗和日期解析異常捕獲,使用ToastUtils提供用戶反饋。
3. 頁面詳細介紹
這是一個日記編輯頁面,支持創建新日記和修改現有日記兩種模式。
頂部工具欄顯示"創建/修改日記"標題和返回按鈕,右側菜單包含保存功能。用戶可編輯標題、選擇日期天氣、輸入正文內容。
日期選擇彈窗顯示日歷控件,天氣選擇提供預設選項。所有輸入字段都有非空校驗,保存時自動轉換日期格式并更新數據庫。
頁面采用粉色系配色方案,輸入框使用圓角背景提升視覺體驗,文字大小和間距設置合理,確保良好的可讀性和操作體驗。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"android:layout_width="match_parent"android:layout_height="match_parent"android:background="@color/pink_200"android:orientation="vertical"><!-- 標題欄--><com.google.android.material.appbar.AppBarLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:theme="@style/Theme.App.AppBarOverlay"><androidx.appcompat.widget.Toolbarandroid:id="@+id/toolbar"android:layout_width="match_parent"android:layout_height="?attr/actionBarSize"android:background="?attr/colorPrimary"app:popupTheme="@style/Theme.App.PopupOverlay"app:title="編輯日記" /></com.google.android.material.appbar.AppBarLayout><!-- 標題輸入框--><EditTextandroid:id="@+id/title_editText"android:layout_width="match_parent"android:layout_height="wrap_content"android:layout_marginStart="20dp"android:layout_marginTop="30dp"android:layout_marginEnd="20dp"android:background="@drawable/bg_edit"android:gravity="start|center_vertical"android:hint="標題..."android:padding="20dp"android:textColor="@color/pink_500"android:textColorHint="@color/pink_300"android:textSize="20sp" /><FrameLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:layout_marginStart="20dp"android:layout_marginTop="30dp"android:layout_marginEnd="20dp"><!-- 日期文本框--><TextViewandroid:id="@+id/date_textView"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="start|center_vertical"android:background="@drawable/bg_edit"android:gravity="start|top"android:hint="日期"android:padding="10dp"android:textColor="@color/pink_500"android:textColorHint="@color/pink_300"android:textSize="14sp" /><!-- 天氣文本框--><TextViewandroid:id="@+id/weather_textView"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="end|center_vertical"android:background="@drawable/bg_edit"android:gravity="end|top"android:hint="天氣"android:padding="10dp"android:textColor="@color/pink_500"android:textColorHint="@color/pink_300"android:textSize="14sp" /></FrameLayout><!-- 內容輸入框--><EditTextandroid:id="@+id/content_editText"android:layout_width="match_parent"android:layout_height="match_parent"android:layout_marginStart="20dp"android:layout_marginTop="30dp"android:layout_marginEnd="20dp"android:layout_marginBottom="30dp"android:background="@drawable/bg_edit"android:gravity="start|top"android:hint="內容..."android:padding="20dp"android:textColor="@color/pink_500"android:textColorHint="@color/pink_300"android:textSize="18sp" /></LinearLayout>
五、項目源碼?
👇👇👇👇👇快捷方式👇👇👇👇👇