This is a mobile note-taking application developed as a course project for Mobile Application Development, Summer 2021, at Beijing University of Technology. The app provides a simple and efficient way to create, organize, and manage your notes on HarmonyOS devices.
- Create Notes: Easily create new notes with text, images, and other media.
- Edit Notes: Update and modify your existing notes as needed.
- Organize Notes: Categorize your notes using folders or tags for better organization.
- Sync across Devices: Your notes are automatically synced across all your HarmonyOS devices.
This section provides instructions for setting up the development environment and building the Note Taking App for HarmonyOS.
- DevEco Studio: The official IDE for HarmonyOS development. You can download it from the Huawei Developer website.
- Java Development Kit (JDK): Make sure you have JDK 8 or later installed on your system.
- Android Studio (Optional): If you prefer to use Android Studio for Java development, you can set it up for HarmonyOS development by following the official guide.
- Clone the project repository to your local machine:
git clone https://github.com/your-username/note-taking-app.git
- Open DevEco Studio and import the project by selecting "File" > "Open" and navigating to the cloned repository folder.
- If prompted, set up the Java development environment by configuring the JDK location.
- In DevEco Studio, connect your HarmonyOS device or emulator to your development machine.
- Make sure your device or emulator is set up for development mode by following the official instructions.
- Build the app by clicking the "Build" button in the DevEco Studio toolbar or by selecting "Build" > "Build App(s)".
- If the build is successful, you can run the app on your connected device or emulator by clicking the "Run" button in the DevEco Studio toolbar or by selecting "Run" > "Run App".
src/
├── main/
│ ├── java/
│ │ └── com/example/noteapp/
│ │ ├── abilities/
│ │ │ ├── MainActivity.java
│ │ │ └── NoteDetailAbility.java
│ │ ├── beans/
│ │ │ └── Note.java
│ │ ├── databaseutils/
│ │ │ └── DatabaseHelper.java
│ │ ├── listeners/
│ │ │ └── NoteItemClickListener.java
│ │ ├── providers/
│ │ │ └── NoteItemProvider.java
│ │ ├── slices/
│ │ │ └── NoteItemSlice.java
│ │ └── utils/
│ │ └── NoteUtils.java
│ └── resources/
│ ├── base/
│ │ ├── layout/
│ │ │ ├── activity_main.xml
│ │ │ ├── activity_note_detail.xml
│ │ │ └── slice_note_item.xml
│ │ ├── strings.json
│ │ └── ...
│ └── ...
├── ...
└── ...
- abilities:
MainActivity.java
: The main Ability responsible for displaying the list of notes and handling user interactions.NoteDetailAbility.java
: The Ability for creating, editing, and viewing note details. - beans:
Note.java
: The data model class representing a single note. - databaseutils:
DatabaseHelper.java
: A utility class for managing the SQLite database operations (create, read, update, delete). - listeners:
NoteItemClickListener.java
: A listener class for handling note item clicks in the list. - providers:
NoteItemProvider.java
: A class that implements BaseItemProvider to provide data to the ListContainer for displaying note items. - slices:
NoteItemSlice.java
: A Slice class representing the layout and behavior of a single note item in the list. - utils:
NoteUtils.java
: A utility class containing helper methods for various operations (e.g., date formatting, string manipulation). - resources/base/layout:
activity_main.xml
: The layout file for the main activity.activity_note_detail.xml
: The layout file for the note detail activity.slice_note_item.xml
: The layout file for a single note item in the list. - resources/base/strings.json: This file contains the string resources used in the app.
If you would like to contribute to this project, please follow these steps:
- Fork the repository.
- Create a new branch for your feature or bug fix.
- Make the necessary changes and commit them.
- Push your changes to your forked repository.
- Submit a pull request to the main repository.
This project is licensed under the MIT License.