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

LayoutDuaActivity.

java
package com.sc.semicolon.pintusawah;

import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import android.media.RingtoneManager;
import android.net.Uri;
import android.os.Bundle;
import android.support.v4.app.NotificationCompat;
import android.support.v7.app.AppCompatActivity;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;

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 LayoutDuaActivity extends AppCompatActivity {

private TextView txtTinggiAir;


private Button btnBuka;
private Button btnTutup;
private TextView txtPintu;
private ImageView imgAir;

public static final int NOTIFICATION_ID = 1;


Uri alarmSound = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);

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

ambilAir();
}

private void ambilAir() {


FirebaseDatabase database = FirebaseDatabase.getInstance();
final DatabaseReference databaseRef = database.getReference();

//menampilkan data kelembaban


databaseRef.child("tinggiAirDua").addValueEventListener(new
ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
String kelembaban = dataSnapshot.getValue().toString();
double hasil = Double.parseDouble(kelembaban) / 1000;
txtTinggiAir.setText("" + hasil + " meter");
if (hasil < 0.015) {
imgAir.setImageResource(R.drawable.airhabis);
} else if (hasil > 0.015 && hasil <= 0.2) {
notifSatu();
imgAir.setImageResource(R.drawable.airsedikit);
} else if (hasil > 0.2 && hasil <= 0.7) {
notifDua();
imgAir.setImageResource(R.drawable.airsetengah);
} else if (hasil > 0.7) {
imgAir.setImageResource(R.drawable.airmeluap);
}
}

@Override
public void onCancelled(DatabaseError databaseError) {

}
});
}

private void notifSatu() {


Intent intent = new Intent(getApplicationContext(),LayoutDuaActivity.class);
//menginisialiasasi intent
PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent, 0);

NotificationCompat.Builder builder = (NotificationCompat.Builder) new


NotificationCompat.Builder(this)
.setSmallIcon(R.mipmap.ic_launcher) //ikon notification
.setContentTitle("Irigasi Kecil") //judul konten
.setContentIntent(pendingIntent)
.setSound(alarmSound)
.setAutoCancel(true)//untuk menswipe atau menghapus notification
.setContentText("Air Sedikit"); //isi text

/*
Kemudian kita harus menambahkan Notification dengan menggunakan NotificationManager
*/

NotificationManager notificationManager = (NotificationManager)


getSystemService(Context.NOTIFICATION_SERVICE);

notificationManager.notify(NOTIFICATION_ID, builder.build()
);
}
private void notifDua() {
Intent intent = new Intent(getApplicationContext(),LayoutDuaActivity.class);
//menginisialiasasi intent
PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent, 0);

NotificationCompat.Builder builder = (NotificationCompat.Builder) new


NotificationCompat.Builder(this)
.setSmallIcon(R.mipmap.ic_launcher) //ikon notification
.setContentTitle("Irigasi Kecil") //judul konten
.setContentIntent(pendingIntent)
.setSound(alarmSound)
.setAutoCancel(true)//untuk menswipe atau menghapus notification
.setContentText("Air Penuh"); //isi text

/*
Kemudian kita harus menambahkan Notification dengan menggunakan NotificationManager
*/

NotificationManager notificationManager = (NotificationManager)


getSystemService(Context.NOTIFICATION_SERVICE);

notificationManager.notify(NOTIFICATION_ID, builder.build()
);
}

private void initView() {


txtTinggiAir = (TextView) findViewById(R.id.txt_tinggi_air);
btnBuka = (Button) findViewById(R.id.btn_buka);
btnTutup = (Button) findViewById(R.id.btn_tutup);
txtPintu = (TextView) findViewById(R.id.txt_pintu);
imgAir = (ImageView) findViewById(R.id.imgAir);
}
}

AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.sc.semicolon.pintusawah">

<uses-permission android:name="android.permission.INTERNET" />

<application
android:allowBackup="true"
android:icon="@drawable/dam"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity
android:name=".MainActivity"
android:icon="@drawable/dam"
android:label=" Monitoring Saluran Irigasi"
android:screenOrientation="portrait"></activity>
<activity
android:name=".SplashActivity"
android:theme="@style/Theme.AppCompat.Light.NoActionBar">
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />


</intent-filter>
</activity>
<activity android:name=".LayoutDuaActivity"></activity>
</application>

</manifest>

MainActivity.java
package com.sc.semicolon.pintusawah;

import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import android.media.RingtoneManager;
import android.net.Uri;
import android.os.Bundle;
import android.support.v4.app.NotificationCompat;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;

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 {

private TextView txtTinggiAir;


private Button btnBuka;
private Button btnTutup;
private TextView txtPintu;
private ImageView imgAir;
public static final int NOTIFICATION_ID = 1;
Uri alarmSound = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
private Button btnIrigasi;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getSupportActionBar().setDisplayShowHomeEnabled(true);
getSupportActionBar().setIcon(R.drawable.irrigationatas);
getSupportActionBar().setDisplayUseLogoEnabled(true);
setContentView(R.layout.activity_main);
initView();

ambilAir();

FirebaseDatabase database = FirebaseDatabase.getInstance();


final DatabaseReference databaseRef = database.getReference();
btnBuka.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
databaseRef.child("kontroling").addListenerForSingleValueEvent(new
ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
try {

databaseRef.child("kontroling").child("pintu2").setValue(false);
txtPintu.setText("Pintu Buka");
btnBuka.setClickable(false);
btnTutup.setClickable(true);
} catch (Exception e) {
e.printStackTrace();
}
}

@Override
public void onCancelled(DatabaseError databaseError) {
Log.d("User", databaseError.getMessage());
}
});
}
});

btnTutup.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
databaseRef.child("kontroling").addListenerForSingleValueEvent(new
ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
try {

databaseRef.child("kontroling").child("pintu2").setValue(true);
txtPintu.setText("Pintu Tutup");
btnBuka.setClickable(true);
btnTutup.setClickable(false);
} catch (Exception e) {
e.printStackTrace();
}
}

@Override
public void onCancelled(DatabaseError databaseError) {
Log.d("User", databaseError.getMessage());
}
});
}
});

btnIrigasi.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
startActivity(new
Intent(getApplicationContext(),LayoutDuaActivity.class));
}
});
}

private void initView() {


txtTinggiAir = (TextView) findViewById(R.id.txt_tinggi_air);
btnBuka = (Button) findViewById(R.id.btn_buka);
btnTutup = (Button) findViewById(R.id.btn_tutup);
txtPintu = (TextView) findViewById(R.id.txt_pintu);
imgAir = (ImageView) findViewById(R.id.imgAir);
btnIrigasi = (Button) findViewById(R.id.btn_irigasi);
}

private void ambilAir() {


FirebaseDatabase database = FirebaseDatabase.getInstance();
final DatabaseReference databaseRef = database.getReference();

//menampilkan data kelembaban


databaseRef.child("tinggiAir").addValueEventListener(new ValueEventListener()
{
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
String kelembaban = dataSnapshot.getValue().toString();
double hasil = Double.parseDouble(kelembaban) / 1000;
txtTinggiAir.setText("" + hasil + " meter");
if (hasil < 0.015) {
imgAir.setImageResource(R.drawable.airhabis);
} else if (hasil > 0.015 && hasil <= 0.2) {
notifSatu();
imgAir.setImageResource(R.drawable.airsedikit);
} else if (hasil > 0.2 && hasil <= 0.7) {
imgAir.setImageResource(R.drawable.airsetengah);
} else if (hasil > 0.7) {
notifDua();
imgAir.setImageResource(R.drawable.airmeluap);
}
}

@Override
public void onCancelled(DatabaseError databaseError) {

}
});
}

private void notifSatu() {


Intent intent = new Intent(getApplicationContext(), MainActivity.class);
//menginisialiasasi intent
PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent, 0);

NotificationCompat.Builder builder = (NotificationCompat.Builder) new


NotificationCompat.Builder(this)
.setSmallIcon(R.mipmap.ic_launcher) //ikon notification
.setContentTitle("Irigasi") //judul konten
.setContentIntent(pendingIntent)
.setSound(alarmSound)
.setAutoCancel(true)//untuk menswipe atau menghapus notification
.setContentText("Air Sedikit"); //isi text

/*
Kemudian kita harus menambahkan Notification dengan menggunakan NotificationManager
*/

NotificationManager notificationManager = (NotificationManager)


getSystemService(Context.NOTIFICATION_SERVICE);

notificationManager.notify(NOTIFICATION_ID, builder.build()
);
}

private void notifDua() {


Intent intent = new Intent(getApplicationContext(), MainActivity.class);
//menginisialiasasi intent
PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent, 0);

NotificationCompat.Builder builder = (NotificationCompat.Builder) new


NotificationCompat.Builder(this)
.setSmallIcon(R.mipmap.ic_launcher) //ikon notification
.setContentTitle("Irigasi") //judul konten
.setContentIntent(pendingIntent)
.setSound(alarmSound)
.setAutoCancel(true)//untuk menswipe atau menghapus notification
.setContentText("Air Meluap"); //isi text

/*
Kemudian kita harus menambahkan Notification dengan menggunakan NotificationManager
*/

NotificationManager notificationManager = (NotificationManager)


getSystemService(Context.NOTIFICATION_SERVICE);

notificationManager.notify(NOTIFICATION_ID, builder.build()
);
}
}
SpalshActivity.java
package com.sc.semicolon.pintusawah;

import android.content.Intent;
import android.os.Handler;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;

public class SplashActivity extends AppCompatActivity {

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

Handler handler = new Handler();


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

You might also like