Major Project Report
Major Project Report
Major Project Report
Submitted in the partial fulfillment of the requirement for the award of the degree of Bachelor of Technology In Computer Science Engineering
Submitted by: Ankit Aggarwal Mohit Bansal Saurabh Sharma 0461562707 0521562707 0291562707
Certificate
This is to certify that the dissertation/project report (Course code) entitled ANDROID TEXT EDITOR done by Ankit Aggarwal, Mohit Bansal and Saurabh Sharma is an authentic work carried out by him at NORTHERN INDIA ENGINEERING COLLEGE under my guidance. The matter embodied in this project work has not been submitted earlier for the award of any degree to the best of my knowledge and belief.
Acknowledgements
We are very grateful to my mentor Mr. Anshul Saini for providing me with his valuable support and time, for sharing his knowledge and guiding me throughout the project. I are also thankful to the Head Of Department (CS), Mr. Saurabh Gupta for allocating me such humble and enthusiastic mentor who were ready to help anytime.
Table of Contents
1.
Abstract
. 4
. 4
2. 3.
.. 5
4. 5. 6.
.. 13 Design and Implementation Constraints . 13 User Documentation External Interface Requirements Other Non-functional Requirements 13 ... 14 15 16
7.
Diagrams
.. 15
. 17
19 21 26 27 28
Abstract
Android Text Editor A text editor is a type of program used for editing plain text files. Text editors are often provided with operating systems or software development packages, and can be used to change configuration files and programming language source code. Typical features: String searching algorithm search string with a replacement string. Different methods are employed, Global(ly) Search And Replace, Conditional Search and Replace, Unconditional Search and Replace. Cut, copy, and paste most text editors provide methods to duplicate and move text within the file, or between files. Data transformation Reading or merging the contents of another text file into the file currently being edited. Some text editors provide a way to insert the output of a command issued to the operating system's shell. Ability to handle UTF-8 encoded text.
This project Android Text Editor is aimed at providing such facilities for a mobile platform, the Android OS. The application is designed to open, edit and save files of various types, viz. text files, C/C++, HTML, CSS or any other file based on the UTF-8 encoded text format.
Table of Figures
The various diagrams from UML which have been used by us to enhance our goal of describing our project are as follows: ER Diagram Use Case Diagram DFD
Introduction
1. Problem Statement We have been provided with a problem of developing a software which is compatible with ANDROID mobile phones through which the user can create and edit text files on the go. 2. Purpose The purpose of this document is to specify the requirements and preview some elements of the Android Text Editor. 3. Document Conventions In general this document prioritizes in writing the schema of the Android Text Editor development mechanism that takes hold in this project and then analyzing in detail the tools that are available in the Text editor. Therefore there are lots of abstractions to represent in a more convenient way the objects and their behavior on the system. Every requirement statement is assumed to have its own priority as to define in most appropriate way the system behavior. In addition there are various figures that represent the described system, where it is needed, and serve only for better understanding of the deployment. 4. Intended Audience and Reading Suggestions This document is intended for any individual user, developer, tester, project manager or documentation writer that needs to understand the basic system architecture and its specifications. Here are the potential uses for each one of the reader types: Developer: The developer who wants to read, change, modify or add new requirements into the existing program, must firstly consult this document and update the requirements with appropriate manner so as to not destroy the actual meaning of them and pass the information correctly to the next phases of the development process. User: The user of this program reviews the diagrams and the specifications presented in this document and determines if the software has all the suitable requirements and if the software developer has implemented all of them. Tester: The tester needs this document to validate that the initial requirements of this programs actually corresponds to the executable program correctly.
This document contains the necessary requirement and some aspects of the analysis of the requirements and is organized based on the IEEE Standard for Software Requirements Specification (IEEE 830-1993).
Overview
1. Introduction: Provide an overview of the application, describe the document structure and point the individual objectives. 2. Overall Description: Provide the specification of the system model, the classes model, the main constraints and the list any assumed factors that used within this document. 3. System Features: Provide the analysis of the requirements by feature. 4. External Interface Requirements: Provide the visualization of the program and the requirements that are related with hardware, software and networking. 5. Other Nonfunctional Requirements: Provide some other constraints that apply to factors such as performance, safety and security.
References
This citation is used as a model of reference: [IEEE STD 830-1998]
2. About Android OS
Android is a software stack for mobile devices that includes an operating system, middleware and key applications. Android's mobile operating system is based on a modified version of the Linux kernel. The Android open-source software stack consists of Java applications running on a Java-based, object-oriented application framework on top of Java core libraries running on a Dalvik virtual machine featuring JIT compilation. Libraries written in C include The surface manager, OpenCore media framework, SQLite RDBMS, OpenGL ES 2.0 3D graphics API, WebKit layout engine, SGL graphics engine, SSL, and Bionic libc.
The Android operating system consists of 12 million lines of code including 3 million lines of XML, 2.8 million lines of C, 2.1 million lines of Java, and 1.75 million lines of C++. Google Inc. purchased the initial developer of the software, Android Inc., in 2005. Google and other members of the Open Handset Alliance collaborated on Android's development and release. The Android Open Source Project (AOSP) is tasked with the maintenance and further
development of Android. The Android operating system is the world's best-selling Smartphone platform. Android has a large community of developers writing applications ("apps") that extend the functionality of the devices. There are currently over 150,000 apps available for Android. Android Market is the online app store run by Google, though apps can also be downloaded from third party sites. Developers write primarily in the Java language, controlling the device via Google-developed Java libraries. The unveiling of the Android distribution on 5 November 2007 was announced with the founding of the Open Handset Alliance, a consortium of eighty hardware, software, and telecom companies devoted to advancing open standards for mobile devices. Google released most of the Android code under the Apache License, a free software and open source license.
On the November 5, 2007 the Open Handset Alliance unveiled itself, a consortium of several companies which include: Broadcom Corporation Nvidia Google Qualcomm HTC Samsung Electronics Intel Sprint Nextel LG T-Mobile Marvell Technology Group Texas Instruments Motorola The goal of the Open Handset Alliance is to develop open standards for mobile devices. On the same day, the Open Handset Alliance also unveiled their first product, Android, a mobile device platform built on the Linux kernel version 2.6. On December 9, 2008, 14 new members joined, including ARM Holdings, Atheros Communications, Asustek Computer Inc, Garmin Ltd, PacketVideo, Softbank, Sony Ericsson, Toshiba Corp, and Vodafone Group Plc.
Licensing
With the exception of brief update periods, Android has been available under a free software/open source license since 21 October 2008. Google published the entire source code (including network and telephony stacks) under an Apache License. Google also keeps the reviewed issues list publicly open for anyone to see and comment.
Even though the software is open-source, device manufacturers cannot use Google's Android trademark unless Google certifies that the device complies with their Compatibility Definition Document (CDD). Devices must also meet this definition to be eligible to license Google's closed source applications, including Android Market.
Version history
Android has seen a number of updates since its original release. These updates to the base operating system typically focus on fixing bugs as well as adding new features. Generally each new version of the Android operating system is developed under a code name based on a dessert item. The most recent released versions of Android are: 2.0/2.1 (Eclair), which revamped the user interface and introduced HTML5 and Exchange ActiveSync 2.5 support 2.2 (Froyo), which introduced speed improvements with JIT optimization and the Chrome V8 JavaScript engine, and added Wi-Fi hotspot tethering and Adobe Flash support 2.3/2.4 (Gingerbread), which refined the user interface, improved the soft keyboard and copy/paste features, and added support for Near Field Communication 3.0 (Honeycomb), a tablet-oriented release which supports larger screen devices and introduces many new user interface features, and supports multicore processors and hardware acceleration for graphics.
The Honeycomb SDK has been released and the first device featuring this version, the Motorola Xoom tablet, went on sale in February 2011. Google has chosen to withhold the source code for the time being, which calls into question the "open-ness" of this Android release. Google claims this is done to eliminate manufacturers putting a tablet-specific OS on phones, much like the previous autumn, where tablet manufacturers put a non-tablet optimized phone OS (Android 2.x) on their Tablets resulting in bad user experiences. The upcoming version of Android is: Ice Cream, a combination of Gingerbread and Honeycomb into a "cohesive whole," with a possible release in mid-2011
Architecture
System architecture of Android can be understood with this diagram:
10
Android Market
Android Market is the online software store developed by Google for Android devices. An application program ("app") called "Market" is preinstalled on most Android devices and allows users to browse and download apps published by third-party developers, hosted on Android Market. As of December 2010 there were about 200,000 games, applications and widgets available on the Android Market, with an estimated 2.5 billion total downloads. Only devices that comply with Google's compatibility requirements are allowed to preinstall Google's closed-source Android Market app and access the Market. The Market filters the list of applications presented by the Market app to those that are compatible with the user's device, and developers may restrict their applications to particular carriers or countries for business reasons. Google announced the Android Market on 28 August 2008, and it was available to users on 22 October 2008. Support for paid applications was available from 13 February 2009 for US and UK developers, with additional support from 29 countries on 30 September 2010. In February 2011, the Android Market was made fully accessible on the web, allowing users to browse and
11
pick up applications using their PCs, send them to their mobile phone and make comments on them. All this functionality was previously accessible only from mobile phone devices. Users can install apps directly using APK files, or from alternative app markets. Unlike Apple, Google allows independent app stores to operate for Android.
3. Product Perspective
There are various reasons why should anyone use this program. First its simple application where you can create, edit and store multiple text documents without much overhead for heavier applications. Second, it is an easy and reliable application that is very unique in its category bring robust and quick in execution alongwith multiple formatting options. And third due to its open source nature you can modify it according to your needs. The major components of the system are: Home screen comprises of following components: 1) Filename Bar 2) Workspace for entering text Options Menu shows the following components: 1) New File 2) Save 3) Save As 4) Open 5) Recent With additional preferences for: Email Text Search Text Email As Attachment Options o Line Wrap o Auto Correct o Sentence Case o Auto Link o Clear Search Suggestions o Default Directory o Clear Recent File List o Font o Font Size o Font Color o Background Color o Hide Filename Bar
12
4. Product Features
The major features this application contains are the following: Saving a file in your choice of extension (e.g. .txt, .rtf, .doc) Opening a file of any extension Search for text string in the text file Email the text as it is, or as an attachment Auto correct option History for previously opened files
6. Operating Environment
This program will operate in the following operating environment: [Android (ver. 1.6-2.3)]
8. User Documentation
A user documentation is provided along with to enable the user understand the way the application works.
13
Hardware Interfaces
There must be minimum storage space available to store the text files created (Phone internal memory, SD card etc.).
Software Interfaces
For the application to work the mobile can be any Android OS based phone.
14
Diagrams
Use Case Diagram
15
ER Diagram
16
0-LEVEL DFD
17
1-LEVEL DFD
18
System Features
Following are the major features provided by the application system:
19
20
Screenshots
Welcome screen
Menu
21
File Browser
22
23
Search Text
24
25
Constraints
GUI is only in English. No word processing capability No syntax highlighting
26
References
27
Appendix
Includes: Has the appropriate constraint in it Connects: Links this requirement with another Extends: Shows or cancels a constraint affect if the conditions are met.
28