All MAD

You might also like

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

1 Design Login activity and implement control events : Use EditText, Checkbox and

Buttons
2 Implement Practical 1 using following layouts: Linear Layout Relative Layout
Table Layout
3 Create Activities & implement following Implicit intent Explicit Intent
StartActivityForResult
4 Implement activity Lifecycle and State Callbacks
5 Practical : Use an Options Menu
6 Create a Recycler View and list the details of student using following fields:
Name Address Photo (Image) Delete ( Button Operation)
7 Practical: Theme, Custom Styles, Drawables
8 Practical: Save user data in a database
9 Use an AsyncTask to access remote database (make a use of simple PhP Web service)
10 Use Retrofit to access remote database (make a use of simple PhP Web service)
11 Practical : Use Firebase to perform CRUID operation
12 Practical: BroadcastReceiver
13 Practical: Notifications
14 Practical: Get and Save User Preferences
15 Practical : make a use of android system
16 Using location service get the current location and display in TextView
17 Practical : Display the use of animations

Reference
Practical 9
https://abhiandroid.com/programming/asynctask
Practical 10
https://www.youtube.com/watch?
v=vxobWDi0qtU&list=PLPk568PPJYTOSCuuMYYZGvtuWIAFsnuya&index=47
Practical 11
https://www.simplifiedcoding.net/firebase-realtime-database-crud/
Practical 12
https://www.geeksforgeeks.org/broadcast-receiver-in-android-with-example/
https://www.tutorialspoint.com/android/android_broadcast_receivers.htm
Practical 13
https://www.tutorialspoint.com/android/android_notifications.htm
Practical 15
https://www.geeksforgeeks.org/how-to-convert-text-to-speech-in-android/
https://www.tutorialspoint.com/android/android_text_to_speech.htm
Practical 16
https://www.thecrazyprogrammer.com/2017/01/how-to-get-current-location-in-
android.html
Practical 17
https://www.geeksforgeeks.org/animation-in-android-with-example/
https://www.tutorialspoint.com/android/android_animations.htm

___________________________________________________PRACTICAL
1___________________________________________________
Layout: Linear Layout
Widget: TextView (Text: login)
TextView (Text: email_id)
EditText (Id: @+id/email, Hint: Email)
TextView (Text: password, Hint: Password)
EditText (Id: @+id/editTextTextPassword)
Button (Id: @+id/login_button)
MainActivity.java
package com.example.prac1;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button login_button = findViewById(R.id.login_button);
EditText email = findViewById(R.id.email);
EditText password = findViewById(R.id.editTextTextPassword);
login_button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent home_screen = new Intent(getApplicationContext(),
home_screen.class);
String email_txt = email.getText().toString();
String pass = password.getText().toString();
System.out.println(email_txt);
System.out.println(pass);
if (email_txt.equals("manvi@gmail.com") && pass.equals("manvi123"))
{
CharSequence text = "Login Successfully";
int duration = Toast.LENGTH_SHORT;
Toast toast = Toast.makeText(getApplicationContext(), text,
duration);
toast.show();
startActivity(home_screen);
}
else{
CharSequence text = "Invalid Credentials!!!";
int duration = Toast.LENGTH_SHORT;
Toast toast = Toast.makeText(getApplicationContext(), text,
duration);
toast.show();
}
}
});
}
}

___________________________________________________PRACTICAL
2___________________________________________________
1.Linear Layout:
Layout: Linear Layout
Widget: TextView (Text: login)
TextView (Text: email_id)
EditText (Id: @+id/email, Hint: Email)
TextView (Text: password, Hint: Password)
EditText (Id: @+id/editTextTextPassword)
Button (Id: @+id/login_button)
2.Relative Layout:
Layout: Relative Layout
Widget: TextView (Text: login)
TextView (Text: email_id)
EditText (Id: @+id/email, Hint: Email)
TextView (Text: password, Hint: Password)
EditText (Id: @+id/editTextTextPassword)
Button (Id: @+id/login_button)
3. Table Layout:
Layout: TableLayout
Widget: TextView (Text: login)
TextView (Text: email_id)
EditText (Id: @+id/email, Hint: Email)
TextView (Text: password, Hint: Password)
EditText (Id: @+id/editTextTextPassword)
Button (Id: @+id/login_button)

___________________________________________________PRACTICAL
3___________________________________________________
1. Implicit Intent:
Layout: Linear Layout
Widget: EditText (Id: @+id/url, Hint: Enter the URL that you like)
Button (Id: @+id/ button)
MainActivity.java
package com.example.prac3_1;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.widget.Button;
import android.widget.EditText;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
EditText url_field = findViewById(R.id.url);
Button go_button = findViewById(R.id.button);
go_button.setOnClickListener(view -> {
Intent intent = new Intent(Intent.ACTION_VIEW,
Uri.parse(url_field.getText()
.toString()));
startActivity(intent);
});
}
}

2.Explicit Intent:
Layout: Linear Layout
Widget: TextView (Text: This is First Page)
Button (Id: @+id/first_page)
MainActivity.java
package com.example.prac3_2;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.Button;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button first_button = findViewById(R.id.first_page);
first_button.setOnClickListener(view -> {
Intent intent = new Intent(getApplicationContext(), SecondPage.class);
startActivity(intent);
});
}
}
Layout: Linear Layout
Widget: TextView (Text: Second Page)
Button (Id: @+id/ second_page)
SecondPage.java
package com.example.prac3_2;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.Button;
public class SecondPage extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second_page);
Button second_button = findViewById(R.id.second_page);
second_button.setOnClickListener(view -> {
Intent intent = new Intent(getApplicationContext(),
MainActivity.class);
startActivity(intent);
});
}
}

3. StartActivityForResult:
Layout: Linear Layout
Widget: TextView (Text: Your Message)
Button (Id: @+id/ button1)
MainActivity.java
package com.example.prac3_3;
import androidx.activity.result.contract.ActivityResultContracts;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
TextView TextView1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button btn1 = findViewById(R.id.btn1);
TextView1= findViewById(R.id.textView1);
btn1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new
Intent(getApplicationContext(),MainActivity2.class);
startActivityForResult(intent,5);
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable
Intent
data) {
super.onActivityResult(requestCode, resultCode, data);
if(requestCode==5) {
String message=data.getStringExtra("MESSAGE");
TextView1.setText(message);
}
}
}
Layout: Linear Layout
Widget: EditText (Id: @+id/edittext, Hint: Enter Message)
Button (Id: @+id/ button)
MainActivity2.java
package com.example.prac3_3;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
public class MainActivity2 extends AppCompatActivity {
Button btn2;
EditText editText;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
btn2 = findViewById(R.id.btn2);
editText = findViewById(R.id.editText1);
btn2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String message=editText.getText().toString();
Intent intent=new Intent();
intent.putExtra("MESSAGE",message);
setResult(5,intent);
finish();//finishing activity
}
});
}
}

___________________________________________________PRACTICAL
4___________________________________________________
MainActivity.java
package com.example.prac4;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Log.d("","In the onCreate() event.");
}
@Override
protected void onStart() {
super.onStart();
Log.d("","In the onStart() event.");
}
@Override
protected void onRestart() {
super.onRestart();
Log.d("","In the onReStart() event.");
}
@Override
protected void onResume() {
super.onResume();
Log.d("","In the onResume() event.");
}
@Override
protected void onPause() {
super.onPause();
Log.d("","In the onPause() event.");
}
@Override
protected void onStop() {
super.onStop();
Log.d("","In the onStop() event.");
}
@Override
protected void onDestroy() {
super.onDestroy();
Log.d("","In the onDestroy() event.");
}
}

___________________________________________________PRACTICAL
5___________________________________________________
Items: Item (Id: @+id/ item1, Title: Menu1)
Item (Id: @+id/ item2, Title: Menu2)
Item (Id: @+id/ item3, Title: Menu3)
Submenu: Item (Id: @+id/ subitem1, Title: Sub Item 1)
Item (Id: @+id/ subitem2, Title: Sub Item 2)
MainActivity.java
package com.example.prac5;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu, menu);
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(@NonNull MenuItem item) {
int id = item.getItemId();
switch(id){
case R.id.item1:
Toast.makeText(this, "Menu1 Clicked", Toast.LENGTH_LONG).show();
return true;
case R.id.item2:
Toast.makeText(this, "Menu2 Clicked", Toast.LENGTH_LONG).show();
return true;
case R.id.item3:
Toast.makeText(this, "Menu3 Clicked", Toast.LENGTH_LONG).show();
return true;
case R.id.subitem1:
Toast.makeText(this, "Menu sub item1 Clicked", Toast.LENGTH_LONG)
.show();
return true;
case R.id.subitem2:
Toast.makeText(this, "Menu sub item2 Clicked", Toast.LENGTH_LONG)
.show();
return true;
}
return super.onOptionsItemSelected(item);
}
}

___________________________________________________PRACTICAL
6___________________________________________________
Layout: Constraint Layout
Widget: RecyclerView(id: @+id/recyclerView)

list_items.xml
Layout: Relative Layout
Widgets: ImageView(id: @+id/imageView)
TextView(id: @+id/textView1)
TextView(id: @+id/textView2)
FloatingActionButton(id: @+id/floatingActionButon)
dimens.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<dimen name="activity_horizontal_margin">16dp</dimen>
<dimen name="activity_vertical_margin">16dp</dimen>
<dimen name="ic_clear_margin">56dp</dimen>
</resources>
border.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android=http://schemas.android.com/apk/res/android
android:shape="rectangle">
<solid android:color="#FFFFFF" />
<stroke
android:width="1dp"
android:color="#CCCCCC" />
</shape>
MainActivity.java
package com.example.mad_p_6;
import android.os.Bundle;
import androidx.appcompat.app.AppCompatActivity;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ListData[] myListData = new ListData[] {
new ListData("Jack", "NYC",R.drawable.i1),
new ListData("Hadley", "Washington DC",R.drawable.i2),
new ListData("Dudley", "Cape Town",R.drawable.i3),
new ListData("Tom", "Athens",R.drawable.i4),
new ListData("Ferdinand", "Barcelona",R.drawable.i5),
};
RecyclerView recyclerView = (RecyclerView) findViewById(R.id.recyclerView);
ListAdapter adapter = new ListAdapter(myListData);
recyclerView.setHasFixedSize(true);
recyclerView.setLayoutManager(new LinearLayoutManager(this));
recyclerView.setAdapter(adapter);
}
}
ListData.java
package com.example.mad_p_6;
public class ListData{
private String name;
private int image;
private String address;
public ListData(String name, String address, int image) {
this.name = name;
this.image = image;
this.address = address;
}
public String getName() {
return "Name: "+name;
}
public void setName(String name) {
this.name = name;
}
public int getImage() {
return image;
}
public void setImage(int image) {
this.image = image;
}
public String getAddress() {
return "Address: "+address;
}
public void setAddress(String address) {
this.address = address;
}
}
ListAdapter.java
package com.example.mad_p_6;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.RelativeLayout;
import android.widget.TextView;
import android.widget.Toast;
import androidx.recyclerview.widget.RecyclerView;
import com.google.android.material.floatingactionbutton.FloatingActionButton;
public class ListAdapter extends RecyclerView.Adapter<ListAdapter.ViewHolder>{
private ListData[] listdata;
public ListAdapter(ListData[] listdata) {
this.listdata = listdata;
}
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
LayoutInflater layoutInflater = LayoutInflater.from(parent.getContext());
View listItem= layoutInflater.inflate(R.layout.list_items, parent, false);
ViewHolder viewHolder = new ViewHolder(listItem);
return viewHolder;
}
public void onBindViewHolder(ViewHolder holder, int position) {
final ListData myListData = listdata[position];
holder.textView1.setText(listdata[position].getName());
holder.textView2.setText(listdata[position].getAddress());
holder.imageView.setImageResource(listdata[position].getImage());
holder.floatingActionButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(view.getContext(),"Item cannot be deleted: "
+myListData.getName(),Toast.LENGTH_LONG).show();
}
});
}
public int getItemCount() {
return listdata.length;
}
public static class ViewHolder extends RecyclerView.ViewHolder {
public ImageView imageView;
public TextView textView1;
public TextView textView2;
public FloatingActionButton floatingActionButton;
public RelativeLayout relativeLayout;
public ViewHolder(View itemView) {
super(itemView);
this.imageView = (ImageView) itemView.findViewById(R.id.imageView);
this.textView1 = (TextView) itemView.findViewById(R.id.textView1);
this.textView2 = (TextView) itemView.findViewById(R.id.textView2);
this.floatingActionButton =
itemView.findViewById(R.id.floatingActionButton);
relativeLayout =
(RelativeLayout)itemView.findViewById(R.id.relativeLayout);
}
}
}

___________________________________________________PRACTICAL
7___________________________________________________
Layout: Constraint Layout
Widget: TextView(id: @+id/title)
Button(id: @+id/button)
styles.xml
<resources>
<style name="text_subheader_wh">
<item name="android:textColor">#000</item>
<item name="android:textSize">20dp</item>
<item name="android:shadowDy">1.0</item>
<item name="android:shadowRadius">1</item>
<item name="android:shadowColor">#000</item>
</style>
</resources>
grad.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="rectangle">
<gradient
android:startColor="@color/purple_200"
android:endColor="@color/teal_200"/>
</shape>
</item>
</selector>
buttonstyle.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="rectangle" >
<gradient android:angle="270"
android:centerColor="#1200FFFF"
android:endColor="#FF2003FF"
android:startColor="#F00FFFFF" />
<padding
android:bottom="8dp"
android:left="16dp"
android:right="16dp"
android:top="8dp" />
<corners android:radius="48dp" />
</shape>
</item>
</selector>
colors.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="purple_200">#FFBB86FC</color>
<color name="purple_500">#FF6200EE</color>
<color name="purple_700">#FF3700B3</color>
<color name="teal_200">#FF03DAC5</color>
<color name="teal_700">#FF018786</color>
<color name="black">#FF000000</color>
<color name="white">#FFFFFFFF</color>
</resources>
MainActivity.java
package com.example.mad_p_7;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}

___________________________________________________PRACTICAL
8___________________________________________________
Layout: Linear Layout
Widget: TextView(id: @+id/name, text: “Enter Name:”)
EditText(id: @+id/namevalue)
TextView(id: @+id/email, text: “Enter Sirname:”)
EditText(id: @+id/sirnamevalue)
Button(id: @+id/submitbutton, text: “Submit Data”)
MainActivity.java
package com.example.mad_p_8;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.widget.*;
import android.view.View;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button submitButton = findViewById(R.id.submitbutton);
submitButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(MainActivity.this,"Button
clicked",Toast.LENGTH_LONG);
Log.d("","Button clicked");
EditText name = findViewById(R.id.namevalue);
EditText sirname = findViewById(R.id.sirnamevalue);
DBHandler dbHandler = new DBHandler(MainActivity.this);
String nameValue = name.getText().toString();
String sirnameValue = sirname.getText().toString();
dbHandler.newEntry(nameValue,sirnameValue);
Toast.makeText(MainActivity.this,"Data successfully added",
Toast.LENGTH_LONG);
Log.d("","Inserted");
}
});
}
public void addEntry(View view){
}
}
DBHandler.java
package com.example.mad_p_8;
import android.database.sqlite.*;
import android.content.*;
import android.util.Log;
public class DBHandler extends SQLiteOpenHelper
{
public DBHandler(Context context){
super(context,"sample_database",null,1);
}
public void onCreate(SQLiteDatabase sqLiteDatabase) {
String createQuery = "CREATE TABLE sampleTable (name TEXT, sirname
TEXT)";
Log.d("","TABLE CREATED");
sqLiteDatabase.execSQL(createQuery);
}
@Override
public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) {
sqLiteDatabase.execSQL("DROP TABLE IF EXISTS sampleTable");
Log.d("","TABLE DELETED");
onCreate(sqLiteDatabase);
}
public void newEntry(String name, String sirname)
{
SQLiteDatabase sqLiteDatabase = this.getWritableDatabase();
ContentValues contentValues = new ContentValues();
contentValues.put("Name",name);
contentValues.put("Sirname",sirname);
sqLiteDatabase.insert("sampleTable",null,contentValues);
Log.d("","DATA INSERTED");
sqLiteDatabase.close();
}
}

___________________________________________________PRACTICAL
9___________________________________________________
Layout: Constraint Layout
Widget: Button(id: @+id/showImage, text: “Show Image”)
ImageView(id:@+id/namevalue, srcCompat= “@drawable/ic_launcher_background”)
MainActivity.java
package com.example.mad_p_9;
import androidx.appcompat.app.AppCompatActivity;
import android.app.ProgressDialog;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.AsyncTask;
import android.os.Bundle;
import android.util.Log;
import android.widget.Button;
import android.widget.ImageView;
import java.io.InputStream;
public class MainActivity extends AppCompatActivity {
private ImageView imageView;
String apiUrl =
"https://asset.swarovski.com/images/$size_1450/t_swa103/b_rgb:ffffff,c_scale,dpr_3.
0,f_
auto,w_500/5379499_png/star-wars---darth-vader-swarovski-5379499.png";
ProgressDialog progressDialog;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button viewButton = findViewById(R.id.showImage);
imageView = findViewById(R.id.image);
viewButton.setOnClickListener(view -> {
MyAsyncTask myAsyncTask = new MyAsyncTask();
myAsyncTask.execute(apiUrl);
});
}
public class MyAsyncTask extends AsyncTask<String, Void, Bitmap>{
@Override
protected void onPreExecute() {
super.onPreExecute();
progressDialog = new ProgressDialog(MainActivity.this);
progressDialog.setMessage("Please Wait!");
progressDialog.setCancelable(false);
progressDialog.show();
}
@Override
protected Bitmap doInBackground(String... URL) {
String imageURL = URL[0];
Bitmap bitmap = null;
try{
Log.d("","In Try");
InputStream inputStream = new java.net.URL(imageURL).openStream();
bitmap = BitmapFactory.decodeStream(inputStream);
}
catch (Exception e){ e.printStackTrace();
Log.d("","In Catch ");}
return bitmap;
}
@Override
protected void onPostExecute(Bitmap result){
super.onPostExecute(result);
imageView.setImageBitmap(result);
progressDialog.dismiss();
}
}
}

___________________________________________________PRACTICAL
10__________________________________________________
Layout: Linear Layout
Widget: ScrollView(id: @+id/scrollView2, text: “Show Image”)
TextView(id:@+id/textView)
MainActivity.java
package com.example.mad_p_10;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.widget.TextView;
import java.util.List;
import java.util.Objects;
import retrofit2.Call;
import retrofit2.Callback;
import retrofit2.Response;
import retrofit2.Retrofit;
import retrofit2.converter.gson.GsonConverterFactory;
public class MainActivity extends AppCompatActivity {
TextView textView;
String WEB_URL = "https://raw.githubusercontent.com/devp22/json/main/";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView = findViewById(R.id.textView);
Retrofit retrofit = newRetrofit.Builder().baseUrl(WEB_URL).
addConverterFactory(GsonConverterFactory.create()).build();
getJSONData getData = retrofit.create(getJSONData.class);
Call<List<Model>> call = getData.getModels();
call.enqueue(new Callback<List<Model>>() {
@Override
public void onResponse(@NonNull Call<List<Model>> call, @NonNull
Response<List<Model>> response) {
List<Model> data = response.body();
for(int i = 0; i < data.size(); i++){
textView.append(" Name: "+data.get(i).getName()+"\n Number of
songs:"
+data.get(i).getNumberOfSongs()+"\nPublisher: "+data.get(i)
.getPublisher()+"\n\n\n");
}
}
@Override
public void onFailure(@NonNull Call<List<Model>> call,
@NonNull Throwable t) {}
});
}
}
Model.java
package com.example.mad_p_10;
public class Model {
String NumberOfSongs, Name, Publisher;
public Model(String NumberOfSongs, String Publisher, String Name) {
this.Name = Name;
this.Publisher = Publisher;
this.NumberOfSongs = NumberOfSongs;
}
public String getNumberOfSongs() {
return NumberOfSongs;
}
public void setNumberOfSongs(String numberOfSongs){
this.NumberOfSongs = numberOfSongs;
}
public String getName() {
return Name;
}
public void setName(String name) {
this.Name = name;
}
public String getPublisher() {
return Publisher;
}
public void setPublisher(String publisher) {
this.Publisher = publisher;
}
}
getJSONData.java
package com.example.mad_p_10;
import java.util.List;
import retrofit2.Call;
import retrofit2.http.GET;
public interface getJSONData {
@GET("newplaylist.json")
Call<List<Model>> getModels();
}

___________________________________________________PRACTICAL
11__________________________________________________
1. Main Screen:
Layout: Linear Layout
Widget: Button(id: @+id/read, text: “Read”, onClick = readScreen)
Button(id: @+id/update, text: “Update”, onClick = updateScreen)
Button(id: @+id/insert, text: “Insert”, onClick = insertScreen)
Button(id: @+id/delete, text: “Delete”, onClick = deleteScreen)
MainActivity.java
package com.example.mad_p_11;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import com.google.firebase.database.DataSnapshot;
import com.google.firebase.database.DatabaseError;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
import com.google.firebase.database.ValueEventListener;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void readScreen(View view){
Intent i = new Intent(MainActivity.this, readData.class);
startActivity(i);
}
public void insertScreen(View view){
Intent i = new Intent(MainActivity.this, insertData.class);
startActivity(i);
}
public void deleteScreen(View view){
Intent i = new Intent(MainActivity.this, deleteData.class);
startActivity(i);
}
public void updateScreen(View view){
Intent i = new Intent(MainActivity.this, updateData.class);
startActivity(i);
}
}

2. Read Screen:
Layout: Linear Layout
Widget: EditText(id: @+id/id, hint: “Enter if of record)
Button(id: @+id/getData, text: “Get Data”, onClick = readValues)
TextView(id: @+id/DataName)
TextView(id: @+id/DataAddress)
TextView(id: @+id/DataEMail)
TextView(id: @+id/DataContact)
TextView(id: @+id/dataid, inputType = number)
readData.java
package com.example.mad_p_11;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;
import com.google.firebase.database.ChildEventListener;
import com.google.firebase.database.DataSnapshot;
import com.google.firebase.database.DatabaseError;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
import com.google.firebase.database.ValueEventListener;
import java.util.ArrayList;
public class readData extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setTitle("Read Screen");
setContentView(R.layout.activity_read_data);
}
public void readValues(View view){
EditText id = findViewById(R.id.id);
if(id.getText().toString()==null ){
Toast.makeText(this,"Please enter missing values",Toast.LENGTH_LONG
.show();
}
else{
String idValue = id.getText().toString();
Log.d("ID",idValue);
FirebaseDatabase firebaseDatabase = FirebaseDatabase.getInstance();
DatabaseReference databaseReference = firebaseDatabase.getReference
("Student");
databaseReference.child(idValue).addValueEventListener
(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot snapshot) {
Student student = snapshot.getValue(Student.class);
String name = student.getName();
String address = student.getAddress();
String email = student.getEMail();
String contact = student.getContact();
String idn = student.getID();
TextView nameval = findViewById(R.id.DataName);
TextView addval = findViewById(R.id.DataAddress);
TextView emailval = findViewById(R.id.DataEMail);
TextView cnoval = findViewById(R.id.DataContact);
TextView idval = findViewById(R.id.dataid);
nameval.setText("Name: "+name);
addval.setText("Address: "+address);
emailval.setText("E-Mail: "+email);
idval.setText("ID: "+idn);
cnoval.setText("Contact: "+contact);
Toast.makeText(readData.this,"Data fetched successfully",Toast.
LENGTH_LONG).show();
}
@Override
public void onCancelled(@NonNull DatabaseError error) {
Log.d("ERROR","Error");
}
});
}
}
}

3. Update Screen:
Layout: Linear Layout
Widget: EditText(id: @+id/updateid, hint: “Enter id of record”)
TextView(id: @+id/textView, text: “Choose the field you
want to update:”)
RadioGroup(id: @+id/radiogroup)
RadioButton(id: @+id/rb1, text: “name”)
RadioButton(id: @+id/rb2, text: “email”)
RadioButton(id: @+id/rb3, text: “address”)
RadioButton(id: @+id/rb4, text: “contact”)
EditText(id: @+id/updatevalue, hint: “Enter new value”)
Button(id: @+id/updatebutton, text: “Update Data”, onClick:
updateValue)
updateData.java
package com.example.mad_p_11;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.EditText;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.TextView;
import android.widget.Toast;
import com.google.firebase.database.DataSnapshot;
import com.google.firebase.database.DatabaseError;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
import com.google.firebase.database.ValueEventListener;
public class updateData extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setTitle("Update Screen");
setContentView(R.layout.activity_update_data);
}
public void updateValue(View view){
EditText updateid = findViewById(R.id.updateid);
EditText newvalue = findViewById(R.id.updatevalue);
String newData = newvalue.getText().toString();
RadioGroup rg = findViewById(R.id.radiogroup);
RadioButton rb = findViewById(rg.getCheckedRadioButtonId());
if(updateid.getText().toString()==null ){
Toast.makeText(this,"Please enter missing values",Toast.LENGTH_LONG)
.show();
}
else {
String idValue = updateid.getText().toString();
Log.d("ID",idValue);
FirebaseDatabase firebaseDatabase = FirebaseDatabase.getInstance();
DatabaseReference databaseReference = firebaseDatabase.getReference
("Student");
updateid.setText("");
newvalue.setText("");
rb.clearFocus();
databaseReference.child(idValue).child(rb.getText().toString())
.setValue(newData);
Toast.makeText(this,"Data updated
successfully",Toast.LENGTH_LONG).show();
}
}
}

4. Insert Screen:
Layout: Linear Layout
Widget: TextView(id: @+id/name, text: “Name:”)
EditText(id: @+id/namevalue)
TextView(id: @+id/address, text: “Address:”)
EditText(id: @+id/addressvalue)
TextView(id: @+id/email, text: “E-Mail:”)
EditText(id: @+id/emailvalue)
TextView(id: @+id/contact, text: “Contact:”)
EditText(id: @+id/contactvalue)
Button(id: @+id/submit, text: “Insert Data”, onClick: insertData)
insertData.java
public void insertData(View view){
EditText name = findViewById(R.id.namevalue);
EditText address = findViewById(R.id.addressvalue);
EditText email = findViewById(R.id.emailvalue);
EditText contact = findViewById(R.id.contactvalue);
if(name.getText().toString()==null ||address.getText().toString()==null ||
email.getText().toString()==null ||contact.getText().toString()==null ){
Toast.makeText(this,"Please enter missing
values",Toast.LENGTH_LONG).show();
}
else{
String nameValue = name.getText().toString();
String addressValue = address.getText().toString();
String emailValue = email.getText().toString();
String contactValue = contact.getText().toString();
FirebaseDatabase firebaseDatabase = FirebaseDatabase.getInstance();
DatabaseReference databaseReference =
firebaseDatabase.getReference("Student");
String key = databaseReference.push().getKey();
Student student = new Student(nameValue,addressValue,emailValue,
contactValue,key);
try {
databaseReference.push().setValue(student);
Toast.makeText(this,"Data inserted
successfully",Toast.LENGTH_LONG).show();
name.setText("");
address.setText("");
email.setText("");
contact.setText("");
}
catch (Error error){
Toast.makeText(this,error.toString(),Toast.LENGTH_LONG).show();
}
}
}

5. Delete Screen:
Layout: Linear Layout
Widget: EditText(id: @+id/deleteid, hint: “Enter id of record”)
Button(id: @+id/deletebutton, text: “Delete Data”, onClick:
deleteValue)
deleteData.java
package com.example.mad_p_11;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.EditText;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.Toast;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
public class deleteData extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setTitle("Delete Screen");
setContentView(R.layout.activity_delete_data);
}
public void deleteValue(View view){
EditText deleteid = findViewById(R.id.deleteid);
if(deleteid.getText().toString()==null ){
Toast.makeText(this,"Please enter missing values",Toast.LENGTH_LONG)
.show();
}
else{
String idValue = deleteid.getText().toString();
Log.d("ID",idValue);
FirebaseDatabase firebaseDatabase = FirebaseDatabase.getInstance();
DatabaseReference databaseReference = firebaseDatabase.getReference
("Student");
deleteid.setText("");
databaseReference.child(idValue).removeValue();
Toast.makeText(this,"Data delete
successfully",Toast.LENGTH_LONG).show();
}
}
}

___________________________________________________PRACTICAL
12__________________________________________________
Layout: Constraint Layout
Widget: TextView(text: “Hello World!”)
MainActivity.java
package com.example.mad_p_12;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.content.IntentFilter;
import android.os.Bundle;
import android.view.View;
public class MainActivity extends AppCompatActivity {
BatteryChange batteryChange = new BatteryChange();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
protected void onStart() {
super.onStart();
IntentFilter filter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED);
registerReceiver(batteryChange, filter);
}
@Override
protected void onStop() {
super.onStop();
unregisterReceiver(batteryChange);
}
}
BatteryChange.java
package com.example.mad_p_12;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.provider.Settings;
import android.widget.Toast;
public class BatteryChange extends BroadcastReceiver {
public void onReceive(Context context, Intent intent) {
if (true) {
Toast.makeText(context, "Battery changed", Toast.LENGTH_SHORT).show();
}
if(false) {
Toast.makeText(context, "Battery doesn't changed", Toast.LENGTH_SHORT)
.show();
}
}
}

___________________________________________________PRACTICAL
13__________________________________________________
Layout: Constraint Layout
Widget: Button(id:@+id/getNotify, text: “Get Notification”,
onClick: generateNotification)
MainActivity.java
package com.example.mad_p_13;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.app.NotificationCompat;
import androidx.core.app.NotificationManagerCompat;
import android.app.NotificationChannel;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import android.os.Build;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void generateNotification(View view) {
NotificationCompat.Builder builder = new NotificationCompat.Builder
(MainActivity.this, String.valueOf(32))
.setSmallIcon(R.drawable.messageicon)
.setContentTitle("Top priority")
.setContentText("Back off !!!")
.setPriority(NotificationCompat.PRIORITY_MAX);
NotificationManagerCompat notificationManager = NotificationManagerCompat
.from(MainActivity.this);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
String channelId = "Your_channel_id";
NotificationChannel channel = new NotificationChannel(
channelId,
"Channel human readable title",
NotificationManager.IMPORTANCE_HIGH);
notificationManager.createNotificationChannel(channel);
builder.setChannelId(channelId);
}
notificationManager.notify(0, builder.build());
Toast.makeText(MainActivity.this,"Notified",Toast.LENGTH_LONG).show();
Log.d("","Notified");
}
}

___________________________________________________PRACTICAL
14__________________________________________________
Layout: LinearLayout
Widgets: TextView (Text: Implementing SharedPreferences)
EditText (Id:@+id/firstname, Hint:firstname)
EditText (Id:@+id/lastname, Hint: lastname)
EditText (Id:@+id/email, Hint: Email)
EditText (Id:@+id/city, Hint: City)
Button (Id: @+id/ savebtn, Text: SAVE DATA, onClick: saveData)
Button (Id: @+id/ retrivebtn, Text: RETRIVE DATA, onClick:
retriveData)
Button (Id: @+id/ clearbtn, Text: CLEAR DATA, onClick: clearData)

MainActivity.java
package com.example.prac14;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Context;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.widget.EditText;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
SharedPreferences sharedPref;
boolean goodToGo = false; String fnameValue, lnameValue,emailValue, cityValue;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void SaveData(View view) {
boolean result = checkValues();
if (result == true) {
EditText fname = (EditText) findViewById(R.id.firstname);
EditText lname = (EditText) findViewById(R.id.lastname);
EditText email = (EditText) findViewById(R.id.email);
EditText city = (EditText) findViewById(R.id.city);
fnameValue = fname.getText().toString();
lnameValue = lname.getText().toString();
emailValue = email.getText().toString();
cityValue = city.getText().toString();
sharedPref = this.getSharedPreferences("dataPreference",
Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPref.edit();
editor.putString("first_name", fnameValue);
editor.putString("last_name", lnameValue);
editor.putString("email", emailValue);
editor.putString("city", cityValue);
editor.commit();
Toast.makeText(this, "Data Saved", Toast.LENGTH_LONG).show();
}
else {
Toast.makeText(this, "Please Enter Missing values first!",
Toast.LENGTH_LONG).show();
}
}
public void clearData(View view) {
boolean result = checkValues();
if(result==true) {
EditText fname = (EditText) findViewById(R.id.firstname);
EditText lname = (EditText) findViewById(R.id.lastname);
EditText email = (EditText) findViewById(R.id.email);
EditText city = (EditText) findViewById(R.id.city);
fname.setText("");
lname.setText("");
email.setText("");
city.setText("");
Toast.makeText(this, "Data Cleared", Toast.LENGTH_LONG).show();
}
else {
Toast.makeText(this,"Please Enter Missing values first!",
Toast.LENGTH_LONG).show();
}
}
public void getData(View view) {
boolean result = checkValues();
if(result==true) {
sharedPref = this.getSharedPreferences("dataPreference",
Context.MODE_PRIVATE);
EditText fname = (EditText) findViewById(R.id.firstname);
EditText lname = (EditText) findViewById(R.id.lastname);
EditText email = (EditText) findViewById(R.id.email);
EditText city = (EditText) findViewById(R.id.city);
fname.setText(sharedPref.getString("first_name", ""));
lname.setText(sharedPref.getString("last_name", ""));
email.setText(sharedPref.getString("email", ""));
city.setText(sharedPref.getString("city", ""));
Toast.makeText(this, "Data Retrieved", Toast.LENGTH_LONG).show();
}
else {
Toast.makeText(this,"Please Enter Missing values first!",
Toast.LENGTH_LONG).show();
}
}
public boolean checkValues() {
EditText fname = (EditText) findViewById(R.id.firstname);
EditText lname = (EditText) findViewById(R.id.lastname);
EditText email = (EditText) findViewById(R.id.email);
EditText city = (EditText) findViewById(R.id.city);
fnameValue = fname.getText().toString();
lnameValue = lname.getText().toString();
emailValue = email.getText().toString();
cityValue = city.getText().toString();
if(fnameValue.equals("")||lnameValue.equals("")||
emailValue.equals("")||
cityValue.equal s("")) {
goodToGo = false;
}
else {
goodToGo = true;
}
return goodToGo;
}
}

___________________________________________________PRACTICAL
15__________________________________________________
Layout: Constraint Layout
Widget: TextView(id:@+id/textView, text: “Enter your text:”)
EditText(id:@+id/editTextTextPersonName2)
Button(id:@+id/button, text: “Speak”)
MainActivity.java
package com.example.mad_p_15;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.speech.tts.TextToSpeech;
import android.view.View;
import android.widget.*;
import java.util.Locale;
public class MainActivity extends AppCompatActivity {
EditText Text;
Button btnText;
TextToSpeech textToSpeech;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Text = findViewById(R.id.editTextTextPersonName2);
btnText = findViewById(R.id.button);
textToSpeech = new TextToSpeech(getApplicationContext(),
new TextToSpeech.OnInitListener() {
@Override
public void onInit(int i) {
// if No error is found then only it will run
if(i!=TextToSpeech.ERROR){
// To Choose language of speech
textToSpeech.setLanguage(Locale.US);
}
}
});
// Adding OnClickListener
btnText.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
textToSpeech.speak(Text.getText().toString(),
TextToSpeech.QUEUE_FLUSH, null);
}
});
}
}

___________________________________________________PRACTICAL
16__________________________________________________
Layout: Relative Layout
Widget: TextView(id:@+id/textView)
MainActivity.java
package com.example.pr16;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.app.Activity;
import android.content.Context;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.widget.TextView;
import android.util.Log;
public class MainActivity extends Activity implements LocationListener{
protected LocationManager locationManager;
protected LocationListener locationListener;
protected Context context;
TextView txtLat;
String lat;
String provider;
protected String latitude,longitude;
protected boolean gps_enabled,network_enabled;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
txtLat = (TextView) findViewById(R.id.textview1);
locationManager = (LocationManager) getSystemService
(Context.LOCATION_SERVICE);
locationManager.requestLocationUpdates
(LocationManager.GPS_PROVIDER, 0, 0, this);
}
@Override
public void onLocationChanged(Location location) {
txtLat = (TextView) findViewById(R.id.textview1);
txtLat.setText("Latitude:" + location.getLatitude() + ", Longitude:"
+ location.getLongitude());
}
@Override
public void onProviderDisabled(String provider) {
Log.d("Latitude","disable");
}
@Override
public void onProviderEnabled(String provider) {
Log.d("Latitude","enable");
}
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
Log.d("Latitude","status");
}
}
AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="com.example.pr16"
android:versionCode="1"
android:versionName="1.0">
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="17" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<application
android:allowBackup="true"
android:dataExtractionRules="@xml/data_extraction_rules"
android:fullBackupContent="@xml/backup_rules"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/Theme.Pr16"
tools:targetApi="31">
<activity
android:name=".MainActivity"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>

___________________________________________________PRACTICAL
17__________________________________________________
Layout: Constraint Layout
Widget: ImageView(id:@+id/imageView, srcCompat: @drawable/mickey)
Button(id:@+id/button, text: “Animate”, onClick: zoomer)
animate.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<scale xmlns:android="http://schemas.android.com/apk/res/android"
android:fromXScale="0.5"
android:toXScale="2.0"
android:fromYScale="0.5"
android:toYScale="2.0"
android:duration="5000"
android:pivotX="50%"
android:pivotY="50%" >
</scale>
<scale xmlns:android="http://schemas.android.com/apk/res/android"
android:startOffset="5000"
android:fromXScale="2.0"
android:toXScale="0.5"
android:fromYScale="2.0"
android:toYScale="0.5"
android:duration="5000"
android:pivotX="50%"
android:pivotY="50%" >
</scale>
</set>
MainActivity.java
package com.example.mad_p_17;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.ImageView;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void zoomer(View view){
ImageView image = (ImageView)findViewById(R.id.imageView);
Animation animation = AnimationUtils.loadAnimation(getApplicationContext(),
R.anim.animate);
image.startAnimation(animation);
}
}

You might also like