Label: ,

Android Tutorial - Membuat Audio Manager Dengan Eclipse

0 komentar

Pada tutorial kali ini kita akan belajar tentang cara mengatur / memanagement pengaturan audio ponsel android. Aplikasi audio manager ini bisa mengatur mode suara di profile, dimana terdapat beberapa fitur yaitu mode dering maka ponsel akan berdering, mode getar maka ponsel hanya bergetar dan tidak berdering, dan mode diam maka ponsel tidak berdering dan tidak bergetar.

Tampilannya seperti ini. Silahkan anda modifikasi sendiri nanti.


Berikut tutorial cara membuat Audio Manager dengan Eclipse

1.  Buat  project baru beri nama dengan  "Audio Manager" dan packagenya "com.ahmadsahidin.audiomanager". Seperti gambar



2.  Klik Next sampai Finish, dan biarkan default aja.

3.  Buka  "res/values/strings.xml"   sesuaikan dengan kode berikut.

<?xml version="1.0" encoding="utf-8"?>
<resources>

   <string name="app_name">AudioManager</string>
   <string name="action_settings">Settings</string>
   <string name="hello_world">Hello world!</string>
   <string name="audio">Atur Profil Audio</string>
   <string name="dering">Dering</string>
   <string name="getar">Getar</string>
   <string name="diam">Diam</string>
   <string name="Mode">Mode Sekarang</string>
   <string name="Status">Status Sekarang</string>

</resources>


4.  Buka  "res/layout/activity_main.xml"  sesuaikan codenya seperti ini.

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
   xmlns:tools="http://schemas.android.com/tools"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   android:paddingBottom="@dimen/activity_vertical_margin"
   android:paddingLeft="@dimen/activity_horizontal_margin"
   android:paddingRight="@dimen/activity_horizontal_margin"
   android:paddingTop="@dimen/activity_vertical_margin"
   tools:context=".MainActivity" >

   <TextView
      android:id="@+id/textView1"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_alignParentTop="true"
      android:layout_centerHorizontal="true"
      android:layout_marginTop="25dp"
      android:text="@string/audio"
      android:textAppearance="?android:attr/textAppearanceLarge" />

   <Button
      android:id="@+id/button2"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_alignBaseline="@+id/button3"
      android:layout_alignBottom="@+id/button3"
      android:layout_alignRight="@+id/textView1"
      android:onClick="getar"
      android:text="@string/getar" />

   <Button
      android:id="@+id/button3"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_alignParentBottom="true"
      android:layout_alignParentLeft="true"
      android:layout_marginBottom="144dp"
      android:layout_marginLeft="40dp"
      android:layout_toLeftOf="@+id/button2"
      android:onClick="diam"
      android:text="@string/diam" />

   <Button
      android:id="@+id/button4"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_alignBaseline="@+id/button1"
      android:layout_alignBottom="@+id/button1"
      android:layout_toRightOf="@+id/button1"
      android:onClick="dering"
      android:text="@string/dering" />

   <Button
      android:id="@+id/button1"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_above="@+id/button2"
      android:layout_alignLeft="@+id/button3"
      android:layout_marginBottom="35dp"
      android:onClick="mode"
      android:text="@string/Mode" />

   <TextView
      android:id="@+id/textView2"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_below="@+id/textView1"
      android:layout_centerHorizontal="true"
      android:layout_marginTop="46dp"
      android:text="@string/Status"
      android:textAppearance="?android:attr/textAppearanceMedium" />

</RelativeLayout>

5.   Buka  "src/com.ahmadsahidin.audiomanager.java"  sesuaikan dengan code berikut

package com.ahmadsahidin.audiomanager;

import android.media.AudioManager;
import android.os.Bundle;
import android.app.Activity;
import android.content.Context;
import android.widget.Toast;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

public class MainActivity extends Activity {

   private Button getar , dering , diam , Mode;
   private TextView Status;
   private AudioManager kontrolAudio;
   @Override
   protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);

      getar = (Button)findViewById(R.id.button2);
      dering = (Button)findViewById(R.id.button4);
      diam = (Button)findViewById(R.id.button3);
      Mode = (Button)findViewById(R.id.button1);
      Status = (TextView)findViewById(R.id.textView2);

      kontrolAudio = (AudioManager)getSystemService(Context.AUDIO_SERVICE);

   }

   public void getar(View view){
       kontrolAudio.setRingerMode(AudioManager.RINGER_MODE_VIBRATE);
       Toast.makeText(this,"Mode Getar Diaktifkan", Toast.LENGTH_SHORT).show();
   }
   public void dering(View view){
      kontrolAudio.setRingerMode(AudioManager.RINGER_MODE_NORMAL);
      Toast.makeText(this,"Mode Dering Diaktifkan", Toast.LENGTH_SHORT).show();
   }
   public void diam(View view){
      kontrolAudio.setRingerMode(AudioManager.RINGER_MODE_SILENT);
      Toast.makeText(this,"Mode Diam Diaktifkan", Toast.LENGTH_SHORT).show();
   }
   public void mode(View view){
     int mod = kontrolAudio.getRingerMode();
     if(mod == AudioManager.RINGER_MODE_NORMAL){
         Status.setText("Status Sekarang: Dering");
   }
   else if(mod == AudioManager.RINGER_MODE_SILENT){
       Status.setText("Status Sekarang: Diam");
   }
   else if(mod == AudioManager.RINGER_MODE_VIBRATE){
      Status.setText("Status Sekarang: Getar");
   }
   else{

   }
}
   @Override
   public boolean onCreateOptionsMenu(Menu menu) {
      // Inflate the menu; this adds items to the action bar if it is present.
      getMenuInflater().inflate(R.menu.main, menu);
      return true;
   }

}


6. Jalankan Projectnya.

Demikian tutorial pada kesempatan ini. Semoga bermanfaat dan bisa membantu.

src: tutorialspoint.com

Label: ,

Android Tutorial - Membuat Aplikasi Kirim Pesan SMS

1 komentar

Kali ini saya akan berbagi tutorial tentang, cara membuat aplikasi mengirim pesan singkat, Berikut tampilannya



Ok jika anda tertarik berikut tutorialnya.

1.  Buat project baru sesuaikan dengan gambar berikut




2.  Klik Next sampai Finish, dan biarkan default aja.
3.  Masuk ke  res/values/strings.xml dan sesuaikan codenya seperti berikut.

<?xml version="1.0" encoding="utf-8"?>
<resources>

    <string name="app_name">Kirim SMS</string>
    <string name="action_settings">Pengaturan</string>
    <string name="hello_world">Hello world!</string>
    <string name="nomor">Masukkan Nomor:</string>
    <string name="isipesan">Masukkan Pesan:</string>
    <string name="kirim">Kirim Pesan</string>
    
</resources>

4.  Masuk ke  res/layout/activity_main.xml  sesuaikan dengan code berikut

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >

   <TextView
   android:id="@+id/teksnomor"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:text="@string/nomor" />

   <EditText
   android:id="@+id/inputnomor"
   android:layout_width="fill_parent"
   android:layout_height="wrap_content"
   android:inputType="phone"/>

   <TextView
   android:id="@+id/teksPesan"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:text="@string/isipesan" />

   <EditText
   android:id="@+id/isiPesan"
   android:layout_width="fill_parent"
   android:layout_height="wrap_content"
   android:inputType="textMultiLine"/>

   <Button android:id="@+id/kirimPsnteks"
   android:layout_width="fill_parent"
   android:layout_height="wrap_content"
   android:text="@string/kirim"/>

</LinearLayout>

5.  Masuk  ke  src/com.ahmadsahidin.kirimsms/MainActiviti.java  sesuaikan denga code berikut

package com.ahmadsahidin.kirimsms;

import android.os.Bundle;
import android.app.Activity;
import android.telephony.SmsManager;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class MainActivity extends Activity {

   Button kirimPesan;
   EditText nomorHP;
   EditText isiPesan;

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

      kirimPesan = (Button) findViewById(R.id.kirimPsnteks);
      nomorHP = (EditText) findViewById(R.id.inputnomor);
      isiPesan = (EditText) findViewById(R.id.isiPesan);

      kirimPesan.setOnClickListener(new View.OnClickListener() {
         public void onClick(View view) {
            kirimPesan();
         }
      });

   }
   protected void kirimPesan() {
      Log.i("Kirim Pesan", "");

      String phoneNo = nomorHP.getText().toString();
      String message = isiPesan.getText().toString();

      try {
         SmsManager smsManager = SmsManager.getDefault();
         smsManager.sendTextMessage(phoneNo, null, message, null, null);
         Toast.makeText(getApplicationContext(), "Pesan Terkirim.",
         Toast.LENGTH_LONG).show();
      } catch (Exception e) {
         Toast.makeText(getApplicationContext(),
         "Pesan gagal, coba lagi.",
         Toast.LENGTH_LONG).show();
         e.printStackTrace();
      }
   }
   @Override
   public boolean onCreateOptionsMenu(Menu menu) {
      // Inflate the menu; this adds items to the action bar if it is present.
      getMenuInflater().inflate(R.menu.main, menu);
      return true;
   }
}

6.  Terakhir tambahkan
 <uses-permission android:name="android.permission.SEND_SMS" />
pada AndroidMainifest.xml  seperti berikut


 <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.ahmadsahidin.kirimsms"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="19" />
    <uses-permission android:name="android.permission.SEND_SMS" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.ahmadsahidin.kirimsms.MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

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

</manifest>

7.  Jalankan Projectnya berikut, berikut tampilannya




Selamat Mencoba semoga bermanfaat..

src: tutorialspoint.com

Label: ,

Android Tutorial - Membuat Jadwal Mata Kuliah Dengan Eclipsde

1 komentar

Pada kesempatan ini, saya akan berbagi tutorial tentang cara membuat jadwal mata kuliah atau mata pelajaran berikut nanti hasilnya..



Ok mari kita buat aplikasinya.

1. Buat projectnya beri nama dengan "Jadwal Mata Kuliah" dan packagenya "com.ahmadsahidin.polimediamks.jadwalmatakuliah" seperti gambar berikut..


2.  Klik Next sampai Finsih, dan biarkan default aja.
3.  Masuk ke directori main.xml di  "res/menu/main.xml". Sesuaikan dengan code berikut

<menu xmlns:android="http://schemas.android.com/apk/res/android" >  
     <item
        android:id="@+id/action_senin"
        android:orderInCategory="100"
        android:showAsAction="never"
        android:title="Senin"/>
    <item
        android:id="@+id/action_selasa"
        android:orderInCategory="100"
        android:showAsAction="never"
        android:title="Selasa"/>
    <item
        android:id="@+id/action_rabu"
        android:orderInCategory="100"
        android:showAsAction="never"
        android:title="Rabu"/>
    <item
        android:id="@+id/action_kamis"
        android:orderInCategory="100"
        android:showAsAction="never"
        android:title="Kamis"/>
    <item
        android:id="@+id/action_jumat"
        android:orderInCategory="100"
        android:showAsAction="never"
        android:title="Jumat"/>
</menu>


4.  Masuk ke folder layout. Buka  "res/layout/activity_main.xml". Sesuaikan dengan code berikut

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >

    <TextView
        android:id="@+id/textViewHari"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:text=""
        android:textAppearance="?android:attr/textAppearanceMedium" />

    <ListView
        android:id="@+id/listViewJadwal"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/textViewHari"
        android:layout_below="@+id/textViewHari" >
    </ListView>

</RelativeLayout>

5.  Buat layout baru di "res/layout" beri nama dengan  "baris_jadwalkuliah.xml". Ini digunakan untuk layout baris. Lalu sesuaikan dengan code berikut.

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >

    <TextView
        android:id="@+id/textViewHari"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:text=""
        android:textAppearance="?android:attr/textAppearanceMedium" />

    <ListView
        android:id="@+id/listViewJadwal"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/textViewHari"
        android:layout_below="@+id/textViewHari" >
    </ListView>

</RelativeLayout>

6.  Buat dua  class baru di "src/com.ahmadsahidin.polimediamks.jadwalmatakuliah" dan beri nama dengan
  • Jadwal.java
  • AdapterJadwal.java

7.  Buka class  "Jadwal.java" dan sesuaikan dengan code berikut

package com.ahmadsahidin.polimediamks.jadwalmatakuliah;

public class Jadwal {
 public String hari="";
 public String jam="";
 public String pelajaran="";

 public Jadwal (String pday, String ptime, String plesson){
  this.hari = pday;
  this.jam = ptime;
  this.pelajaran = plesson;
 }

}

8.  Buka class  "AdapterJadwal.java", sesuaikan dengan code berikut.

package com.ahmadsahidin.polimediamks.jadwalmatakuliah;

import java.util.ArrayList;

import android.app.Activity;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.TextView;

public class AdapterJadwal extends ArrayAdapter {
    private Activity activity;
    private ArrayList lJadwal;
    private static LayoutInflater inflater = null;

    public AdapterJadwal (Activity activity, int textViewResourceId,ArrayList al_Jadwal) {
        super(activity, textViewResourceId, al_Jadwal);
        try {
            this.activity = activity;
            this.lJadwal = al_Jadwal;

            inflater = (LayoutInflater) activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);

        } catch (Exception e) {

        }
    }

    public int getCount() {
        return lJadwal.size();
    }

    public long getItemId(int position) {
        return position;
    }

    public static class ViewHolder {
        public TextView jam;
        public TextView pelajaran;

    }

    public View getView(int position, View convertView, ViewGroup parent) {
        View vi = convertView;
        final ViewHolder holder;
        try {
            if (convertView == null) {
                vi = inflater.inflate(R.layout.baris_jadwalkuliah, null);
                holder = new ViewHolder();

                holder.jam = (TextView) vi.findViewById(R.id.textViewRowJam);
                holder.pelajaran = (TextView) vi.findViewById(R.id.textViewRowPelajaran);

                vi.setTag(holder);
            } else {
                holder = (ViewHolder) vi.getTag();
            }

            holder.jam.setText(lJadwal.get(position).jam);
            holder.pelajaran.setText(lJadwal.get(position).pelajaran);

        } catch (Exception e) {

        }
        return vi;
    }
}

9.  Buka class  "MainActivity.java"  sesuaikan dengan code berikut

package com.ahmadsahidin.polimediamks.jadwalmatakuliah;

import java.util.ArrayList;

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.ListView;
import android.widget.TextView;

public class MainActivity extends Activity {
 ArrayList  list_jadwal = new ArrayList();
 TextView tvhari;
 ListView listviewjadwal ;
 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);
  tvhari = (TextView) findViewById(R.id.textViewHari);
  listviewjadwal = (ListView) findViewById(R.id.listViewJadwal);
  initData();
 }

 public void initData() {
  list_jadwal.add(new Jadwal("Senin","08:00-10:00","Audio Editing"));
  list_jadwal.add(new Jadwal("Senin","10:00-12:00","Video Editing"));
  list_jadwal.add(new Jadwal("Senin","12:00-13:00","Pendidikan Agama Islam"));
  list_jadwal.add(new Jadwal("Senin","13:00-15:00","Video Editing"));
  list_jadwal.add(new Jadwal("Selasa","08:00-10:00","Media Digital Grafis"));
  list_jadwal.add(new Jadwal("Selasa","10:00-12:00","English"));
  list_jadwal.add(new Jadwal("Selasa","12:00-13:00","Istirahat"));
  list_jadwal.add(new Jadwal("Selasa","13:00-15:00","Nirmana"));
  list_jadwal.add(new Jadwal("Rabu","08:00-10:00","English 2"));
  list_jadwal.add(new Jadwal("Rabu","10:00-12:00","Medai Digital Grafis"));
  list_jadwal.add(new Jadwal("Rabu","12:00-13:00","Istirahat"));
  list_jadwal.add(new Jadwal("Rabu","13:00-15:00","Project Media Grafis"));
  list_jadwal.add(new Jadwal("Kamis","08:00-10:00","Pemrograman Visual"));
  list_jadwal.add(new Jadwal("Kamis","10:00-12:00","Pemrograman Visual"));
  list_jadwal.add(new Jadwal("Kamis","12:00-13:00","Istirahat"));
  list_jadwal.add(new Jadwal("Kamis","13:00-15:00","Pemrograman Visual"));
  list_jadwal.add(new Jadwal("Jumat","08:00-10:00","Fotografi"));
  list_jadwal.add(new Jadwal("Jumat","10:00-12:00","Komunikasi Multimedia"));
  list_jadwal.add(new Jadwal("Jumat","12:00-13:00","Istirahat"));
  list_jadwal.add(new Jadwal("Jumat","13:00-15:00","Storyboard Product Multimedia"));
 }

 @Override
 public boolean onCreateOptionsMenu(Menu menu) {
  // Inflate the menu; this adds items to the action bar if it is present.
  getMenuInflater().inflate(R.menu.main, menu);
     return super.onCreateOptionsMenu(menu);
 }

  /**
     * On selecting action bar
     * */
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Take appropriate action for each action item click
        switch (item.getItemId()) {
        case R.id.action_senin:
            showJadwal("Senin");
            return true;
        case R.id.action_selasa:
            // location found
         showJadwal("Selasa");
            return true;
        case R.id.action_rabu:
         showJadwal("Rabu");
            return true;
        case R.id.action_kamis:
         showJadwal("Kamis");
            return true;
        case R.id.action_jumat:
         showJadwal("Jumat");
            return true;
        default:
            return super.onOptionsItemSelected(item);
        }
    }

 public void showJadwal(String hari) {

  tvhari.setText("Hari " + hari);
  ArrayList jadwal_terpilih = new ArrayList();
   for (int i = 0; i < list_jadwal.size(); i++) {
    Jadwal jadwal = list_jadwal.get(i);
    if (jadwal.hari.equals(hari)) {
     jadwal_terpilih.add(jadwal);
    }
   }

  AdapterJadwal adapterjadwal = new AdapterJadwal(MainActivity.this, 0,
    jadwal_terpilih);
  listviewjadwal.setAdapter(adapterjadwal);

 }

}

10.  Silahkan edit jadwal mata kuliah yang terdapat pada class "MainActivity.java", sesuaikan dengan jadwal mata kulah anda.

11.  Jalankan projectnya. Kalau berhasil tampilannya seperti ini:




Demikian tutorial kali ini, Semoga bisa membantu dan bermanfaat.

sumber: agusharyanto.net

Label:

Video Tutorial - Mengenal Adobe After Effect

0 komentar

Adobe After Effect adalah program video editing yang berfungsi untuk mengolah dan menambahkan efek-efek khusus dalam pembuatan video. Adobe after effect merupakan program video editing yang memberikan berbagai jenis effek yang mengagumkan. Banyak film-film besar di holliwood diciptakan dari program ini.

Pertama kali saya menggunakan program ini, penulis juga masih bingung. Apa yang harus kita lakukan pertama kali, bagaimana kita memulainya, bagaimana memasukkan video dan suara, dan masih banyak lagi pertanyaan-pertanyaan lainnya. Akhirnya dengan sedikit kesabaran dan ketekunan, penulis pun akhirnya mulai menguasai sedikit demi sedikit penggunaan program ini, dan alhasil langsung kubagikan tutorialnya di Multimedia Solution ini.

Ok. berikut ini cara membuat lembaran baru (new project) di adobe after effect. Ini adalah tampilan pertama kali saat kita membuka adobe after effect..



Penjelasan:
  • Menu Utama
Tempat kumpulan menu – menu untuk mengakses fitur – fitur yang ada di after effect terdiri dari File, Edit, Composition, Layer, Effect, Animation, dll.

  • Toolbar 
Tempat alat – alat untuk mengedit video nantinya seperti Zoom, Teks, Shape, Clone, dll.

  • Library dan Effect View 
Tempat file source dan juga tampilan efeck yang akan dimunculkan di video. Ini adalah tempat semua import Komposisi, Video, Audio, Graphics, dll.

  • Pallete 
Ada beberapa seperti Time, Audio, Effect, dll. Ini panel yang besar namun tidak sepenuhnya diperlukan untuk penggunaan dasar.

  • Komposisi 
Menampilkan isi frame untuk komposisi yang dipilih.

  • Detail Effect dan Layer
Pallete ini digunakan untuk navigasi dalam mengedit video serta memberikan sentuhan permainan LAYER MODE, BLEND MODE, maupun MASKING untuk menggabungkan 2 gambar atau lebih sehingga terlihat menjadi 1 tampilan animasi.

  • Timeline 
fungsinya menampilkan durasi dan panjang video serta tampilan layer dan keyframe.


Fungsi - Fungsi Tool pada Toolbar : (klik pada gambar)

Untuk membuat project baru berikut tutorialnya. Klik Composition >> New Compotion


Maka tampilannya akan muncul seperti ini



Penjelasan Setting Composition 

  1. Composition Name : berinama pada compotion.
  2. Atur dimensi dan ukuran video yang deperlukan [ini bisa diubah nanti jika diperlukan] 
  3. Atur Pixel Aspect Ratio. Sesuaikan dengan komputer anda. atau gunakan default aja.
  4. Mengatur frame rate AE untuk menyesuaikan frame rate dalam video
  5. Atur durasi yang diinginkan. Jam;Menit;Detik;
  6. Klik Ok.


Selanjutnya untuk pengguna pertama kali, sebaiknya belajar dulu dengan membuat lirik lagu. Nanti tahap demi tahap anda akan mulai menguasai software ini.

Demikian tutorial saya kali ini. Silahkan berkomentar.

Label: ,

Android Tutorial - Aplikasi Bluetooth Dengan Eclipse

3 komentar

Aplikasi Bluetooth berbasis android ini di buat ketika saya membaca postingan salah satu anggota grup facebook  "Android Eclipse Indonesia".

Berikut hasil tampilannya ketika di jalankan...

Ok, Jika anda tertarik berikut tutorialnya :

1. Buat Project baru berinama dan sesuai dengan gambar berikut.



2.  Buka res/values/strings.xml. Kemudian sesuaikan dengan code berikut

<resources>
    <string name="app_name">Bluetooth</string>
    <string name="action_settings">Settings</string>
    <string name="hello_world">Hello world!</string>
    <string name="on">Turn On</string>
    <string name="off">Turn Off</string>
    <string name="Visible">Get Visible</string>
    <string name="List">List Devices</string>

</resources>

3.  Buka  activity_main.xml.  Kemudian isikan kode berikut

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
   xmlns:tools="http://schemas.android.com/tools"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   android:paddingBottom="@dimen/activity_vertical_margin"
   android:paddingLeft="@dimen/activity_horizontal_margin"
   android:paddingRight="@dimen/activity_horizontal_margin"
   android:paddingTop="@dimen/activity_vertical_margin"
   tools:context=".MainActivity" >

   <ScrollView
      android:id="@+id/scrollView1"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_alignParentBottom="true"
      android:layout_alignParentLeft="true"
      android:layout_alignParentRight="true"
      android:layout_alignParentTop="true" >

   <LinearLayout
      android:layout_width="match_parent"
      android:layout_height="match_parent"
      android:orientation="vertical" >

   <TextView
      android:id="@+id/textView1"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="@string/app_name"
      android:textAppearance="?android:attr/textAppearanceLarge" />

   <Button
      android:id="@+id/button1"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:onClick="on"
      android:text="@string/on" />

   <Button
      android:id="@+id/button2"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:onClick="visible"
      android:text="@string/Visible" />

   <Button
      android:id="@+id/button3"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:onClick="list"
      android:text="@string/List" />

   <Button
      android:id="@+id/button4"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:onClick="off"
      android:text="@string/off" />

   <ListView
      android:id="@+id/listView1"
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:visibility="visible" >

   </ListView>

   </LinearLayout>
</ScrollView>

</RelativeLayout>

4.   Buka MainActivity.java,  kemudian sesuaikan dengan kode berikut..

package com.ahmadsahidin.bluetooth;

import java.util.ArrayList;
import java.util.Set;

import android.os.Bundle;
import android.app.Activity;
import android.app.AlertDialog;
import android.bluetooth.BluetoothAdapter;
import android.bluetooth.BluetoothDevice;
import android.content.DialogInterface;
import android.content.Intent;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ListView;
import android.widget.Toast;

public class MainActivity extends Activity {

   private Button On,Visible,list;
   private Button Off;
   private BluetoothAdapter BA;
   private SetpairedDevices;
   private ListView lv;
   @Override
   protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);
      On = (Button)findViewById(R.id.button1);
      Off = (Button)findViewById(R.id.button2);
      Visible = (Button)findViewById(R.id.button3);
      list = (Button)findViewById(R.id.button4);

      lv = (ListView)findViewById(R.id.listView1);

      BA = BluetoothAdapter.getDefaultAdapter();
   }
   
   public void on(View view){
      if (!BA.isEnabled()) {
         Intent turnOn = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
         startActivityForResult(turnOn, 0);
         Toast.makeText(getApplicationContext(),"Turned on" 
         ,Toast.LENGTH_LONG).show();
      }
      else{
         Toast.makeText(getApplicationContext(),"Already on",
         Toast.LENGTH_LONG).show();
         }
   }
   public void list(View view){
      pairedDevices = BA.getBondedDevices();

      ArrayList list = new ArrayList();
      for(BluetoothDevice bt : pairedDevices)
         list.add(bt.getName());

      Toast.makeText(getApplicationContext(),"Showing Paired Devices",
      Toast.LENGTH_SHORT).show();
      final ArrayAdapter adapter = new ArrayAdapter
      (this,android.R.layout.simple_list_item_1, list);
      lv.setAdapter(adapter);

   }
   public void off(View view){
      BA.disable();
      Toast.makeText(getApplicationContext(),"Turned off / Bluetooth Mati" ,
      Toast.LENGTH_LONG).show();
   }
   public void visible(View view){
      Intent getVisible = new Intent(BluetoothAdapter.
      ACTION_REQUEST_DISCOVERABLE);
      startActivityForResult(getVisible, 0);

   }
   @Override
   public boolean onCreateOptionsMenu(Menu menu) {
      // Inflate the menu; this adds items to the action bar if it is present.
      getMenuInflater().inflate(R.menu.main, menu);
      return true;
   }

}

5.   Buka  AndroidManifest.xml , kemudian sesuaikan kodenya seperti berikut..

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.ahmadsahidin.bluetooth"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="19" />
   <uses-permission android:name="android.permission.BLUETOOTH"/>
   <uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>
    
    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.ahmadsahidin.bluetooth.MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

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

</manifest>


6.  Jalankan aplikasinya..Satu hal yang perlu anda ingat, saat dijalankan di Android Virtual Device (AVD) di komputer, kemungkinan bluetoothnya tidak menyala, itu dikarenakan tidak terdapat komputer di bluetooth.
Saya anjurkan agar dijalankan langsung di platform andoroid dengan cara projectnya di export dan dijadikan file  .apk


  • Turn On  berarti bluetooth dihidupkan. Maka aplikasi akan meminta izin untuk menghidupkan bluetooth

  • Get Visible berarti perangkat akan terlihat. Layar ini akan  muncul untuk meminta izin terlihat selama 120 detik.

  • List device akan menunjukan daftar perangkat pasangan. Dalam gambar di bawah hanya terdapat satu perangkat pasangan.
  • Turn Off berarti bluetooth di matikan.
Demikian, semoga bermanfaat..

Label: ,

Android Tutorial - Membuat Kalender dengan Eclipse

8 komentar

Aplikasi Kalender berbasis android ini dibuat menggunakan program eclipse. Semoga aplikasi ini bisa bermanfaat. Berikut tutorialnya...



1.    Buka eclipse, Pilih   "New -> Android application Project.
2.    Isi nama projectnya dengan

  • Application Name  :  Kalender
  • Project Name    :    Kalender
  • Package Name  :   com.ahmadsahidin.kalender

3.    Pilih :

  • Minimum SDK  :  API  8 (Android 2.2)
  • Target SDK    :    API 19  (Android 4.4)
  • Compile with  :  Android 19 (Android 4.4)
  • Theme   :   Holo Light with Dark Action Bar

4.    Klik Next pada form-form selanjutnya biarkan default saja, kemudian klik finish.



5.    Buat folder baru di dalam  foler "res" dengan cara klik kanan di folder res  pilih  new -> folder.  Isi nama folder itu dengan  "drawable"

6.     Di dalam folder drawable isikan file-file berikut:



7.    Buka  file  "activity main"  dan  isikan kode berikut

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@drawable/background"
    android:orientation="vertical" >

    <RelativeLayout
        android:id="@+id/header"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:background="@drawable/hari" >

        <RelativeLayout
            android:id="@+id/previous"
            android:layout_width="40dip"
            android:layout_height="30dip"
            android:layout_alignParentLeft="true" >

            <ImageView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_centerInParent="true"
                android:background="@drawable/arrow_left" />
        </RelativeLayout>

        <TextView
            android:id="@+id/title"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerHorizontal="true"
            android:layout_marginTop="5dip"
            android:textColor="#000000"
            android:textSize="18dip"
            android:textStyle="bold" />

        <RelativeLayout
            android:id="@+id/next"
            android:layout_width="40dip"
            android:layout_height="30dip"
            android:layout_alignParentRight="true" >

            <ImageView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_centerInParent="true"
                android:background="@drawable/arrow_right" />
        </RelativeLayout>
    </RelativeLayout>

    <GridView
       
        android:id="@+id/gridview"
        android:layout_below="@+id/header"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:listSelector="@android:color/transparent"
        android:numColumns="7"
        android:stretchMode="columnWidth" />
    
    <LinearLayout 
        android:id="@+id/text"
        android:layout_below="@+id/gridview"
        android:layout_width="match_parent"
        android:layout_marginLeft="5dp"
        android:layout_marginRight="5dp"
        android:layout_height="wrap_content"
        android:orientation="vertical">
         <!-- <TextView 
             android:id="@+id/tvView"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:visibility="gone"
             android:text=""/> -->
    </LinearLayout>

</RelativeLayout>

8. Buat file baru  pada res/layout  dengan cara klik kana pada folder layout dan pilih "New ->> Android Xml File". Isikan namanya dengan  "calendar_item.xml".  Kemudian rubah kodenya seperti berikut

 <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@drawable/calendar_cell"
    android:gravity="center"
    android:orientation="vertical"
    android:padding="2dip" >

    <TextView
        android:id="@+id/date"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textColor="#0000D7"
        android:textSize="14sp"
        android:textStyle="bold" >
    </TextView>

    <ImageView
        android:id="@+id/date_icon"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"

        android:src="@drawable/dot"
        android:visibility="gone" />

</LinearLayout>


9.   Buka "MainActivity.java"  dan isikan kode berikut:

package com.ahmadsahidin.kalender;

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.GregorianCalendar;
import java.util.Locale;

import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
import android.os.Handler;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.GridView;
import android.widget.LinearLayout;
import android.widget.RelativeLayout;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends Activity {

 public GregorianCalendar month, itemmonth;// calendar instances.

 public CalendarAdapter adapter;// adapter instance
 public Handler handler;// for grabbing some event values for showing the dot
       // marker.
 public ArrayList items; // container to store calendar items which
         // needs showing the event marker
 ArrayList event;
 LinearLayout rLayout;
 ArrayList date;
 ArrayList desc;

 public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);
  Locale.setDefault(Locale.US);

  rLayout = (LinearLayout) findViewById(R.id.text);
  month = (GregorianCalendar) GregorianCalendar.getInstance();
  itemmonth = (GregorianCalendar) month.clone();

  items = new ArrayList();

  adapter = new CalendarAdapter(this, month);

  GridView gridview = (GridView) findViewById(R.id.gridview);
  gridview.setAdapter(adapter);

  handler = new Handler();


  TextView title = (TextView) findViewById(R.id.title);
  title.setText(android.text.format.DateFormat.format("MMMM yyyy", month));

  RelativeLayout previous = (RelativeLayout) findViewById(R.id.previous);

  previous.setOnClickListener(new OnClickListener() {

   @Override
   public void onClick(View v) {
    setPreviousMonth();
    refreshCalendar();
   }
  });

  RelativeLayout next = (RelativeLayout) findViewById(R.id.next);
  next.setOnClickListener(new OnClickListener() {

   @Override
   public void onClick(View v) {
    setNextMonth();
    refreshCalendar();

   }
  });

  gridview.setOnItemClickListener(new OnItemClickListener() {
   public void onItemClick(AdapterView parent, View v,
     int position, long id) {
    // removing the previous view if added
    if (((LinearLayout) rLayout).getChildCount() > 0) {
     ((LinearLayout) rLayout).removeAllViews();
    }
    desc = new ArrayList();
    date = new ArrayList();
    ((CalendarAdapter) parent.getAdapter()).setSelected(v);
    String selectedGridDate = CalendarAdapter.dayString
      .get(position);
    String[] separatedTime = selectedGridDate.split("-");
    String gridvalueString = separatedTime[2].replaceFirst("^0*",
      "");

                       // taking last part of date. ie; 2 from 2012-12-02.
    int gridvalue = Integer.parseInt(gridvalueString);
    // navigate to next or previous month on clicking offdays.
    if ((gridvalue > 10) && (position < 8)) {
     setPreviousMonth();
     refreshCalendar();
    } else if ((gridvalue < 7) && (position > 28)) {
     setNextMonth();
     refreshCalendar();
    }
    ((CalendarAdapter) parent.getAdapter()).setSelected(v);

    for (int i = 0; i < Utility.startDates.size(); i++) {
     if (Utility.startDates.get(i).equals(selectedGridDate)) {
      desc.add(Utility.nameOfEvent.get(i));
     }
    }

    if (desc.size() > 0) {
     for (int i = 0; i < desc.size(); i++) {
      TextView rowTextView = new TextView(MainActivity.this);

      // set some properties of rowTextView or something
      rowTextView.setText("Event:" + desc.get(i));
      rowTextView.setTextColor(Color.BLACK);

      // add the textview to the linearlayout
      rLayout.addView(rowTextView);

     }

    }

    desc = null;

   }

  });
 }

 protected void setNextMonth() {
  if (month.get(GregorianCalendar.MONTH) == month
    .getActualMaximum(GregorianCalendar.MONTH)) {
   month.set((month.get(GregorianCalendar.YEAR) + 1),
     month.getActualMinimum(GregorianCalendar.MONTH), 1);
  } else {
   month.set(GregorianCalendar.MONTH,
     month.get(GregorianCalendar.MONTH) + 1);
  }

 }

 protected void setPreviousMonth() {
  if (month.get(GregorianCalendar.MONTH) == month
    .getActualMinimum(GregorianCalendar.MONTH)) {
   month.set((month.get(GregorianCalendar.YEAR) - 1),
     month.getActualMaximum(GregorianCalendar.MONTH), 1);
  } else {
   month.set(GregorianCalendar.MONTH,
     month.get(GregorianCalendar.MONTH) - 1);
  }

 }

 protected void showToast(String string) {
  Toast.makeText(this, string, Toast.LENGTH_SHORT).show();

 }

 public void refreshCalendar() {
  TextView title = (TextView) findViewById(R.id.title);

  adapter.refreshDays();
  adapter.notifyDataSetChanged();

  title.setText(android.text.format.DateFormat.format("MMMM yyyy", month));
 }

 public Runnable calendarUpdater = new Runnable() {

  @Override
  public void run() {
   items.clear();

   // Print dates of the current week
   DateFormat df = new SimpleDateFormat("yyyy-MM-dd", Locale.US);
   event = Utility.readCalendarEvent(MainActivity.this);
   Log.d("=====Event====", event.toString());
   Log.d("=====Date ARRAY====", Utility.startDates.toString());

   for (int i = 0; i < Utility.startDates.size(); i++) {
    df.format(itemmonth.getTime());
    itemmonth.add(GregorianCalendar.DATE, 1);
    items.add(Utility.startDates.get(i).toString());
   }
   adapter.setItems(items);
   adapter.notifyDataSetChanged();
  }
 };
}


10.   Buat  2  class baru pada package  com.ahmadsahidin.kalender dan beri nama seperti berikut
  • CalendarAdapter.java
  • Utility.java

11.    Buka  file  CalendarAdaper.java   dan  isikan kode berikut

package com.ahmadsahidin.kalender;

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.GregorianCalendar;
import java.util.List;
import java.util.Locale;

import android.content.Context;
import android.graphics.Color;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;

public class CalendarAdapter extends BaseAdapter {
 private Context mContext;

 private java.util.Calendar month;
 public GregorianCalendar pmonth; // calendar instance for previous month
 /**
  * calendar instance for previous month for getting complete view
  */
 public GregorianCalendar pmonthmaxset;
 private GregorianCalendar selectedDate;
 int firstDay;
 int maxWeeknumber;
 int maxP;
 int calMaxP;
 int lastWeekDay;
 int leftDays;
 int mnthlength;
 String itemvalue, curentDateString;
 DateFormat df;

 private ArrayList items;
 public static List dayString;
 private View previousView;

 public CalendarAdapter(Context c, GregorianCalendar monthCalendar) {
  CalendarAdapter.dayString = new ArrayList();
  Locale.setDefault(Locale.US);
  month = monthCalendar;
  selectedDate = (GregorianCalendar) monthCalendar.clone();
  mContext = c;
  month.set(GregorianCalendar.DAY_OF_MONTH, 1);
  this.items = new ArrayList();
  df = new SimpleDateFormat("yyyy-MM-dd", Locale.US);
  curentDateString = df.format(selectedDate.getTime());
  refreshDays();
 }

 public void setItems(ArrayList items) {
  for (int i = 0; i != items.size(); i++) {
   if (items.get(i).length() == 1) {
    items.set(i, "0" + items.get(i));
   }
  }
  this.items = items;
 }

 public int getCount() {
  return dayString.size();
 }

 public Object getItem(int position) {
  return dayString.get(position);
 }

 public long getItemId(int position) {
  return 0;
 }

 // create a new view for each item referenced by the Adapter
 public View getView(int position, View convertView, ViewGroup parent) {
  View v = convertView;
  TextView dayView;
  if (convertView == null) { // if it's not recycled, initialize some
         // attributes
   LayoutInflater vi = (LayoutInflater) mContext
     .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
   v = vi.inflate(R.layout.calendar_item, null);

  }
  dayView = (TextView) v.findViewById(R.id.date);
  // separates daystring into parts.
  String[] separatedTime = dayString.get(position).split("-");
  // taking last part of date. ie; 2 from 2012-12-02
  String gridvalue = separatedTime[2].replaceFirst("^0*", "");
  // checking whether the day is in current month or not.
  if ((Integer.parseInt(gridvalue) > 1) && (position < firstDay)) {
   // setting offdays to white color.
   dayView.setTextColor(Color.WHITE);
   dayView.setClickable(false);
   dayView.setFocusable(false);
  } else if ((Integer.parseInt(gridvalue) < 7) && (position > 28)) {
   dayView.setTextColor(Color.WHITE);
   dayView.setClickable(false);
   dayView.setFocusable(false);
  } else {
   // setting curent month's days in blue color.
   dayView.setTextColor(Color.BLUE);
  }

  if (dayString.get(position).equals(curentDateString)) {
   setSelected(v);
   previousView = v;
  } else {
   v.setBackgroundResource(R.drawable.list_item_background);
  }
  dayView.setText(gridvalue);

  // create date string for comparison
  String date = dayString.get(position);

  if (date.length() == 1) {
   date = "0" + date;
  }
  String monthStr = "" + (month.get(GregorianCalendar.MONTH) + 1);
  if (monthStr.length() == 1) {
   monthStr = "0" + monthStr;
  }

  // show icon if date is not empty and it exists in the items array
  ImageView iw = (ImageView) v.findViewById(R.id.date_icon);
  if (date.length() > 0 && items != null && items.contains(date)) {
   iw.setVisibility(View.VISIBLE);
  } else {
   iw.setVisibility(View.INVISIBLE);
  }
  return v;
 }

 public View setSelected(View view) {
  if (previousView != null) {
   previousView.setBackgroundResource(R.drawable.list_item_background);
  }
  previousView = view;
  view.setBackgroundResource(R.drawable.calendar_cel_selectl);
  return view;
 }

 public void refreshDays() {
  // clear items
  items.clear();
  dayString.clear();
  Locale.setDefault(Locale.US);
  pmonth = (GregorianCalendar) month.clone();
  // month start day. ie; sun, mon, etc
  firstDay = month.get(GregorianCalendar.DAY_OF_WEEK);
  // finding number of weeks in current month.
  maxWeeknumber = month.getActualMaximum(GregorianCalendar.WEEK_OF_MONTH);
  // allocating maximum row number for the gridview.
  mnthlength = maxWeeknumber * 7;
  maxP = getMaxP(); // previous month maximum day 31,30....
  calMaxP = maxP - (firstDay - 1);// calendar offday starting 24,25 ...
  /**
   * Calendar instance for getting a complete gridview including the three
   * month's (previous,current,next) dates.
   */
  pmonthmaxset = (GregorianCalendar) pmonth.clone();
  /**
   * setting the start date as previous month's required date.
   */
  pmonthmaxset.set(GregorianCalendar.DAY_OF_MONTH, calMaxP + 1);

  /**
   * filling calendar gridview.
   */
  for (int n = 0; n < mnthlength; n++) {

   itemvalue = df.format(pmonthmaxset.getTime());
   pmonthmaxset.add(GregorianCalendar.DATE, 1);
   dayString.add(itemvalue);

  }
 }

 private int getMaxP() {
  int maxP;
  if (month.get(GregorianCalendar.MONTH) == month
    .getActualMinimum(GregorianCalendar.MONTH)) {
   pmonth.set((month.get(GregorianCalendar.YEAR) - 1),
     month.getActualMaximum(GregorianCalendar.MONTH), 1);
  } else {
   pmonth.set(GregorianCalendar.MONTH,
     month.get(GregorianCalendar.MONTH) - 1);
  }
  maxP = pmonth.getActualMaximum(GregorianCalendar.DAY_OF_MONTH);

  return maxP;
 }

}

12.   Buka  Utility.java  dan isikan kode berikut..

package com.ahmadsahidin.kalender;

import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;

import android.content.Context;
import android.database.Cursor;
import android.net.Uri;

public class Utility {
 public static ArrayList nameOfEvent = new ArrayList();
 public static ArrayList startDates = new ArrayList();
 public static ArrayList endDates = new ArrayList();
 public static ArrayList descriptions = new ArrayList();

 public static ArrayList readCalendarEvent(Context context) {
  Cursor cursor = context.getContentResolver()
    .query(Uri.parse("content://com.android.calendar/events"),
      new String[] { "calendar_id", "title", "description",
        "dtstart", "dtend", "eventLocation" }, null,
      null, null);
  cursor.moveToFirst();
  // fetching calendars name
  String CNames[] = new String[cursor.getCount()];

  // fetching calendars id
  nameOfEvent.clear();
  startDates.clear();
  endDates.clear();
  descriptions.clear();
  for (int i = 0; i < CNames.length; i++) {

   nameOfEvent.add(cursor.getString(1));
   startDates.add(getDate(Long.parseLong(cursor.getString(3))));
   endDates.add(getDate(Long.parseLong(cursor.getString(4))));
   descriptions.add(cursor.getString(2));
   CNames[i] = cursor.getString(1);
   cursor.moveToNext();

  }
  return nameOfEvent;
 }

 public static String getDate(long milliSeconds) {
  SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
  Calendar calendar = Calendar.getInstance();
  calendar.setTimeInMillis(milliSeconds);
  return formatter.format(calendar.getTime());
 }
}

13.  Jalankan aplikasinya.  Kalau ada masalah silahkan berkomentar di bawah