Notes App
Notes App
Notes App
A STUDY ON
NOTES APP
MICRO PROJECT REPORT
Submitted in May 2024 by the group of 1 student
1
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION,
MUMBAI
CERTIFICATES
This is to certify that Mr. PINIL BABURAV CHAKAR Roll No: 53 of Six
Semester of Information Technology Programme in Engineering &
Technology at Shivajirao. S Jondhale Polytechnic Asangaon (EAST) Shahapur
421601 has completed the Micro Project Satisfactorily in Subject: MAD
In the academic Year 2024 as, prescribed curriculum of I Scheme.
Seal of
institute
2
Acknowledgement
INDEX
3
SR no Title Pg No
1 Rationale 5
3 Literature Review: 5
4 Proposed Methodology: 6
5 Abstract 7
7 Code 9
8 Output 18
9 References 20
10 Conclusion 20
4
Part-A: Proposal
Rationale
The aim of this project is to produce a mobile application to help academic staff
with taking and managing notes. The application is to be used by persons from all
different areas of academia: students, researchers, supervisors and others. The
application allows them to take, manage and share notes, amongst other pieces of
functionality that aim to make the note-taking process automated and easier for
users to manage all aspects of note-taking
Literature Review:
I am going to study from various resources for writing this report. I have
studied some topics of android from our syllabus books. And read
some articles from the internet. Read some books about mobile
application development. Gathered some information from latest
update on technology. Studied from YouTube videos and watched
some project implementations. And took advice from our subject
teacher regarding project
5
Proposed Methodology:
Throughout this journey, an academic is typically faced with multiple, consecutive
meetings, day after day, week after week. Having little to no time for lunch breaks
let alone bathroom breaks. This journey is typically documented through the use of
physical notes with the never failing pen and paper, categorized into specific
sections, within specific folders, stored on specific shelves within the office. We
wanted to make this process easy. So we decided to make a notes app in android
which will make our task of making notes much easier.
6
Part-B: Report
Abstract
Notes app is used for making short text notes, update when you need
them, and trash when you are done. It can be used for various functions as
you can add your to-do list in this app, some important notes for future
reference, etc. The app is very useful in some cases like when you want
quick access to the notes. Likewise, here let’s create an Android App to
learn how to create a simple Notes App. So in this article let’s build a Notes
App in which the user can add any data, remove any data as well as edit
any data. A sample GIF is given below to get an idea about what we are
going to do in this article. Note that we are going to implement this project
using the Java language. Note-taking is one of the more common and ever-
present learning activities that form an important part of all students’ daily
lives. The potential of using technology to enhance note-taking activities
has recently come under the spotlight.
7
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
8
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
</menu>
9
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".NoteEditorActivity">
</androidx.constraintlayout.widget.ConstraintLayout>
editor.putString(“name”, “Elena”);
10
editor.putInt(“idName”, 12);
editor.apply();
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.widget.EditText;
import androidx.appcompat.app.AppCompatActivity;
import java.util.HashSet;
11
public class NoteEditorActivity extends AppCompatActivity {
int noteId;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_note_editor);
MainActivity.notes.add("");
noteId = MainActivity.notes.size() - 1;
MainActivity.arrayAdapter.notifyDataSetChanged();
editText.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence charSequence,
int i, int i1, int i2) {
12
// add your code here
}
@Override
public void onTextChanged(CharSequence charSequence, int
i, int i1, int i2) {
MainActivity.notes.set(noteId,
String.valueOf(charSequence));
MainActivity.arrayAdapter.notifyDataSetChanged();
// Creating Object of SharedPreferences to store data in
the phone
SharedPreferences sharedPreferences =
getApplicationContext().getSharedPreferences("com.example.notes",
Context.MODE_PRIVATE);
HashSet<String> set = new
HashSet(MainActivity.notes);
sharedPreferences.edit().putStringSet("notes",
set).apply();
}
@Override
public void afterTextChanged(Editable editable) {
// add your code here
}
});
}
}
13
app. Below is the complete code for the MainActivity.java file.
Comments are added inside the code to understand the code in more
detail.
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;
import java.util.ArrayList;
import java.util.HashSet;
@Override
public boolean onCreateOptionsMenu(Menu menu) {
14
MenuInflater menuInflater = getMenuInflater();
menuInflater.inflate(R.menu.add_note_menu, menu);
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(@NonNull MenuItem item) {
super.onOptionsItemSelected(item);
if (item.getItemId() == R.id.add_note) {
return false;
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
15
SharedPreferences sharedPreferences =
getApplicationContext().getSharedPreferences("com.example.notes",
Context.MODE_PRIVATE);
HashSet<String> set = (HashSet<String>)
sharedPreferences.getStringSet("notes", null);
if (set == null) {
notes.add("Example note");
} else {
notes = new ArrayList(set);
}
listView.setAdapter(arrayAdapter);
listView.setOnItemClickListener(new
AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View
view, int i, long l) {
16
}
});
listView.setOnItemLongClickListener(new
AdapterView.OnItemLongClickListener() {
@Override
public boolean onItemLongClick(AdapterView<?>
adapterView, View view, int i, long l) {
notes.remove(itemToDelete);
arrayAdapter.notifyDataSetChanged();
SharedPreferences
sharedPreferences =
getApplicationContext().getSharedPreferences("com.example.notes",
Context.MODE_PRIVATE);
HashSet<String> set = new
HashSet(MainActivity.notes);
sharedPreferences.edit().putStringSet("notes", set).apply();
17
}
}).setNegativeButton("No", null).show();
return true;
}
});
}
}
18
19
References:
https://www.geeksforgeeks.org/
https://www.youtube.com/
MAD Reference books
Online Articles about the subject
Android Documentation: https://developer.android.com/docs
Conclusion:
Notes app Improves focus and attention to detail. Promotes active
learning. Boosts comprehension and retention. Teaches prioritizing
skills. Extends attention span. Improves organization skills. Increases
creativity. This app helps students in many ways. It helps us to
memorize important things. By making this app we also gained some
developing experience in android.
We will add some features in upcoming updates and implement a
scientific design for note making. This whole project helped us to gain
important skills for developing such android applications.
20