网络资源模板--基于Android Studio 实现的日记本App

目录

一、测试环境说明

二、项目简介

三、项目演示

四、部设计详情(部分))

创建修改页面

五、项目源码


一、测试环境说明

电脑环境

Windows 11

编写语言

JAVA

开发软件

Android Studio (2020)

开发软件只要大于等于测试版本即可(近几年官网直接下载也可以),若是版本低于测试版本请自行测试。项目需要根据你的软件自行适配

二、项目简介

该项目简介来自网络,具体内容需要自行测试

本日记本应用是基于Android平台开发的一款个人日记记录软件,采用Java语言编写,使用SQLite数据库进行数据存储。应用包含四大核心功能模块:首页展示、日记创建与编辑、日记列表浏览和日记详情查看。

系统采用标准的MVC架构设计,数据层通过DiaryDataSource接口实现与SQLite数据库的交互,业务逻辑层处理日记的增删改查操作,视图层则通过Activity和Adapter实现界面展示。

应用具有简洁直观的用户界面,支持日记的创建、修改、删除和浏览功能。在日记编辑页面,用户可以设置日记日期、天气类型、标题和内容;日记列表按时间倒序排列,展示日记基本信息;日记详情页则提供完整的日记内容展示和编辑入口。

应用还实现了版本信息展示、单位转换工具等辅助功能,为用户提供完整的日记管理体验。

三、项目演示

网络资源模板--基于Android studio 日记本App

四、部设计详情(部分)

创建修改页面

1. 页面的结构

该页面采用典型的线性布局结构,顶部是标题栏,包含返回键和页面标题。主体部分从上到下依次是标题输入框、日期和天气选择区域(并排显示)、内容输入框。

日期和天气区域采用帧布局实现左右排列,所有输入区域都设置了圆角背景和统一的配色方案。底部的内容输入框占据了剩余空间,支持多行文本输入。

整体布局层次清晰,功能区域划分明确,符合常见的日记编辑界面设计规范。

  1. 使用到的技术

页面使用了Android标准UI组件和Material Design设计规范。核心控件包括Toolbar、EditText和TextView,通过AppBarLayout实现标题栏效果。

日期选择采用DatePickerDialog,天气选择使用AlertDialog的单选模式。数据持久化通过自定义的DiaryDataSource类实现CRUD操作。

页面使用SimpleDateFormat处理日期格式化,通过Intent传递参数实现页面间通信。错误处理包括空值校验和日期解析异常捕获,使用ToastUtils提供用户反馈。

  1. 页面详细介绍

这是一个日记编辑页面,支持创建新日记和修改现有日记两种模式。

顶部工具栏显示"创建/修改日记"标题和返回按钮,右侧菜单包含保存功能。用户可编辑标题、选择日期天气、输入正文内容。

日期选择弹窗显示日历控件,天气选择提供预设选项。所有输入字段都有非空校验,保存时自动转换日期格式并更新数据库。

页面采用粉色系配色方案,输入框使用圆角背景提升视觉体验,文字大小和间距设置合理,确保良好的可读性和操作体验。

XML 复制代码
<?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.AppBarLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:theme="@style/Theme.App.AppBarOverlay">

        <androidx.appcompat.widget.Toolbar
            android: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>

    <!--    标题输入框-->
    <EditText
        android: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" />

    <FrameLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginStart="20dp"
        android:layout_marginTop="30dp"
        android:layout_marginEnd="20dp">

        <!--    日期文本框-->
        <TextView
            android: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" />

        <!--    天气文本框-->
        <TextView
            android: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>

    <!--    内容输入框-->
    <EditText
        android: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>

五、项目源码

👇👇👇👇👇快捷方式👇👇👇👇👇