Professional Documents
Culture Documents
Cion
MOBAPLAB
BSCS 3A Prof: Mr. Jefferson A. Costales
<item
android:id="@+id/action_search"
android:title="Search"
android:icon="@drawable/ic_baseline_search_24"
app:showAsAction="always"/>
<item android:id="@+id/action_settings"
android:title="Settings"/>
</menu>
activity_main (XML File)
<EditText
android:id="@+id/titleEt"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:background="@color/white"
android:hint="Title"
android:inputType="text"
android:padding="18dp"/>
<EditText
android:id="@+id/descriptionEt"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="2dp"
Christine Mae T. Cion
MOBAPLAB
BSCS 3A Prof: Mr. Jefferson A. Costales
android:background="@color/white"
android:gravity="start"
android:hint="Description"
android:inputType="textImeMultiLine|textCapSentences"
android:minHeight="250dp"
android:padding="18dp" />
<Button
android:id="@+id/saveBtn"
android:text="SAVE"
android:textColor="@color/white"
android:background="@drawable/button3"
android:layout_width="450dp"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:layout_gravity="center_horizontal"/>
<Button
android:id="@+id/listBtn"
android:text="SHOW LIST"
android:textColor="@color/white"
android:background="@drawable/button3"
android:layout_width="450dp"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:layout_gravity="center_horizontal"/>
<Button
android:id="@+id/printBtn"
android:text="PRINT"
android:textColor="@color/white"
android:background="@drawable/button3"
android:layout_width="450dp"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:layout_gravity="center_horizontal"/>
</LinearLayout>
<!--<com.hbb20.CountryCodePicker
android:id="@+id/ccp"
android:layout_width="115dp"
android:layout_height="43dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/t1"
app:layout_constraintTop_toTopOf="parent" />-->
<!--<EditText
android:id="@+id/t1"
android:layout_width="200dp"
android:layout_height="46dp"
android:ems="10"
android:hint="Enter Mobile"
android:inputType="textPersonName"
android:textSize="20sp"
tools:ignore="MissingConstraints"
tools:layout_editor_absoluteX="154dp"
tools:layout_editor_absoluteY="280dp" />-->
<ImageView
android:id="@+id/imageView"
android:layout_width="210dp"
android:layout_height="154dp"
android:src="@drawable/plane"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.597"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.075"
tools:ignore="MissingConstraints" />
Christine Mae T. Cion
MOBAPLAB
BSCS 3A Prof: Mr. Jefferson A. Costales
<TextView
android:id="@+id/titleT1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="OTP Verification"
android:textColor="@color/black"
android:textSize="20sp"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.42" />
<com.hbb20.CountryCodePicker
android:id="@+id/ccp"
android:layout_width="115dp"
android:layout_height="43dp"
android:layout_marginStart="20dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/t1"
app:layout_constraintHorizontal_bias="1.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<EditText
android:id="@+id/t1"
android:layout_width="200dp"
android:layout_height="46dp"
android:ems="10"
android:hint="Enter Mobile"
android:inputType="textPersonName"
android:textSize="20sp"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.805"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.502" />
<Button
android:id="@+id/btn1"
Christine Mae T. Cion
MOBAPLAB
BSCS 3A Prof: Mr. Jefferson A. Costales
android:layout_width="171dp"
android:layout_height="50dp"
android:background="@drawable/button4"
android:text="@string/btnOTP"
android:textColor="@color/white"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.669" />
</androidx.constraintlayout.widget.ConstraintLayout>
<!--<com.hbb20.CountryCodePicker
android:id="@+id/ccp"
android:layout_width="115dp"
android:layout_height="43dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/t1"
app:layout_constraintTop_toTopOf="parent" />-->
<!--<EditText
android:id="@+id/t1"
android:layout_width="200dp"
android:layout_height="46dp"
android:ems="10"
android:hint="Enter Mobile"
android:inputType="textPersonName"
Christine Mae T. Cion
MOBAPLAB
BSCS 3A Prof: Mr. Jefferson A. Costales
android:textSize="20sp"
tools:ignore="MissingConstraints"
tools:layout_editor_absoluteX="154dp"
tools:layout_editor_absoluteY="280dp" />-->
<ImageView
android:id="@+id/imageView"
android:layout_width="210dp"
android:layout_height="154dp"
android:src="@drawable/accept"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.497"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.073"
tools:ignore="MissingConstraints" />
<TextView
android:id="@+id/titleT1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="OTP Verification"
android:textColor="@color/black"
android:textSize="20sp"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.416" />
<EditText
android:id="@+id/t2"
android:layout_width="251dp"
android:layout_height="43dp"
android:ems="10"
android:hint="Enter OTP here"
android:inputType="textPersonName"
android:textSize="20sp"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
Christine Mae T. Cion
MOBAPLAB
BSCS 3A Prof: Mr. Jefferson A. Costales
app:layout_constraintHorizontal_bias="0.61"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.525" />
<Button
android:id="@+id/btn2"
android:layout_width="171dp"
android:layout_height="50dp"
android:background="@drawable/button4"
android:text="@string/btnVER"
android:textColor="@color/white"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.669" />
</androidx.constraintlayout.widget.ConstraintLayout>
</RelativeLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:id="@+id/rTitleTv"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Title"
android:textColor="@color/material_dynamic_neutral99"
android:textSize="26sp" />
<TextView
android:id="@+id/rDescriptionTv"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Description"
android:textColor="@color/material_dynamic_neutral99"
android:textSize="20sp" />
</LinearLayout>
</androidx.cardview.widget.CardView>
Christine Mae T. Cion
MOBAPLAB
BSCS 3A Prof: Mr. Jefferson A. Costales
MainActivity (Java File)
package com.example.exer5cionchristine;
import android.app.ProgressDialog;
import android.content.Intent;
import android.os.Bundle;
import android.os.Environment;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.appcompat.app.ActionBar;
import androidx.appcompat.app.AppCompatActivity;
import com.google.android.gms.tasks.OnCompleteListener;
import com.google.android.gms.tasks.OnFailureListener;
import com.google.android.gms.tasks.Task;
import com.google.firebase.firestore.FirebaseFirestore;
import com.itextpdf.kernel.geom.PageSize;
import com.itextpdf.kernel.pdf.PdfDocument;
import com.itextpdf.kernel.pdf.PdfWriter;
import com.itextpdf.layout.Document;
import com.itextpdf.layout.element.Cell;
import com.itextpdf.layout.element.Paragraph;
import com.itextpdf.layout.element.Table;
import com.itextpdf.layout.properties.HorizontalAlignment;
import com.itextpdf.layout.properties.TextAlignment;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.OutputStream;
import java.util.HashMap;
import java.util.Map;
import java.util.UUID;
ActionBar actionBar;
EditText mTitleEt, mDescriptionEt;
Christine Mae T. Cion
MOBAPLAB
BSCS 3A Prof: Mr. Jefferson A. Costales
Button mSaveBtn, mListBtn, printBtn;
ProgressDialog pd;
FirebaseFirestore db;
String pId, pTitle, pDescription;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
printBtn = findViewById(R.id.printBtn);
mTitleEt = findViewById(R.id.titleEt);
actionBar = getSupportActionBar();
mDescriptionEt = findViewById(R.id.descriptionEt);
pd = new ProgressDialog(this);
db = FirebaseFirestore.getInstance();
mSaveBtn = findViewById(R.id.saveBtn);
mListBtn = findViewById(R.id.listBtn);
Bundle bundle = getIntent().getExtras();
if(bundle != null) {
actionBar.setTitle("Update File");
mSaveBtn.setText("Update");
pId = bundle.getString("pId");
pTitle = bundle.getString("pTitle");
pDescription = bundle.getString("pDescription");
mTitleEt.setText(pTitle);
mDescriptionEt.setText(pDescription);
}else{
actionBar.setTitle("Add File");
mSaveBtn.setText("Save");
}
//mSaveBtn
mSaveBtn.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
if (bundle != null) {
String id = pId;
String title = mTitleEt.getText().toString().trim();
String description = mDescriptionEt.getText().toString().trim();
updateData(id, title, description);
}else {
Christine Mae T. Cion
MOBAPLAB
BSCS 3A Prof: Mr. Jefferson A. Costales
String title = mTitleEt.getText().toString().trim();
String description = mDescriptionEt.getText().toString().trim();
uploadData(title, description);
}
}
});
//mListBtn
mListBtn.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
startActivity(new Intent(MainActivity.this, ListActivity.class));
finish();
}
});
//printBtn
printBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String title = mTitleEt.getText().toString();
String description = mDescriptionEt.getText().toString();
try{
createdPdf(title, description);
}catch (FileNotFoundException e){
e.printStackTrace();
}
}
});
//updateData
private void updateData(String id, String title, String description){
pd.setTitle("Updating File...");
pd.show();
db.collection("Documents").document(id)
.update("title", title, "search", title.toLowerCase(),"description", description)
.addOnCompleteListener(new OnCompleteListener<Void>(){
@Override
public void onComplete(@NonNull Task<Void> task){
pd.dismiss();
Toast toast = Toast.makeText(MainActivity.this,"File Updated
Successfully",Toast.LENGTH_SHORT);
Christine Mae T. Cion
MOBAPLAB
BSCS 3A Prof: Mr. Jefferson A. Costales
toast.show();
}
}).addOnFailureListener(new OnFailureListener(){
@Override
public void onFailure(@NonNull Exception e) {
pd.dismiss();
Toast toast = Toast.makeText(MainActivity.this,"Error On Updating File",
Toast.LENGTH_SHORT);
}
});
}
//createdPDF
private void createdPdf(String title, String description) throws FileNotFoundException{
String pdfPath =
Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS).toS
tring();
File file = new File(pdfPath,"myPDF.pdf");
OutputStream outputStream = new FileOutputStream(file);
pdfDocument.setDefaultPageSize(PageSize.A6);
document.setMargins(0,0,0,0);
document.add(student);
document.add(table);
document.close();
Christine Mae T. Cion
MOBAPLAB
BSCS 3A Prof: Mr. Jefferson A. Costales
Toast.makeText(MainActivity.this,"PDF Created", Toast.LENGTH_LONG).show();
}
//uploadData
private void uploadData(String title, String description) {
pd.setTitle("Adding File ...");
pd.show();
String id=UUID.randomUUID().toString();
Map<String,Object> doc = new HashMap<>();
doc.put("id",id);
doc.put("title",title);
//
doc.put("search",title.toLowerCase());
doc.put("description",description);
db.collection("Documents").document(id).set(doc)
.addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
pd.dismiss();
Toast toast = Toast.makeText(MainActivity.this, "File Added Successfully",
Toast.LENGTH_SHORT);
toast.show();
}
}).addOnFailureListener(new OnFailureListener(){
@Override
public void onFailure(@NonNull Exception e) {
pd.dismiss();
Toast toast = Toast.makeText(MainActivity.this, "Error On Adding File",
Toast.LENGTH_SHORT);
toast.show();
}
});
}
}
Christine Mae T. Cion
MOBAPLAB
BSCS 3A Prof: Mr. Jefferson A. Costales
mobile (Java File)
package com.example.exer5cionchristine;
import android.content.Intent;
import android.os.Bundle;
import android.widget.Button;
import android.widget.EditText;
import androidx.appcompat.app.AppCompatActivity;
import com.hbb20.CountryCodePicker;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_mobile);
t1 = (EditText)findViewById(R.id.t1);
ccp = (CountryCodePicker)findViewById(R.id.ccp);
ccp.registerCarrierNumberEditText(t1);
btn1 = (Button)findViewById(R.id.btn1);
btn1.setOnClickListener(view -> {
Intent intent = new Intent(mobile.this,otp.class);
intent.putExtra("mobile",ccp.getFullNumberWithPlus().replace("",""));
startActivity(intent);
});
}
}
import android.content.Intent;
import android.os.Bundle;
Christine Mae T. Cion
MOBAPLAB
BSCS 3A Prof: Mr. Jefferson A. Costales
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import com.google.firebase.FirebaseException;
import com.google.firebase.auth.FirebaseAuth;
import com.google.firebase.auth.PhoneAuthCredential;
import com.google.firebase.auth.PhoneAuthProvider;
import java.util.concurrent.TimeUnit;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_otp);
phonenumber = getIntent().getStringExtra("mobile");
t2 = (EditText)findViewById(R.id.t2);
btn2 = (Button)findViewById(R.id.btn2);
mAuth = FirebaseAuth.getInstance();
initiateotp();
btn2.setOnClickListener(view -> {
if(t2.getText().toString().isEmpty())
Toast.makeText(getApplicationContext(),"Blank field can not be
processed",Toast.LENGTH_LONG).show();
else if(t2.getText().toString().length()!=6)
Toast.makeText(getApplicationContext(),"Invalid
OTP",Toast.LENGTH_LONG).show();
else {
Christine Mae T. Cion
MOBAPLAB
BSCS 3A Prof: Mr. Jefferson A. Costales
PhoneAuthCredential credential = PhoneAuthProvider.getCredential(otpid,
t2.getText().toString());
signInWithPhoneAuthCredential(credential);
}
});
PhoneAuthProvider.getInstance().verifyPhoneNumber(
phonenumber,
60,
TimeUnit.SECONDS,
this,
new PhoneAuthProvider.OnVerificationStateChangedCallbacks() {
@Override
public void onCodeSent(String s, PhoneAuthProvider.ForceResendingToken
forceResendingToken) {
otpid=s;
}
@Override
public void onVerificationCompleted(PhoneAuthCredential phoneAuthCredential) {
signInWithPhoneAuthCredential(phoneAuthCredential);
}
@Override
public void onVerificationFailed(@NonNull FirebaseException e) {
Toast.makeText(getApplicationContext(),e.getMessage(),Toast.LENGTH_SHORT).show();
}
}); //OnVerificationStateChangedCallbacks
}
private void signInWithPhoneAuthCredential(PhoneAuthCredential credential) {
mAuth.signInWithCredential(credential)
.addOnCompleteListener(this, task -> {
if (task.isSuccessful()) {
startActivity(new Intent(otp.this, ListActivity.class));
finish();
} else {
Christine Mae T. Cion
MOBAPLAB
BSCS 3A Prof: Mr. Jefferson A. Costales
Toast.makeText(getApplicationContext(), "Signing Code Error",
Toast.LENGTH_LONG).show();
}
});
}
import android.app.ProgressDialog;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.SearchView;
import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.appcompat.app.ActionBar;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.view.MenuItemCompat;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import com.google.android.gms.tasks.OnCompleteListener;
import com.google.android.gms.tasks.OnFailureListener;
import com.google.android.gms.tasks.Task;
import com.google.android.material.floatingactionbutton.FloatingActionButton;
import com.google.firebase.firestore.DocumentSnapshot;
import com.google.firebase.firestore.FirebaseFirestore;
import com.google.firebase.firestore.QuerySnapshot;
import java.util.ArrayList;
import java.util.List;
FloatingActionButton mAddBtn;
FirebaseFirestore db = FirebaseFirestore.getInstance();
CustomAdapter adapter;
ProgressDialog pd;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_list);
ActionBar actionBar = getSupportActionBar();
actionBar.setTitle("List of File");
mAddBtn = findViewById(R.id.addBtn);
db = FirebaseFirestore.getInstance();
mRecyclerView = findViewById(R.id.recycler_viewer);
mRecyclerView.setHasFixedSize(true);
layoutManager = new LinearLayoutManager(this);
mRecyclerView.setLayoutManager(layoutManager);
pd = new ProgressDialog(this);
showData();
mAddBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivity(new Intent(ListActivity.this,MainActivity.class));
finish();
}
});
}
@Override
public void onComplete(@NonNull Task<QuerySnapshot> task) {
modelList.clear();
pd.dismiss();
Christine Mae T. Cion
MOBAPLAB
BSCS 3A Prof: Mr. Jefferson A. Costales
for(DocumentSnapshot doc: task.getResult()){
Model model = new Model(doc.getString("id"),
doc.getString("title"),
doc.getString("description"));
modelList.add(model);
}
adapter = new CustomAdapter(ListActivity.this,modelList);
mRecyclerView.setAdapter(adapter);
}
}).addOnFailureListener(new OnFailureListener(){
@Override
public void onFailure(@NonNull Exception e) {
pd.dismiss();
Toast.makeText(ListActivity.this,e.getMessage(),Toast.LENGTH_SHORT).show();
}
});
}
}
})
.addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
pd.dismiss();
Toast.makeText(ListActivity.this,
e.getMessage(),Toast.LENGTH_LONG).show();
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
//
getMenuInflater().inflate(R.menu.menu_main,menu);
//
MenuItem item = menu.findItem(R.id.action_search);
SearchView searchView = (SearchView) MenuItemCompat.getActionView(item);
searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String query) {
//
searchData(query);
return false;
Christine Mae T. Cion
MOBAPLAB
BSCS 3A Prof: Mr. Jefferson A. Costales
}
@Override
public boolean onQueryTextChange(String newText) {
//
return false;
}
});
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
//
if(item.getItemId()==R.id.action_settings){
Toast.makeText(this, "Settings", Toast.LENGTH_LONG).show();
}
return super.onOptionsItemSelected(item);
}
}
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
import java.util.List;
Christine Mae T. Cion
MOBAPLAB
BSCS 3A Prof: Mr. Jefferson A. Costales
public class CustomAdapter extends RecyclerView.Adapter<ViewHolder> {
ListActivity listActivity;
List<Model> modelList;
Context context;
@NonNull
@Override
public ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int viewType) {
View itemView =
LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.model_layout, viewGroup, false);
ViewHolder viewHolder = new ViewHolder(itemView);
viewHolder.setOnClickListener(new ViewHolder.ClickListener(){
@Override
public void onItemClick(View view, int position) {
String title = modelList.get(position).getTitle();
String desc = modelList.get(position).getDescription();
Toast.makeText(listActivity, title+ "\n", Toast.LENGTH_SHORT).show();
}
@Override
public void onItemLongClick(View view, int position) {
}
}).create().show();
}
});
return viewHolder;
}
@Override
public void onBindViewHolder(@NonNull ViewHolder viewHolder, int i) {
viewHolder.mTitleTv.setText(modelList.get(i).getTitle());
viewHolder.mDescriptionTv.setText(modelList.get(i).getDescription());
}
@Override
public int getItemCount(){
return modelList.size();
}
import android.view.View;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
}
private ViewHolder.ClickListener mClickListener;
public interface ClickListener{
void onItemClick(View view, int position);
void onItemLongClick(View view, int position);
}
public void setOnClickListener(ViewHolder.ClickListener clickListener){
mClickListener = clickListener;
}
}
}
public Model(String id, String title, String description) {
this.id = id;
this.title = title;
this.description = description;
@Override
public String toString(){
return "Model{" +
"id='" + id + '\'' +
", description='" + description + '\'' +
", title='" + title + '\'' +
'}';
}
}
Christine Mae T. Cion
MOBAPLAB
BSCS 3A Prof: Mr. Jefferson A. Costales
Screenshot (Output)
Christine Mae T. Cion
MOBAPLAB
BSCS 3A Prof: Mr. Jefferson A. Costales
Christine Mae T. Cion
MOBAPLAB
BSCS 3A Prof: Mr. Jefferson A. Costales
Christine Mae T. Cion
MOBAPLAB
BSCS 3A Prof: Mr. Jefferson A. Costales
Christine Mae T. Cion
MOBAPLAB
BSCS 3A Prof: Mr. Jefferson A. Costales