0% found this document useful (0 votes)
8 views26 pages

MAD PROJECT PFD X N, BXV K, HJXMNBC J, HXM

The document presents the 'SUPER TEXT EDITOR', a Python-based application designed to enhance user productivity by utilizing AI and speech recognition features. It includes a voice command assistant, a search function to filter information, and voice-to-text capabilities to streamline the writing process. The application aims to reduce distractions from the internet, allowing users to focus on their work and improve their creativity.

Uploaded by

lihofe4607
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
8 views26 pages

MAD PROJECT PFD X N, BXV K, HJXMNBC J, HXM

The document presents the 'SUPER TEXT EDITOR', a Python-based application designed to enhance user productivity by utilizing AI and speech recognition features. It includes a voice command assistant, a search function to filter information, and voice-to-text capabilities to streamline the writing process. The application aims to reduce distractions from the internet, allowing users to focus on their work and improve their creativity.

Uploaded by

lihofe4607
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 26

ABSTRACT

Due to the widespread use of the internet, lots of information has


become available to us. Most of the information is unnecessary, as
people use more and more internet distraction and wastage of time
kills the person's creativity and productivity as one has to go through
lots of websites, ads, newsfeed as a person opens his web browser.
"SUPER TEXT EDITOR" helps you to enhance your productivity and
preserve your creativity. It has a "SEARCH APP" which filters the
information and brings it right to you without needing you to go to
the internet, it has embedded Virtual Assistant(AI) which uses Google
Speech API, it helps you with your tasks just with your voice, it also
has Voice-to-Text which allows you to write your thoughts as they
are, making your thoughts more clear, saving you time and
preserving your creativity and it also avoids spelling mistakes while
you speak to it as it is also made with Google Speech API. The Text-
to-Speech function helps you to revisit your document, without even
looking at it, so you can which words fit the best. This project is
developed in pure Python to provide the user with productivity,
reliability, availability, functionality, and compatibility. All these make
Python the best language for this project.

1
Introduction of project
This application is developed based on Python. This application is designed to help the
user to enhance his/her productivity, it provides a supportive environment in which the
user can produce his/her best work. It uses AI and Speech recognition to assist the user
with his/her work. Genos is a friendly assistant which will assist the user with his tasks,
the user only needs to give command through a microphone, it also has the Voice-To-
Text feature to reduce the effort needed for typing where the user need only say and it
will type everything. It has a search feature which brings the information right to the
user, without closing the app, it will reduce the drudgery of searching a piece of
information on the internet, going through a lot of websites, and getting distracted and
unproductive. This application will reduce the distraction of work because of the
internet and allow the user to go deep into his work and produce valuable results.

Motivation
Because of the internet lots of information has become available to us. Most of the
information is unnecessary, as people use more and more internet distraction and wastage
of time kills the person's creativity and productivity as one has to go through lots of
websites, ads, newsfeed as a person opens his web browser, so we wanted to create a app
that would help the users to make the most of their time and information available, what
the other text editors have failed to do.

 Objectives of Project
The Super Text Editor is a software that will use Speech
Recognition to type as you speak, AI to bring you the
information you need, from opening websites to getting news
feed, getting weather forecast and playing music for you all on
the same place on your voice command one app gives it all to
optimize your performance and saving your time and effort

2
LITERATURE SURVEY

 Problem Definition
In the age of automation where things can be done with minimum human
assistance, to make a document, speech, to make notes we still need to do a
lot of effort and when we need to find a piece of information regarding our
subject we are overwhelmed with the amount of information present online
and the adds notifications doesn’t make things any easier for us, stealing the
attention and making us less productive.
We are proposing a system that will use Speech Recognition to type as you
speak, AI to bring you the information you need, from opening websites to
getting news feed, getting weather forecast and playing music for you all on
the same place on your voice command one app gives it all

3
Hardware and Software Requirement

Software Requirements
 OPERATING SYSTEM: Windows 10
 SDK Version: 3.7.4
 IDE: Android Studio
 Notepad ++ sometimes
 Its Front End is developed using XML

Hardware Requirements
 Intel Core i3  Min 4Gb RAM
 This system is built on Intel core i5-8250u CPU, having Processor
Base Frequency of 1.60 GHz and Max Turbo Frequency of 3.40GHz.
 1TB Hard Disk Capacity

4
Future Scope

1) We can apply machine learning to make Genos learn from you.


2) Genos can be made more interactive and user friendly.
3) Auto correct can make it even more productive. 5) Features like
bullets and page formatting can make users work more meaningful.

Conclusion
By implementing this application, the users could produce more
valuable work in comparatively less amount of time this application
provides the value of time through the results. The main purpose of
this application is to make the user more efficient at work. The
proposed system is based on AI and Speech Recognition. The basic
aim of the system is to make the user more productive without
letting the user lose focus. It also makes the user more creative by
letting the user bring his/her thoughts to his/her notice by using
Voice-Type, so that the user can become more valuable in his/her
field.

Reference
www.stackoverflow.com
www.youtube.com
www.python.org

5
IMPLEMENTATION

Manifest File
<?xml version=”1.0” encoding=”utf-8”?>

<manifest xmlns: android=http://schemas.android.com/apk/res/android

Package=”com.ixidev.simplenotepad ”>

<application

android:allowBackup=”true”

android:icons=”@mipmap/ic_launcher”

android:label=”2string/app_name”

android:roundIcon=”@mipmap/ic_launcher_round”

android:asupportsRtl=”true”

android:theme=”@style/AppTheme”

<activity

android:name=”.MainActivity”

android:label=”@string/app_name”

android:theme=”@style/AppTheme.NoActionBar”>

<intent_filter>

<action android:name=”android.intent.action.MAIN”/>

<category

Android:name=”android.intent.category.LAUNCHER”/>

</intent_filter>

</activity>

<activity

android:name=”.EditNoteActivity”

android:parentActivityName=”>MainActivity”/>

</application>

</manifest>

6
Main activity
JAVA package com.ixidev.simplenotepad;

import android.app.TaskStackBuilder;

import android.content.Context;

import android.content.DialogInterface;

import android.content.Intent;

import android.content.SharedPreferences;

import android.os.Bundle;

import android.view.ActionMode;

import android.view.Menu;

import android.view.MenuItem;

import android.view.View;

import android.widget.CompoundButton;

import android.widget.Toast;

import androidx.appcompat.app.AlertDialog;

import androidx.appcompat.app.AppCompatActivity;

import androidx.appcompat.widget.Toolbar;

import androidx.recyclerview.widget.ItemTouchHelper;

import androidx.recyclerview.widget.LinearLayoutManager;

import androidx.recyclerview.widget.RecyclerView;

import com.google.android.material.floatingactionbutton.FloatingActionButton;

import com.ixidev.simplenotepad.adapters.NotesAdapter;

import com.ixidev.simplenotepad.callbacks.MainActionModeCallback;

import com.ixidev.simplenotepad.callbacks.NoteEventListener;

import com.ixidev.simplenotepad.db.NotesDB;

import com.ixidev.simplenotepad.db.NotesDao;

import com.ixidev.simplenotepad.model.Note;

import com.ixidev.simplenotepad.utils.NoteUtils;

import com.mikepenz.materialdrawer.AccountHeader;

import com.mikepenz.materialdrawer.AccountHeaderBuilder;

import com.mikepenz.materialdrawer.Drawer;

7
import com.mikepenz.materialdrawer.DrawerBuilder;

import com.mikepenz.materialdrawer.interfaces.OnCheckedChangeListener;

import com.mikepenz.materialdrawer.model.PrimaryDrawerItem;

import com.mikepenz.materialdrawer.model.ProfileDrawerItem;

import com.mikepenz.materialdrawer.model.SwitchDrawerItem;

import com.mikepenz.materialdrawer.model.interfaces.IDrawerItem;

import java.util.ArrayList;

import java.util.List;

import static

com.ixidev.simplenotepad.EditNoteActivity.NOTE_EXTRA_Key;

public class MainActivity extends AppCompatActivity implements

NoteEventListener, Drawer.OnDrawerItemClickListener {

private static final String TAG = "MainActivity";

private RecyclerView recyclerView;

private ArrayList notes;

private NotesAdapter adapter;

private NotesDao dao;

private MainActionModeCallback actionModeCallback;

private int chackedCount = 0;

private FloatingActionButton fab;

private SharedPreferences settings;

public static final String THEME_Key = "app_theme";

public static final String APP_PREFERENCES="notepad_settings";

private int theme;

@Override

protected void onCreate(Bundle savedInstanceState) {

settings = getSharedPreferences(APP_PREFERENCES, Context.MODE_PRIVATE);

theme = settings.getInt(THEME_Key, R.style.AppTheme);

setTheme(theme);

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

8
Toolbar toolbar = findViewById(R.id.toolbar);

setSupportActionBar(toolbar);

setupNavigation(savedInstanceState, toolbar);

recyclerView = findViewById(R.id.notes_list);

recyclerView.setLayoutManager(new LinearLayoutManager(this));

fab = (FloatingActionButton) findViewById(R.id.fab);

fab.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View view) {

onAddNewNote(); } });

dao = NotesDB.getInstance(this).notesDao();

private void setupNavigation(Bundle savedInstanceState, Toolbar toolbar) {

List iDrawerItems = new ArrayList<>(); fix error : removed on materialdrawer 7.0.0

List<IDrawerItem> iDrawerItems = new ArrayList<>();

iDrawerItems.add(new
PrimaryDrawerItem().withName("Home").withIcon(R.drawable.ic_home_black _24dp));
iDrawerItems.add(new

PrimaryDrawerItem().withName("Notes").withIcon(R.drawable.ic_note_blac k_24dp));

// sticky DrawItems ; footer menu items

// List stockyItems = new ArrayList<>(); removed on materialdrawer 7.0.0

List<IDrawerItem> stockyItems = new ArrayList<>();

SwitchDrawerItem switchDrawerItem = new SwitchDrawerItem()

.withName("Dark Theme") .withChecked(theme ==


R.style.AppTheme_Dark) .withIcon(R.drawable.ic_dark_theme)

.withOnCheckedChangeListener(new OnCheckedChangeListener() {

@Override

public void onCheckedChanged(IDrawerItem

drawerItem, CompoundButton buttonView, boolean isChecked) {

// TODO: 02/10/2018 change to darck theme and

save it to settings

if (isChecked) {

9
settings.edit().putInt(THEME_Key,

R.style.AppTheme_Dark).apply();

} else {

settings.edit().putInt(THEME_Key, R.style.AppTheme).apply();

MainActivity.this.recreate();

TaskStackBuilder.create(MainActivity.this) .

addNextIntent(new

Intent(MainActivity.this, MainActivity.class))

.addNextIntent(getIntent())

.startActivities();

} });

stockyItems.add(new

PrimaryDrawerItem().withName("Settings").withIcon(R.drawable.ic_settin gs_black_24dp));

stockyItems.add(switchDrawerItem);

AccountHeader header = new

AccountHeaderBuilder().withActivity(this) .

addProfiles(new ProfileDrawerItem()

.withEmail("[email protected]")

.withName("Mangesh Thorat")

.withIcon(R.mipmap.ic_launcher_round))

.withSavedInstance(savedInstanceState) .withHeaderBackground(R.drawable.ic_launcher_backgrou
nd) .withSelectionListEnabledForSingleProfile(false)

.build();

new DrawerBuilder()

.withActivity(this)

.withToolbar(toolbar)

.withSavedInstance(savedInstanceState)

.withDrawerItems(iDrawerItems)

withTranslucentNavigationBar(true)

.withStickyDrawerItems(stockyItems)

10
withAccountHeader(header)

withOnDrawerItemClickListener(this) .

build();

private void loadNotes() {

this.notes = new ArrayList<>();

List list = dao.getNotes();

listener to adapter this.adapter.setListener(this);

this.recyclerView.setAdapter(adapter);

L1(list); showEmptyView();

swipeToDeleteHelper.attachToRecyclerView(recyclerView);

* when no notes show msg in main_layout

*/

private void showEmptyView()

{ if (notes.size() == 0) {

this.recyclerView.setVisibility(View.GONE);
findViewById(R.id.empty_notes_view).setVisibility(View.VISIBLE);

} else {

this.recyclerView.setVisibility(View.VISIBLE);
findViewById(R.id.empty_notes_view).setVisibility(View.GONE);

/**

* Start EditNoteActivity.class for Create New Note

*/ private void onAddNewNote() {

startActivity(new Intent(this, EditNoteActivity.class)); }

@Override

public boolean onCreateOptionsMenu(Menu menu) {

11
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_main, menu);

return true;

@Override

public boolean onOptionsItemSelected(MenuItem item) {

// Handle action bar item clicks here. The action bar will

// automatically handle clicks on the Home/Up button, so long

// as you specify a parent activity in AndroidManifest.xml.

int id = item.getItemId();

//noinspection SimplifiableIfStatement

if (id == R.id.action_settings) {

return true;

return super.onOptionsItemSelected(item);

@Override

protected void onResume() {

super.onResume();

loadNotes();

@Override

public void onNoteClick(Note note) {

// TODO: 22/07/2018 note clicked : edit note

Intent edit = new Intent(this, EditNoteActivity.class);

edit.putExtra(NOTE_EXTRA_Key, note.getId());

startActivity(edit);

@Override

public void onNoteLongClick(Note note) {

// TODO: 22/07/2018 note long clicked : delete , share ..

12
note.setChecked(true);

chackedCount = 1;

adapter.setMultiCheckMode(true);

// set new listener to adapter intend off MainActivity

listener that we have implement

adapter.setListener(new NoteEventListener() {

@Override

public void onNoteClick(Note note) {

note.setChecked(!note.isChecked()); // inverse

selected

if (note.isChecked())

chackedCount++;

else chackedCount--;

if (chackedCount > 1) {

actionModeCallback.changeShareItemVisible(false);

} else

actionModeCallback.changeShareItemVisible(true);

if (chackedCount == 0) {

// finish multi select mode wen checked count =0

actionModeCallback.getAction().finish();

notes.size());

}}

actionModeCallback.setCount(chackedCount + "/" +

adapter.notifyDataSetChanged();

});

@Override

public void onNoteLongClick(Note note) {

} actionModeCallback = new MainActionModeCallback() {

@Override

public boolean onActionItemClicked(ActionMode actionMode,

MenuItem menuItem) {

13
if (menuItem.getItemId() == R.id.action_delete_notes)

onDeleteMultiNotes();

else if (menuItem.getItemId() ==

R.id.action_share_note)

onShareNote();

actionMode.finish();

return false;

};

// start action mode

startActionMode(actionModeCallback);

// hide fab button

fab.setVisibility(View.GONE);

actionModeCallback.setCount(chackedCount + "/" +

notes.size());

private void onShareNote() {

// TODO: 22/07/2018 we need share just one Note not multi

Note note = adapter.getCheckedNotes().get(0);

// TODO: 22/07/2018 do your logic here to share note ; on

social or something else

Intent share = new Intent(Intent.ACTION_SEND);

share.setType("text/plain");

String notetext = note.getNoteText() + "\n\n Create on : " +


NoteUtils.dateFromLong(note.getNoteDate()) + "\n By

:" +

getString(R.string.app_name);

share.putExtra(Intent.EXTRA_TEXT, notetext);

startActivity(share);

private void onDeleteMultiNotes() {

14
// TODO: 22/07/2018 delete multi notes

List chackedNotes = adapter.getCheckedNotes();

if (chackedNotes.size() != 0) {

for (Note note : chackedNotes) {

dao.deleteNote(note);

// refresh Notes

loadNotes();

Toast.makeText(this, chackedNotes.size() + " Note(s)

Delete successfully !", Toast.LENGTH_SHORT).show();

} else Toast.makeText(this, "No Note(s) selected",

Toast.LENGTH_SHORT).show();

//adapter.setMultiCheckMode(false);

@Override

public void onActionModeFinished(ActionMode mode) {

super.onActionModeFinished(mode);

adapter.setMultiCheckMode(false);

// uncheck the notes adapter.setListener(this);

// set back the old listener fab.setVisibility(View.VISIBLE);

// swipe to right or to left te delete

private ItemTouchHelper swipeToDeleteHelper = new ItemTouchHelper(

new ItemTouchHelper.SimpleCallback(0, ItemTouchHelper.LEFT

| ItemTouchHelper.RIGHT) {

@Override

public boolean onMove(RecyclerView recyclerView,

RecyclerView.ViewHolder viewHolder, RecyclerView.ViewHolder target) {

return false;

@Override

15
public void onSwiped(RecyclerView.ViewHolder

viewHolder, int direction) {

// TODO: 28/09/2018 delete note when swipe

if (notes != null) {

// get swiped note

Note swipedNote =

notes.get(viewHolder.getAdapterPosition());

if (swipedNote != null) {

swipeToDelete(swipedNote, viewHolder);

});

private void swipeToDelete(final Note swipedNote, final

RecyclerView.ViewHolder viewHolder) {

new AlertDialog.Builder(MainActivity.this)

.setMessage("Delete Note?")

.setPositiveButton("Delete", new

DialogInterface.OnClickListener() {

@Override

public void onClick(DialogInterface

dialogInterface, int i) {

// TODO: 28/09/2018 delete note

dao.deleteNote(swipedNote);

notes.remove(swipedNote);

adapter.notifyItemRemoved(viewHolder.getAdapterPosition());

showEmptyView();

})

.setNegativeButton("Cancel", new

DialogInterface.OnClickListener() {

16
@Override

public void onClick(DialogInterface

dialogInterface, int i) {

// TODO: 28/09/2018 Undo swipe and restore

swipedNote

recyclerView.getAdapter().notifyItemChanged(viewHolder.getAdapterPosit ion());

})

.setCancelable(false) .

create().show(); }

@Override

public boolean onItemClick(View view, int position, IDrawerItem

drawerItem) {

Toast.makeText(this, "" + position,

Toast.LENGTH_SHORT).show();

return false; }

17
Output

18
19
20
21
A
Micro Project Report
On

Subject :- Mobile Application Development


Semester : VI

22
Maharashtra State Board Of Technical Education ,Mumbai

Gokhale Education Society’s Sir Dr. M. S. Gosavi


Polytechnic Institute Nashik Road ,Nashik.

Department Of Computer Engineering


Academic Year : 2022 – 2023

Course Name: CO6I AcademicYear :

2022-20 23

Subject Name: Mobile Application


Development
Semester: SIXTH

Mobile Application Development


(MAD: 22519 )
MICROPROJECT:

23
Advanced Notepad App

Sr. No Roll No (Sem- Full Name of Enrollment No


VI) Student

01 13 Gholap Sakshi 2018000056


Somnath
02 14 Kurhade Isha 2018000057
Sanjay
03 33 Kashmire Priyal 2018000083
Gorakh
04 46 Patange 2118000121
Manasi
Dnyneshwar

Guided By :- Prof.G.P.Puranik Mam

Gokhale Education Society’s


Sir Dr. M. S. Gosavi Polytechnic
Institute Nashik Road ,Nashik.

CERTIFICATE

This is to certified that the project report entitled “Advanced


Notepad App” completed by sixth Semester of Computer
24
Engineering Diploma Programmer Engineering & Technology
at (1800) Sir Dr. M. S. Gosavi Polytechnic Institute ,Nashik
road Nashik-422101 has completed the micro-project
satisfactorily Web based application with MAD (MAD:22517)
in in the academic year 2022-23 as prescribed in the MSBTE
curriculum of I Scheme
Name of students Enrollment No. Seat No.
Sakshi SomnathGholap 2018000056
Isha Sanjay Kurhade 2018000057
Priyal Gorakh Kashmire 2018000083
Manasi Dnyneshwar 2018000121
Patange

Date= / /2023

Project Guide Head of Department Principal

Index

Sr.no Title
01 Abstract
02 Introduction of Project
03 Motivation
04 Objectives of Project
05 Literature Survey
25
06 Hardware and Software
Requirement
07 Implementation
08 Output
09 Future Scope
10 Conclusion
11 References

26

You might also like