Oct

31

Posted by : Dinda Novitasari | On : 31/10/2014

Halo semua! Pada tutorial kali ini, saya akan berbagi tentang cara pemakaian user notification pada android. User notification itu seperti apa sih? User notification itu tujuan untuk memberitahu pengguna bahwa mereka berhasil mengeksekusi sebuah proses. Di android sendiri terdiri menjadi 2: toast dan notification area. pemakaiannya pun berbeda-beda. Toast, seperti namanya, kalau kalian toast bread pasti akan langsung “loncat” dari toaster, nah hal yang sama berlaku pada notif ini. Toast akan langsung muncul ketika melakukan trigger, contohnya tekan tombol send dan waktunya sebentar. kalau notification area itu akan muncul di drawer, mereka akan ada ketika kita trigger dan akan close ketika kita clear drawer atau tekan notif area yang akan pindah ke activity selanjutnya.

Untuk contoh nyatanya, saya akan membuat aplikasi Count Me Down. Aplikasi ini merupakan penghitung mundur dimana pengguna memasukkan waktu mulai penghitungan. Toast akan muncul ketika pengguna berhasil mengatur waktu mulai dan notification area akan muncul ketika penghitungan mundur berjalan.

Cara membuat

1. Buka eclipse, klik file>new>android application project.
2. Buat class baru untuk activity ke dua, karena aplikasi ini memakai dua activity dengan cara klik kanan pada src>nama package>new>class

1
3. Ganti superclass dengan cara pilih browse>ketik activity>android.app.Activity

2
4. Pilih finish untuk generate class baru

3
5. Buat file xml baru untuk activity kedua dengan cara klik kanan pada res>layout>new>Android XML File

4
6. Ketik nama file dan pilih root element dan finish

5
7. Source code pada strings.xml

stringss
8. Source code pada activity_main.xml

xml_main
9. Source code pada activity_timer.xml

timer_xml
10.Source code pada MainActivity.java

package com.example.countmedown;

import android.annotation.SuppressLint;
import android.app.Activity;
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class MainActivity extends Activity implements OnClickListener{
// deklarasi variabel
Button startB;
EditText input;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//passing nilai dari interface
startB=(Button) this.findViewById(R.id.button);
startB.setOnClickListener(this);
input=(EditText)this.findViewById(R.id.input);
}
//ketika API tidak support
@SuppressLint("NewApi")
@Override
public void onClick(View v) {
// deklarasi intent
Intent intent = new Intent (MainActivity.this, TimerActivity.class);
//passing masukan ke dalam variabel
int inputs=Integer.parseInt((input.getText().toString()));
// passing masukan ke dalam intent
Bundle dataBundle = new Bundle();
dataBundle.putInt("inputs", inputs);
intent.putExtras(dataBundle);
startActivity(intent);
input.setText("");
// membuat toast
Toast.makeText(getApplicationContext(), "Count Me Down!", Toast.LENGTH_SHORT).show();
// membuat notification area
Intent intents = new Intent(getApplicationContext(), MainActivity.class);
int nId = 1;
PendingIntent pendingIntent = PendingIntent.getActivity(getApplicationContext(),
0,
intents,
PendingIntent.FLAG_UPDATE_CURRENT);
//set parameter notif
Notification.Builder notifBuilder = new Notification.Builder(getApplicationContext())
.setTicker("Count Me Down!")
.setContentText("by: dindanovz|labworks")
.setContentIntent(pendingIntent)
.setContentTitle("Count Me Down")
.setDefaults(Notification.DEFAULT_SOUND)
.setAutoCancel(true)
.setSmallIcon(R.drawable.ic_launcher);
NotificationManager mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
mNotificationManager.notify(nId, notifBuilder.build());
}
}

11.Source code pada TimerActivity.java


package com.example.countmedown;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.os.CountDownTimer;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;

public class TimerActivity extends Activity implements OnClickListener{
// deklarasi variabel
boolean timerHasStarted = false;
CountDownTimer countDownTimer;
final long interval = 1*1000;
Button startB;
TextView text;

protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_timer);
//passing nilai dari interface
startB=(Button) this.findViewById(R.id.button);
startB.setOnClickListener(this);
//memanggil nilai hasil passing dari activity sebelumnya
Intent callingIntent = getIntent();
Bundle dataBundleReceived = callingIntent.getExtras();
long startT = dataBundleReceived.getInt("inputs",0);
final long startTime = startT *1000;
text=(TextView)this.findViewById(R.id.timer);
countDownTimer=new MyCountDownTimer(startTime, interval);
text.setText(text.getText()+String.valueOf(startTime/1000));
//memulai count down
countDownTimer.start();
timerHasStarted=true;
}

@Override
public void onClick(View v) {
//stop count down
countDownTimer.cancel();
}
public class MyCountDownTimer extends CountDownTimer{
public MyCountDownTimer (long startTime, long interval){
super(startTime, interval);
}
@Override
public void onTick(long millisUntilFinished) {
text.setText(""+millisUntilFinished/1000);
}

@Override
public void onFinish() {
text.setText("Time's Up!");
}

}

}

Screenshot aplikasi

Screenshot_2014-10-31-11-09-59Screenshot_2014-10-31-12-02-57

 

6 7

Oct

24

Posted by : Dinda Novitasari | On : 24/10/2014

Halo semua! pada tutorial kali ini, saya akan berbagi tentang cara pemakaian user notification pada android. user notification itu seperti apa sih? Di android sendiri terdiri menjadi 2: toast dan notification area. pemakaiannya pun berbeda-beda. Toast, seperti namanya, kalau kalian toast bread pasti akan langsung “loncat” dari toaster, nah hal yang sama berlaku pada notif ini. Toast akan langsung muncul ketika melakukan trigger, contohnya tekan tombol send dan waktunya sebentar. kalau notification area itu akan muncul di drawer, mereka akan ada ketika kita trigger dan akan close ketika kita clear drawer atau tekan notif area yang akan pindah ke activity selanjutnya.

Untuk contoh nyatanya, saya akan membuat aplikasi Remind Me!. Aplikasi ini saya buata untuk saya yang kadang-kadang lupa mau ngapain. Cara kerjanya, kita isi apa yang mau diingetin, nah nanti aplikasinya akan memunculkan note di drawer, jadi kita bakal inget terus 😀

Cara:

1. Buka eclipse, klik file>new>android application project.

2. Source code pada strings.xml

strings

3. Source code pada activity_main.xml

main1 main2

4. Source code pada MainActivity.java


package com.dindanovzlabworks.remindme;

import android.annotation.SuppressLint;
import android.app.Activity;
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Context;
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 Activity {
Button button;
EditText event;
EditText message;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button = (Button) findViewById(R.id.remind);
button.setOnClickListener(new View.OnClickListener() {
@SuppressLint("InlinedApi")
public void onClick(View arg0) {
String eventS;
String messageS;
int nId = 1;
event = (EditText) findViewById(R.id.event);
message = (EditText) findViewById(R.id.message);
eventS = event.getText().toString();
messageS = message.getText().toString();
Intent intent = new Intent(getApplicationContext(), MainActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
PendingIntent pendingIntent = PendingIntent.getActivity(getApplicationContext(),
0,
intent,
PendingIntent.FLAG_UPDATE_CURRENT);
Notification.Builder notifBuilder = new Notification.Builder(getApplicationContext())
.setTicker("Remind Me!")
.setContentText(messageS)
.setContentIntent(pendingIntent)
.setContentTitle(eventS)
.setDefaults(Notification.DEFAULT_SOUND)
.setAutoCancel(true)
.setSmallIcon(R.drawable.ic_launcher);
NotificationManager mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
mNotificationManager.notify(nId, notifBuilder.build());
Toast.makeText(getApplicationContext(), "Reminder Set Up!", Toast.LENGTH_SHORT).show();
message.setText("");
event.setText("");
finish();
}
});
}
}

Screenshot

Screenshot_2014-10-24-16-04-06Screenshot_2014-10-24-15-55-07 Screenshot_2014-10-24-16-02-22Screenshot_2014-10-24-16-00-20 Screenshot_2014-10-24-16-01-04