Professional Documents
Culture Documents
SQL Delete
SQL Delete
SQL Delete
11600
Nama : SAFIELLA AULIA WIDYA KUSUMA
Build.gradle(project)
buildscript {
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.google.gms:google-services:4.3.4' classpath
'com.android.tools.build:gradle:4.1.1'
allprojects {
repositories {
google()
jcenter()
}
}
Build.gradle(module)
plugins {
id 'com.android.application'
id 'com.google.gms.google-services'
}
android {
compileSdkVersion 30
buildToolsVersion "30.0.2"
defaultConfig {
applicationId "com.example.firebaseoke"
minSdkVersion 16
targetSdkVersion 30
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-
optimize.txt'), 'proguard-rules.pro' }
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
dependencies {
MainActivity.java
package com.example.firebaseoke;
FloatingActionButton tblData;
RecyclerView recyclerView;
FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference myRef =
database.getReference("Dataku");
List<Dataku> list = new ArrayList<>();
AdapterDataku adapterDataku;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
setClick();
@Override
public void onCancelled(DatabaseError error) {
// Failed to read value
Log.w("TAG", "Failed to read value.", error.toException());
}
});
}
@Override
public void onTblEdit(Dataku dataku) {
showDialogEditData(dataku);
}
});
}
Objects.requireNonNull(dialog.getWindow()
).setBackgroundDrawable(new ColorDrawable(Color.
TRANSPARENT));
dialog.setCancelable(true);
WindowManager.LayoutParams lp = new
WindowManager.LayoutParams(); lp.copyFrom(Obje
cts.requireNonNull(dialog.getWindow()).getAttributes
()); lp.width
= WindowManager.LayoutParams.MATCH_PARENT;
lp.height = WindowManager.LayoutParams.WRAP_CONTENT;
dialog.getWindow().setAttributes(lp);
EditText txtTambah =
dialog.findViewById(R.id.txt_tambah_data); Button
tblTambah = dialog.findViewById(R.id.tbl_tambah);
TextView tvTambah =
dialog.findViewById(R.id.tv_tambah);
txtTambah.setText(dataku.getIsi());
tblTambah.setText("Update");
tvTambah.setText("Edit Data");
myRef.child(dataku.getKunci()).child("isi").setValue(b
aru).addOnSuccessListener(new OnSuccessListener<
Void>() {
@Override
public void onSuccess(Void aVoid) {
Toast.makeText(getApplicationContext(),"update
berhasil",Toast.LENGTH_SHORT).show();
}
});
}
Objects.requireNonNull(dialog.getWindow()
).setBackgroundDrawable(new ColorDrawable(Color.
TRANSPARENT));
dialog.setCancelable(true);
WindowManager.LayoutParams lp = new
WindowManager.LayoutParams(); lp.copyFrom(Obje
cts.requireNonNull(dialog.getWindow()).getAttributes
()); lp.width
= WindowManager.LayoutParams.MATCH_PARENT;
lp.height = WindowManager.LayoutParams.WRAP_CONTENT;
dialog.getWindow().setAttributes(lp);
EditText txtTambah =
dialog.findViewById(R.id.txt_tambah_data); Button
tblTambah = dialog.findViewById(R.id.tbl_tambah);
myRef.child(kunci).setValue(dataku).addOnSuccessListener(new
OnSuccessListener<Void>() {
@Override
public void onSuccess(Void aVoid) {
Toast.makeText(getApplicationContext(),"berhasil",Toast.LENGTH_
SHORT).show(); }
});
}
}
AdapterDataku.java
android.content.Context;
import android.view.LayoutInflater;
import android.view.View; import
android.view.ViewGroup;
import android.widget.ImageButton; import
android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView; import
com.example.firebaseoke.R;
import java.util.List;
onCallBack;
@NonNull
@Override
public ViewHolder onCreateViewHolder(@NonNull ViewGroup
parent, int viewType) { View view =
LayoutInflater.from(context).inflate(R.layout.list_data_layout,parent,fal
se); return new ViewHolder(view);
}
@Override
public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
holder.teksViewData.setText(list.get(position).getIsi());
holder.tblHapus.setOnClickListener(new
View.OnClickListener() { @Override public
void onClick(View v) {
onCallBack.onTblHapus(list.get(position));
}
});
holder.tblEdit.setOnClickListener(new
View.OnClickListener() { @Override public
void onClick(View v) {
onCallBack.onTblEdit(list.get(position));
}
});
}
@Override
public int getItemCount() { return
list.size();
}
teksViewData;
ImageButton tblHapus, tblEdit;
teksViewData =
itemView.findViewById(R.id.teks_view_d
ata); tblHapus
= itemView.findViewById(R.id.tbl_hapus);
tblEdit = itemView.findViewById(R.id.tbl_edit);
}
}
Dataku.java
class Dataku {
String kunci;
String isi; public
Dataku(){
}
public Dataku(String kunci, String isi) { this.kunci =
kunci;
this.isi = isi;
}
activity_main.xml
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recycle_view"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
<com.google.android.material.floatingactionbu
tton.FloatingActionButton android:id="@
+id/tbl_data"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end|bottom"
android:layout_margin="20dp"
android:src="@drawable/ic_baseline_add_circle_24"/>
</androidx.coordinatorlayout.widget.CoordinatorLayout>
List_data_layout.xml
<?xml version="1.0" encoding="utf-8"?>
<androidx.cardview.widget.CardView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/white" android:
layout_margin="5dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="10dp">
<TextView
android:id="@+id/teks_view_data"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="List_data"
android:layout_weight="1"
android:textColor="@color/black"/>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<ImageButton
android:id="@+id/tbl_hapus"
android:layout_width="wrap_content
" android:layout_height="wrap_cont
ent"
android:src="@drawable/ic_baseline_delete_forever_24"/>
<ImageButton
android:id="@+id/tbl_edit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_baseline_edit_24"/>
</LinearLayout>
</LinearLayout>
</androidx.cardview.widget.CardView>
Tambah_data_layout.xml
<RelativeLayout android:layout_width="wrap_content"
android:layout_height="?actionBarSize"
android:background="@color/teal_700">
<TextView
android:id="@+id/tv_tambah"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Tambah Data"
android:textStyle="bold"
android:layout_centerInParent="true"
android:textSize="20dp"/>
<ImageButton
android:id="@+id/tbl_keluar"
android:layout_width="wrap_content"
android:layout_height="match_p
arent"
android:padding="20dp" android:
layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:src="@drawable/ic_baseline_close_24"
android:background="@android:color/transparent"/>
</RelativeLayout>
<EditText
android:id="@+id/txt_tambah_data"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="20dp"
android:textColor="@color/black"/>
<Button
android:id="@+id/tbl_tambah"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@android:color/darker_gray"
android:text="tambah" android:layout_gravity="end"
android:layout_margin="20dp"/>
</LinearLayout>