Mad Report22

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 19

STORY APP 2021-22

INTRODUCTION
1.1 Overview of the project

Digital application designed to tell a narrative or story. Story app designed so that user
can have fun and at the same time can build up skills which will give a foundation for
starting to read.User can enter into the story app by clicking it. After entering into an
app
,the app displays plenty of stories along with the the writer of a story and each story has
its specific heading which is displayedto user.User can select the story and read the
story
.There are different kinds of a stories some include comedy,moral,Rags and
Ritches,Biopic stories.User can choose the story of his intrest and read the story and
read only one story at a time .After reading a story user can continue or exit from the
app.

1.2 Aim of the Project

 Main aim of Story app is to tell the stories with a characters and to
give meaningfull messages to the users.
 Story app is built to enhance the users communication skills

 Story app built to improve users social skills .

 Story app is built to foster the imagination of the users

 This app increases users cultural understanding and sharpen their memory.

Page | 1
STORY APP 2021-22

CHAPTER I

INSTALLING AND RUNNING APPLICATIONS


ON ANDROID STUDIO

System Requirements
The required tools to develop Android applications are open source and can be
downloaded from the Web. Following is the list of software's you will need before you
start your Android application programming.
 Java JDK5 or later version

 Java Runtime Environment (JRE) 6

 Android Studio

Setup Android Studio


Android Studio is the official IDE for android application development. It works based
on IntelliJ IDEA, You can download the latest version of android studio from Android
Studio 2.2 Download, If you are new to installing Android Studio on windows, you will
find a file, which is named as android-studio-bundle-143.3101438-windows.exe.So just
download and run on windows machine according to android studio wizard guideline.

If you are installing Android Studio on Mac or Linux, You can download the latest
version from Android Studio Mac Download, or Android Studio Linux Download,
check the instructions provided along with the downloaded file for Mac OS and Linux.
This tutorial will consider that you are going to setup your environment on Windows
machine having Windows
8.1 operating system.

Page | 2
STORY APP 2021-22

Installation
So let's launch Android Studio.exe, Make sure before launching Android Studio, Our
Machine should require installed Java JDK.
Once you launched Android Studio, its time to mention JDK7 path or later version in
android studio installer.
Need to check the components, which are required to create applications, below the
image has selected Android Studio, Android SDK, Android Virtual Machine and
performance(Intel chip).
Need to specify the location of local machine path for Android studio and Android
SDK, below the image has taken default location of windows 8.1 x64 bit architecture.

Need to specify the ram space for Android emulator by default it would take 512MB

of local machine RAM.


At final stage, it would extract SDK packages into our local machine, it would take
a whiletime to finish the task and would take 2626MB of Hard disk space.
At final stage, it would extract SDK packages into our local machine, it would take
a whiletime to finish the task and would take 2626MB of Hard disk space.
You can start your application development by calling start a new android studio
project. in a new installation frame should ask Application name, package information
and location of the project.
After entered application name, it going to be called select the form factors your
application runs on, here need to specify Minimum SDK, in our tutorial, I have declared
as API23: Android6.0(Mashmallow).
The next level of installation should contain selecting the activity to mobile, it specifies
the default layout for Applications. At the final stage it going to be open development
tool to write the application code.

Page | 3
STORY APP 2021-22

Create Android Virtual Device


To test your Android applications, you will need a virtual Android device. So before we
start writing our code, let us create an Android virtual device. Launch Android AVD
Manager Clicking AVD _Manager icon as shown below.
After Click on a virtual device icon, it going to be shown by default virtual devices
which arepresent on your SDK, or else need to create a virtual device by clicking Create
new Virtual device button.
If your AVD is created successfully it means your environment is ready for Android
applicationdevelopment. If you like, you can close this window using top-right cross
button. Better you restart your machine and once you are done with this last step, you
are ready to proceed foryour first Android example but before that we will see few
more important concepts related to Android Application Development.

Page | 4
STORY APP 2021-22

CHAPTER 2

REQUIREMENT SPECIFICATION
A software requirement definition is an abstract description of the services which the
system should provide, and the constraints under which the system must operate. It
should only specify the external behavior of the system.

2.1 Functional requirements


In software engineering, a functional requirement defines a function of a software
system or its component. A function is described as a set of inputs, the behavior, and
outputs (see also software).

Functional requirements may be calculations, technical details, data manipulation and


processing and other specific functionality that define what a system is supposed to
accomplish.Behavioral requirements describing all the cases where the system uses the
functional requirements are captured in use cases.

The various methods used in this project are as follows :-


 Emulator :

To perform and display the functionality of the project.


 Android studio :

To create, design, test, debug and run the android project.


 Mouse :

To navigate through the emulator.


 Keyboard :

To give inputs to the project.

Page | 5
STORY APP 2021-22

2.2 Non-functional requirements:


These are constraints on the services or functions offered by the system. They include
timing constraints, constraints on the development process and standards. Non-
functional requirements often apply to the system as a whole.

Non-Functional Requirements are as follows:-


2.2.1 Dependability:
The dependability of a computer system is a property of the system that equates to its
trustworthiness. Trustworthiness essentially means the degree of user confidence that
the system will operate as they expect and that the system will not 'fail' in normal use.

2.2.2 Availability:
The ability of the system to deliver services when requested. There is no error in the
program while executing the program.

2.2.3 Reliability:
The ability of the system to deliver services as specified. The program is compatible
with all types of operating system without any failure.

2.2.4 Safety:
The ability of the system to operate without catastrophic failure. This program is user
friendly and it will never effects the system.

2.2.5 Security:
The ability of the system to protect itself against accidental or deliberate intrusion.

2.3 Details of the software:


Here, the coding, creating, designing, testing, debugging and running of our project is
done in Android Studio.

Page | 6
STORY APP 2021-22

2.3.1 Android Studio:


Android Studio is the official integrated development environment (IDE)
for Google's Android operating system, built on JetBrains' IntelliJ IDEA software and
designed specifically for Android development.

It is available for download on Windows, macOS and Linux based operating systems or
as a subscription-based service in 2020. It is a replacement for the Eclipse Android
Development Tools (E-ADT) as the primary IDE for native Android application
development.

Android Studio supports all the same programming languages of lntelliJ (and CLion)
e.g. Java, C++, and more with extensions, such as Go; and Android Studio 3.0 or later
supports Kotlin and "all Java 7 language features and a subset of Java 8 language
features that vary by platform version." External projects backport some Java 9
features.

While IntelliJ states that Android Studio supports all released Java versions, and Java
12, it's not clear to what level Android Studio supports Java versions up to Java 12 (the
documentation mentions partial Java 8 support). At least some new language features
up to Java 12 are usable in Android.

Page | 7
STORY APP 2021-22

2.4 Software and Hardware requirements:


 OS:

 Microsoft 1P Windows 1P 7/8/10 (32- or 64-bit)


 The Android Emulator only supports 64-bit Windows.
 Mac fp OS X 1P IO.IO
 (Yosemite) or higher, up to I0.14 (macOS Mojave)
 GNOME or KDE desktop
 Tested on gLinux based on Debian (4.19.67-2rodete2).

 RAM:

 4 GB RAM minimum;
 8 GB RAM recommended.

 Free Digital Storage:

 2 GB of available digital storage minimum,


 4 GB Recommended (500 MB for IDE + 1.5 GB for Android SDK
and emulatorsystem image).

 Minimum required JDK version:

 Java Development Kit 8

 Minimum screen resolution:

 1280 X 800

Page | 8
STORY APP 2021-22

CHAPTER 4

IMPLEMENTATION
ADAPTER:

package com.xstudioo.taletale;
import android.content.Context;
import android.content.Intent;
import android.graphics.Color;
import android.graphics.drawable.GradientDrawable;
import androidx.annotation.NonNull;
import androidx.cardview.widget.CardView;
import androidx.recyclerview.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;

import java.util.Random;

public class Adapter extends


RecyclerView.Adapter<Adapter.ViewHolder> {

private LayoutInflater inflater;


private String[] sTitles;
private String[] sContent;

Adapter(Context context, String[] titles,String[]


contents){
this.inflater = LayoutInflater.from(context);
this.sTitles = titles;
this.sContent = contents;
}

@NonNull
@Override
public ViewHolder onCreateViewHolder(@NonNull ViewGroup
viewGroup, int i) {
View view =
inflater.inflate(R.layout.custom_view,viewGroup,false);
return new ViewHolder(view);
}

@Override
public void onBindViewHolder(@NonNull ViewHolder
viewHolder, int i) {String title = sTitles[i];
Dept. of CS&E GECH Page 9
STORY APP 2021-22

String content = sContent[i];


viewHolder.storyTitle.setText(title);
viewHolder.storyContent.setText(content);

viewHolder.number.setText(String.valueOf(title.charAt(0)));
GradientDrawable shape = new GradientDrawable();
shape.setShape(GradientDrawable.OVAL);

Random r = new Random();


int red = r.nextInt(255 - 0 + i);
int green = r.nextInt(255 - i + 1);
int blue = r.nextInt(255 - 0 + (i+1));
shape.setColor(Color.rgb(red,green,blue));
viewHolder.circle.setBackground(shape);
}

@Override
public int getItemCount() {
return sTitles.length;
}

public class ViewHolder extends RecyclerView.ViewHolder{

TextView storyTitle,storyContent,number;
CardView circle;

public ViewHolder(@NonNull View itemView) {


super(itemView);

itemView.setOnClickListener(new
View.OnClickListener() {
@Override
public void onClick(View v) {
Intent i = new
Intent(v.getContext(),Details.class);

i.putExtra("titleOfStory",sTitles[getAdapterPosition()]);

i.putExtra("contentOfStory",sContent[getAdapterPosition()]);
v.getContext().startActivity(i);
}
});
storyTitle =
itemView.findViewById(R.id.storyTitle);
storyContent =
itemView.findViewById(R.id.storyContent);
number =

Dept. of CS&E GECH Page 9


STORY APP 2021-22
itemView.findViewById(R.id.number);circle =
itemView.findViewById(R.id.circle)

}
}
}

DETAILS :

package com.xstudioo.taletale;
import android.content.Intent;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.text.method.ScrollingMovementMethod;
import android.widget.TextView;

public class Details extends AppCompatActivity {


TextView storyContent;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_details);
storyContent = findViewById(R.id.contentOfStory);
Intent i = getIntent();
String title = i.getStringExtra("titleOfStory");
String content = i.getStringExtra("contentOfStory");
getSupportActionBar().setTitle(title);
storyContent.setText(content);
storyContent.setMovementMethod(new
ScrollingMovementMethod()
getSupportActionBar().setDisplayHomeAsUpEnabled(true);

}
}

MAIN ACTIVITY :
package com.xstudioo.taletale;
import androidx.annotation.NonNull;
import androidx.appcompat.app.ActionBarDrawerToggle;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;

Dept. of CS&E GECH Page 9


STORY APP 2021-22
import android.view.MenuItem;
import android.widget.Toast;
import androidx.appcompat.widget.Toolbar;
import androidx.drawerlayout.widget.DrawerLayout;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import com.google.android.material.navigation.NavigationView;
public class MainActivity extends AppCompatActivity
implements NavigationView.OnNavigationItemSelectedListener {

RecyclerView recyclerView;
Adapter adapter;
Toolbar toolbar;
DrawerLayout drawer;
ActionBarDrawerToggle toggle;
NavigationView navigationView;

@Override
protected void onCreate(Bundle savedInstanceState)
{ super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

toolbar = findViewById(R.id.toolbar);
setSupportActionBar(toolbar);

navigationView = findViewById(R.id.navi_view);

navigationView.setNavigationItemSelectedListener(this);

drawer = findViewById(R.id.drawer);
toggle = new
ActionBarDrawerToggle(this,drawer,toolbar,R.string.open,R.str
ing.close);
drawer.addDrawerListener(toggle);
toggle.setDrawerIndicatorEnabled(true);
toggle.syncState();
String[] titles =
getResources().getStringArray(R.array.stories_title);
String[] contents =
getResources().getStringArray(R.array.story_content);

recyclerView = findViewById(R.id.storiesListsView);
recyclerView.setLayoutManager(new
LinearLayoutManager(this));
adapter = new Adapter(this,titles,contents);
recyclerView.setAdapter(adapter)

@Override

Dept. of CS&E GECH Page 11


STORY APP 2021-22
public boolean onNavigationItemSelected(@NonNull MenuItem
menuItem) {
if(menuItem.getItemId() == R.id.home){
Toast.makeText(this, "Home btn Clicked.",
Toast.LENGTH_SHORT).show();

}
return true;
}
}

SPLASH :

package com.xstudioo.taletale;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.view.View;
import android.widget.TextView;

public class Splash extends AppCompatActivity {


View mContentView;
Handler handler;

@Override
protected void onCreate(Bundle savedInstanceState)
{ super.onCreate(savedInstanceState);
setContentView(R.layout.activity_splash);
mContentView = findViewById(R.id.logoTitle);

mContentView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LOW_PR
OFILE
| View.SYSTEM_UI_FLAG_FULLSCREEN
| View.SYSTEM_UI_FLAG_LAYOUT_STABLE
| View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);

handler = new Handler();


handler.postDelayed(new Runnable() {
@Override
public void run() {
startActivity(new
Intent(getApplicationContext(),MainActivity.class));
}
},1000);

}
}

Dept. of CS&E GECH Page 12


STORY APP 2021-22

CHAPTER 5
SNAPSHOTS

5.1 HOME PAGE

Fig5.1 Home page

Home Page: Home page displays the several stories along with the story title to users.

Dept. of CS&E GECH Page 13


STORY APP 2021-22

5.2 STORY PAGE

Fig5.2 STORY PAGE

STORY PAGE: An Individal Story page contains the narrative unique


stories .

Dept. of CS&E GECH Page 14


STORY APP 2021-22

5.3 SETTINGS PAGE

Fig5.3 SETTINGS PAGE

Settings Page : Settings page contains the users account details and
manage account setting.

Dept. of CS&E GECH Page 15


STORY APP 2021-22

CHAPTER 6

CONCLUSION
The story app displays the series of stories where we have used array to display the
stories.Here the users can find their stories and read.Story reading for kids is an important
component of successful comprehension and a valuable life skill for all young children to
develop.This application can increase the inference in young children by encouraging them
to read and infer meaning.This application would be a great entertainment factor for kids.

Dept. of CS&E GECH Page 16


STORY APP 2021-22

REFERENCES

 https://github.com/bikashthapa01/story-app
 www.wikipedia.com
 www.Youtube.com

Dept. of CS&E GECH Page 17


STORY APP 2021-22

Dept. of CS&E GECH Page 18

You might also like