[go: up one dir, main page]

0% found this document useful (0 votes)
17 views18 pages

Sr. No. Page No. Annexure I - Micro Project Proposal 1-2

Uploaded by

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

Sr. No. Page No. Annexure I - Micro Project Proposal 1-2

Uploaded by

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

Sr.

Contents Page No.


No.
Annexure I– Micro Project Proposal 1-2

1.Aims/Benefits of the Micro-Project 1

2. Course Outcome Addressed 1

1 3.Proposed Methodology 1

4. Action Plan 2

5. Resources Required 2

6. Name of Team Members with Roll No.’s 3

Annexure II – Micro Project Report 4-22

1.Rationale 4

2.Aims/Benefits of the Micro-Project 4

3.Course Outcome Achieved 4

4. Literature Review 4

2 5.Actual Methodology Followed 5

5.1 Flow chart 5

5.2 Source code 5-15

6.Actual Resources Used 15


7.Outputs of Micro-Projects 16-17
8. Skill developed / Learning out of this Micro-
17
Project
9. Applications of this Micro-Project 17

1
Annexure-I

Micro-Project proposal
Wallpaper Application

1. Aim of the Micro-Project:


Wallpaper has been used since before the 18th century to cover walls and act as a
decorative element for interior spaces. It has notably emerged during the Renaissance period
as an affordable alternative for tapestries, which were used by the rich classes back then to
cover the stone walls, keep away the heat, and give color to their rooms. The earlier
wallpaper featured scenes, rather than patterns, and its biggest two manufacturers were
England and France.

2. Course Outcome Addressed:


a) Interpreted features of an Andriod operating system.
b) Configure Android environment and development tools.
c) Develop rich users Interfaces by using layouts and controls.
d) Use User Interface components for android application development.
e) Create Android application using database.
f) Publish Android applications.

3. Proposed Methodology
This is a prospective, longitudinal, exploratory, open study with a 6-month follow-up
period. Data will be recorded longitudinally over multiple weeks under natural conditions.
The factors affecting the quality of life and anxiety of parents of children with ASD and the
children's functional symptoms will be examined, and the feasibility of using a smartphone
application designed for parents of ASD patients will be assessed. Primary objective: Explore
the evolution of a child's behaviour over 6 months and the (psychological and social) effects
of these changes on the family. Secondary objective: Assess the feasibility of our application
by examining the filling rate and application usage by parents for 6 months. 100 families
containing 1 child diagnosed with ASD will be included. At baseline, sociodemographic,
psychiatric and medical data will be recorded.

2
4. Action Plan
Sr. Planned Planned Name of Responsible Team
Details of Activity
No. Start date Finish date Members
1 Search the topic 02/02/2023 07/02/2023
2 Search the information 09/02/2023 28/02/2023
3 Algorithm developing 02/03/2023 09/03/2023
4 Flowchart developing 14/03/2023 02/02/2023
Shewalkar Rohini Suryakant
5 Function making 21/03/2023 23/03/2023
6 Coding developing 27/03/2023 06/04/2023
7 Debugging 11/04/2023 13/04/2023
8 Finalizing Project with 17/04/2023 20/04/2023
its report

5.Resources Required:
Sr.
Name of resource / material Specification Quantity Remarks
No.
1 Computer WINDOWS 7,2GB RAM, 1
2 Operating System WINDOWS 7 1

3 Assembler Android Studio 1

4 Browser Chrome 1

6.Names of Team Members with Roll No.’s:


Sr.
No. Enrollment No. Name of Team Member Roll No.
1. 2010950111 Shewalkar Rohini Suryakant 31

Mr. Kazi A.S.M


Name and Signature of the Teacher

3
Annexure – II

Micro-Project proposal
Wallpaper Application

1.Rationale:
Any project proposal would require a project background or rationale to explain the donor
agency how the problematic situation has existed. This can be a very important part of the
proposal because here you try to convince the donor agency the necessity of putting its
money in there. But project background or project rationale cannot be the same if you are
proposing different projects. However, the basic situation of your project area can be the
same. For example, the healthcare situation, educational background or unemployment rate
which can be generally referenced in the project rationale can remain the same. So it is
helpful to develop a text paragraph on the basic background situation of the project area.

2.Aim of the Micro-Project:


Wallpaper has been used since before the 18th century to cover walls and act as a
decorative element for interior spaces. It has notably emerged during the Renaissance period
as an affordable alternative for tapestries, which were used by the rich classes back then to
cover the stone walls, keep away the heat, and give color to their rooms. The earlier
wallpaper featured scenes, rather than patterns, and its biggest two manufacturers were
England and France.

3.Course Outcomes Achieved:


a) Interpreted features of an Andriod operating system.
b) Configure Android environment and development tools.
c) Develop rich users Interfaces by using layouts and controls.
d) Use User Interface components for android application development.
e) Create Android application using database.
f) Publish Android applications.

4.Literature Review:
A wallpaper or background (also known as a desktop wallpaper, desktop background,
desktop picture or desktop image on computers) is a digital image (photo, drawing etc.)
used as a decorative background of a graphical user interface on the screen of a
computer, smartphone or other electronic device. On a computer, wallpapers are
generally used on the desktop, while on a mobile phone they serve as the background
for the home screen.

4
5.Actual Methodology Followed:
The wallpaper Android app we will be creating will contain a vertical scrolling Recycler
View. This Recycler View will contain a list of cards for the each wallpaper. The wallpaper
card will show an image of the wallpaper and a title underneath.When the wallpaper card
image is selected, it will set the wallpaper on the device to the image selected. Take a look at
a screenshot of wallpaper Android App we will be creating below.

5.1 Flowchart:

5.2 Source code:

• AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.wallpaperapplication">
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission
android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.SET_WALLPAPER"/>
<uses-permission android:name="android.permission.SET_WALLPAPER_HINTS"/>
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"

5
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/Theme.WallpaperApplication">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".ViewWallpaper"/>
</application>
</manifest>
• activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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"
android:background="#EDEDED"
android:orientation="vertical"
tools:context=".MainActivity">
<com.google.android.material.appbar.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<androidx.appcompat.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="@android:color/white"
app:contentInsetStartWithNavigation="0dp"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
app:theme="@style/Toolbar.Light">
</androidx.appcompat.widget.Toolbar>
</com.google.android.material.appbar.AppBarLayout>
<androidx.swiperefreshlayout.widget.SwipeRefreshLayout
android:id="@+id/swipe"
android:layout_width="match_parent"
android:layout_height="wrap_content"
tools:ignore="MissingClass">
<ListView
android:id="@+id/list"

6
android:layout_width="match_parent"
android:layout_height="match_parent"
android:divider="@null"
android:listSelector="@android:color/transparent"
android:scrollbars="none"
tools:listitem="@layout/list_items" />
</androidx.swiperefreshlayout.widget.SwipeRefreshLayout>
• listitem.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
<androidx.cardview.widget.CardView
android:layout_width="match_parent"
android:layout_height="220dp"
android:layout_margin="10dp"
app:cardCornerRadius="10dp"
app:cardBackgroundColor="@color/colorPrimaryDark"
app:cardElevation="2dp">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:id="@+id/listImage"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:contentDescription="@string/app_name"
android:scaleType="centerCrop"
android:src="@drawable/no_image" />
<View
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#32000000" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:layout_marginBottom="10dp"
android:orientation="horizontal"
app:layout_constraintBottom_toBottomOf="parent">
<TextView
android:id="@+id/title"

7
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:gravity="bottom"
android:padding="5dp"
android:text="@string/title"
android:fontFamily="@font/poppinsmedium"
android:textColor="@color/white"
android:textSize="20sp" />
<View
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_weight="1" />
<ImageView
android:layout_width="45dp"
android:layout_height="45dp"
android:background="#85272727"
android:padding="10dp"
android:layout_margin="10dp"
android:contentDescription="@string/app_name"
android:src="@drawable/ic_hd" />
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.cardview.widget.CardView>
</LinearLayout>
• activity_view_wallpaper.xml
<?xml version="1.0" encoding="utf-8"?>
<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"
android:orientation="vertical"
android:rotationX="-360"
tools:context=".ViewWallpaper">
<ImageView
android:id="@+id/imageFull"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:contentDescription="@string/app_name"
android:scaleType="centerCrop"
android:src="@drawable/no_image" />
<ImageView

8
android:id="@+id/downloadImage"
android:layout_width="45dp"
android:layout_height="45dp"
android:layout_marginEnd="30dp"
android:layout_marginBottom="30dp"
android:background="#85272727"
android:contentDescription="@string/app_name"
android:padding="10dp"
android:src="@drawable/ic_download"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="30dp"
android:layout_marginBottom="30dp"
android:orientation="vertical"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent">
<Button
android:id="@+id/setLockScreen"
android:layout_width="187dp"
android:layout_height="78dp"
android:layout_margin="5dp"
android:background="#85272727"
android:padding="10dp"
android:text="@string/lock_screen"
android:textColor="@color/white"
android:textSize="13sp" />

• MainActivity.java
package com.example.wallpaperapplication;
import androidx.appcompat.app.AppCompatActivity;
import android.app.VoiceInteractor;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ListView;
import android.widget.Toast;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import java.util.ArrayList;

9
import java.util.List;
public class MainActivity extends AppCompatActivity {
ListView listView;
List<DataHandler> dataHandlerList;
SwipeRefreshLayout swipeRefreshLayout;
WallpaperAdapter wallpaperAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
listView = findViewById(R.id.list);
dataHandlerList = new ArrayList<>();
swipeRefreshLayout = findViewById(R.id.swipe);
loadData("first");
loadData();
swipeRefreshLayout.setOnRefreshListener(new
SwipeRefreshLayout.OnRefreshListener(){
@Override
public void onRefresh(){
loadData("Refresh");
}});
listView.setOnItemClickListener(new AdapterView.OnItemClickListener(){
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id){
String title,image;
title=dataHandlerList.get(position).getTitle();
image=dataHandlerList.get(position).getImage();
Intent intent=new Intent(getApplicationContext(),ViewWallpaper.class);
intent putExtra(name:"title",title);
intent putExtra(name:"image",image);
startActivity(intent);
}
});}
private void loadData(String type) {
swipeRefreshLayout.setRefreshing(true);
RequestQueue queue = Volly.newRequestQueue(context this);
StringReuest stringReuest = new StringRequest(Request.Method.GET,
url:"https://cewallpaper.herokuapp.com/apis/",
new Response, Listener < String > () {
@Override
public void OnResponse (String Response){
swipeRefreshLayout.setRefreshing(false);
parseJSON(response,type);
}

10
},new Response.Errorlistener() {
@Override
public void onErrorResponse(vollyError error) {
Toast.makeText(getApplicationContext(),error.getMessage(),Toast.LENGTH_LONG).show(
;
}
}
;
queue.add(stringReuest);
}
private <type> void parseJSON(.String type) {
parseJSON();
}
private <type> void parseJSON(String res.String type){
String title,tumbnail,image;
if (!type.euals("Refresh")) {
} else {
dataHandlerList.clear();
wallpaperAdapter.notifyDataSetChanged();
}
try {
JSONArray jsonArray=new JSONArray(res);
for (int i=0;i<JSONArray.length();i++){
JSONObject jsonObject=jsonArray.getJSONObject(i);
title=jsonObject.get("title").toString();
thumbnail=jsonObject.get("thumbnail").toString();
image=jsonObject.get("image").toString();
dataHandlerList.add(new DataHandler(title,thumbnail,image));
}
wallpaperAdapter=new
WallpaperAdapter(getApplicationContext(),R.Layout.list_items,dataHandlerList);
listView.setAdapter(wallpaperAdapter);
} catch (JSONException e) {
e.printStackTrace();
}
}
}
• ViewWallpaper.java
package com.example.wallpaperapplication;
import android.Manifest;
import android.app.WallpaperManager;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.drawable.BitmapDrawable;

11
import android.view.WindowManager;
import android.webkit.PermissionRequest;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.Toast;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOError;
import java.io.IOException;
import java.lang.annotation.Target;
import javax.sql.DataSource;
public class ViewWallpaper extends AppCompatActivity {
String title,image,imageFilename;
DisplayMetrics displayMetrics;
BitmapDrawable bitmapDrawable;
WallpaperManager wallpaperManager;
ImageView imageViewFull,imageViewDownload;
Button buttonLockScreen,getButtonHomeScreen;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_view_wallpaper);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
title=getIntent().getStringExtra(name:"title");
image=getIntent().getStringExtra(name:"image");
imageViewDownload=findViewById(R.id.downloadImage);
buttonLockScreen=findViewById(R.id.setLockScreen);
buttonHomeScreen=findViewById(R.id.setHomeScreen);
Glide.with(activity:this).load(image).centerCrop()
.listener(new RequestListener<Drawable>(){
@Override
public boolean onLoadFailed (@Nullable GlideException e, Object model,
Target<Drawable> target,boolean){
return false;
}
@Override
public boolean onResourceReady(Drawable resource,Object
model,Target<Drawable> target, DataSource) {
buttonLockScreen.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){

12
setWallpaper("Lock");
}
} );
buttonHomeScreen.setOnClickListener(new View.OnClickListener(){
@Override
public void Onclick(View v){
setWallpaper("Home");
}
});
imageViewDownload.setOnClickListener(new View.OnClickListener(){
@Override
public void OnClick(View v){
Dexter.withContext(getApplicationContext())
.withPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE)
.withListener(new PermissionListener() {
@Override
public void
onPermissionGranted(PermissionGrantedResponse permissionGrantedResponse) {
downloadFromImageView();
}
@Override
public void onPermissionDenied(PermissionDeniedResponse permissionDeniedResponse)
{Toast.makeText(getApplicationContext(),text:"Need Permission to download
image",Toast.LENGTH_SHORT).show();
}
@Override
public void
onPermissionRationaleShouldBeShown(PermissionRequest permissionRequest,
PermissionToken permissionToken) {
}
}).check();}} );
return false;})
.error(R.drawable.no_image).placeholder(R.drawable.ic_loading)
.into(imageViewFull);}
private void downloadFromImageView(){
imageFilename=image.substring(image.lastIndexOf(str."/")+1);
FileOutputStream fileOutputStream;
File file=new
File(Environment.getExternalStorageDirectory(Environment.DIRECTORY_DCIM),child:"C
odesEasy-Wallpapers");
if (!file.exists()&& !file.mkdir()){
Toast.makeText(getApplicationContext(),text:"Failed",Toast.LENGTH_SHORT).show();
}
File fileName = new File(pathname:file.getAbsolutePath() + "/" + imageFilename);

13
int[] size = getScreenSize();
try {
fileOutputStream = new FileOutputStream(fileName);
bitmapDrawable = (BitmapDrawable) imageViewDownload.getDrawable();
bitmap = bitmapDrawable.getBitmap();
bitmap = Bitmap.createScaledBitmap(bitmap, size[0], size[1], filter:false);
bitmap.compress(Bitmap.CompressFormat.JPEG, quality:100, fileOutputStream);
Toast.makeText(getApplicationContext(), text:
"Saved to Gallerry\n" + fileName, Toast.LENGTH_SHORT).show();
fileOutputStream.flush();
fileOutputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
refreshGallery(file);
}
}
private void refreshGallery(File file){
Intent intent=new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
intent.setData(Uri.fromFile(file));
sendBroadcast(intent);
}
private void setWallpaper(String type){
int[] size=getScreenSize();
wallpaperManager=wallpaperManager.getInstance(getApplicationContext());
bitmapDrawable=(BitmapDrawable) imageViewFull.getDrawable();
bitmap = bitmapDrawable.getBitmap();
bitmap= Bitmap.createScaledBitmap(bitmap,size[0],size[1], filter:false);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
if (type.equals("Lock")) {
wallpaperManager.setBitmap(bitmap, visibleCropHint:null, allowBackup:
true, wallpaperManager.FLAG_LOCK);
Toast.makeText(getApplicationContext(),text:"LockScreen Wallpaper
set",Toast.LENGTH_SHORT).show();
} else {
wallpaperManager.setBitmap(bitmap, visibleCropHint:null, allowBckup:
true, wallpaperManager.FLAG_SYSTEM);
Toast.makeText(getApplicationContext(),text:"HomeScreen Wallpaper
set",Toast.LENGTH_SHORT).show();
}
}
else{
wallpaperManager.setBitmap(bitmap);
Toast.makeText(getApplicationContext(),text:" Wallpaper

14
",Toast.LENGTH_SHORT).show();
}
wallpaperManager.suggestDesiredDimensions(size[0],size[1]);
}catch (Exception e){
e.printStackTrace();
}
}
private int[] getScreenSize() {
displayMetrics=new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
int[] size=new int[2];
size[0]=displayMetrics.widthPixels;
size[1]=displayMetrics.heightPixels;
return size;
}
}

6.Actual Resources Used


Sr.
Name of resource / material Specification Quantity Remarks
No.
1 Computer WINDOWS 7,2GB RAM, 1
160GB HDD
2 Operating System WINDOWS 7 1

3 Complier Android Studio 1

4 Browser Chrome 1

15
7.Output of the Micro-Project:

16
10. Skill developed / Learning out of the Micro-Project
The wallpaper Android app we will be creating will contain a vertical scrolling Recycler
View. This Recycler View will contain a list of cards for the each wallpaper. The wallpaper
card will show an image of the wallpaper and a title underneath. When the wallpaper card
image is selected, it will set the wallpaper on the device to the image selected.

11.Application
1.Abstruct
2.Muzie Live Wallpaper
3.Reddit
4.Vectorify da home
5.Sphaera
6.Walpy
7.WalP
8.Wallpapers by Google
9.Backdrops – Wallpapers
10.Forest Live Wallpaper

17
18

You might also like