Label:

Android Tutorial Kirim Email

0 komentar

Untuk dapat mengirim email di android, perlu dilampirkan  "mailto:"  sebagai URL menggunakan method setData()  dan  type data  "text/plain"  dengan method setType()  seperti sintaks berikut.
emailIntent.setData(Uri.parse("mailto:"));
emailIntent.setType("text/plain");

Ok. Berikut tutorial cara mengirim pesan email di android menggunakan Eclipse

1.  Buat project baru, seperti gambar


2.  ketikan kode berikut pada directori "res/layout/activity_main.xml"
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="fill_parent"
   android:layout_height="fill_parent"
   android:orientation="vertical" >

   <Button android:id="@+id/kirimEmail"
   android:layout_width="fill_parent"
   android:layout_height="wrap_content"
   android:text="Menulis Email"/>
    
</LinearLayout>

3.  Ketikkan kode berikut pada  "src/com.ahmadsahidin.kirimemail/MainActivity.java"
package com.ahmadsahidin.kirimemail;

import android.net.Uri;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;

public class MainActivity extends Activity {

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

       Button startBtn = (Button) findViewById(R.id.kirimEmail);
       startBtn.setOnClickListener(new View.OnClickListener() {
          public void onClick(View view) {
          sendEmail();
       }
    });

    }
    protected void sendEmail() {
       Log.i("Send email", "");

       String[] TO = {"amrood.admin@gmail.com"};
       String[] CC = {"mcmohd@gmail.com"};
       Intent emailIntent = new Intent(Intent.ACTION_SEND);
       emailIntent.setData(Uri.parse("mailto:"));
       emailIntent.setType("text/plain");


       emailIntent.putExtra(Intent.EXTRA_EMAIL, TO);
       emailIntent.putExtra(Intent.EXTRA_CC, CC);
       emailIntent.putExtra(Intent.EXTRA_SUBJECT, "Your subject");
       emailIntent.putExtra(Intent.EXTRA_TEXT, "Email message goes here");

       try {
          startActivity(Intent.createChooser(emailIntent, "Send mail..."));
          finish();
          Log.i("Finished sending email...", "");
       } catch (android.content.ActivityNotFoundException ex) {
          Toast.makeText(MainActivity.this, 
          "There is no email client installed.", Toast.LENGTH_SHORT).show();
       }
    }

 @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;
 }

}

3.  Jalankan aplikasinya. berikut tampilannya


Label: ,

Tutorial Android SQLite Database

3 komentar

Android menyediakan beberapa cara untuk menyimpan data pengguna dan data aplikasi. Salah satunya ialah dengan menggukanan Database SQLite yang di dukung penuh oleh Android. SQLite adalah database yang sangat ringan yang include dalam Sistem Operasi Android. Dalam tutorial ini saya akan membahas bagaimana menulis class untuk menangani semua operasi SQLite.

Tutorial ini akan menggunakan contoh data penyimpanan buku kontak dalam database SQLite. Dalam membuat database menggunakan method openOrCreateDatabase dengan nama database dan mode sebagai parameter. Dengan mengembalikan instance dari sebuah database SQLite pada sintaks berikut
SQLiteDatabse mydatabase = openOrCreateDatabase("your database name",MODE_PRIVATE,null);

Kita dapat membuat tabel atau memasukkan data ke dalam tabel menggunakan execSQL method didefinisikan dalam kelas SQLiteDatabase. Sintaksnya seperti berikut.
mydatabase.execSQL("CREATE TABLE IF NOT EXISTS TutorialsPoint(Username VARCHAR,Password VARCHAR);");
mydatabase.execSQL("INSERT INTO TutorialsPoint VALUES('admin','admin');");

Untuk mengelola semua aplikasi yang berkaitan dengan database, di buatkan class khusus yang di beri nama SQLiteOpenHelper
public class DBHelper extends SQLiteOpenHelper {
   public DBHelper(){
      super(context,DATABASE_NAME,null,1);
   }
   public void onCreate(SQLiteDatabase db) {}
   public void onUpgrade(SQLiteDatabase database, int oldVersion, int newVersion) {}
}

Ok. Baiklah berikut adalah contoh aplikasi dengan menggunakan database SQLite. Ini adalah aplikasi kontak yang memungkinkan kita untuk menambahkan, menghapus dan memodifikasi kontak. Untuk membuat aplikasi ini, berikut tutorialnya.

1.  Buat Project baru dan atur seperti gambar berikut


2.  Klik  Next  sampai  Finish  dan biarkan default aja.
3.  Masuk ke directory  "res/values/strings.xml"  Sesuaikan dengan kode berikut.

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

    <string name="app_name">Buku Kontak</string>
    <string name="action_settings">Settings</string>
    <string name="hello_world">Hello world!</string>
    
   <string name="masukkan">Kontak Baru</string>
   <string name="edit">Edit</string>
   <string name="hapus">Hapus</string>
   <string name="title_activity_display_contact">DisplayContact</string>

   <string name="nama">Nama</string>
   <string name="phone">Telp</string>
   <string name="email">Email</string>
   <string name="alamat">Alamat</string>
   <string name="kota">Kota</string>

   <string name="simpan">Simpan</string>

   <string name="hapusKontakYakin">Anda yakin ingin menghapus kontak ini.</string>
   <string name="ya">Ya</string>
   <string name="tidak">Tidak</string>

</resources>

4.  Buat 2 directory baru di "res/menu/" beri nama dengan "display_contact.xml"  dan  "mainmenu.xml"
5.  Buka directory  "res/menu/display_contact.xml"  sesuaikan dengan code berikut.

<menu xmlns:android="http://schemas.android.com/apk/res/android" >
   <item
      android:id="@+id/Edit_Contact"
      android:orderInCategory="100"
      android:title="@string/edit"/>
   <item
      android:id="@+id/Delete_Contact"
      android:orderInCategory="100"
      android:title="@string/hapus"/>

</menu>

6.  Buka directory  "res/menu/mainmenu.xml"  atur codenya seperti berikut

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
   <item android:id="@+id/item1" 
      android:icon="@drawable/ic_launcher"
      android:title="@string/masukkan" 
      android:showAsAction="ifRoom|withText">
   </item>
</menu>

7.  Buka directory  "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" >

    <ListView
        android:id="@+id/listView1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true" >
    </ListView>

</RelativeLayout>

8.  Buat directory baru di  "res/layout"  berinama dengan  "activity_display_contact.xml" lalu sesuaikan dengan code berikut.

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
   xmlns:tools="http://schemas.android.com/tools"
      android:id="@+id/scrollView1"
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      tools:context=".DisplayContact" >

<RelativeLayout
   android:layout_width="match_parent"
   android:layout_height="370dp"
   android:paddingBottom="@dimen/activity_vertical_margin"
   android:paddingLeft="@dimen/activity_horizontal_margin"
   android:paddingRight="@dimen/activity_horizontal_margin"
   android:paddingTop="@dimen/activity_vertical_margin"
   >

   <EditText
      android:id="@+id/editTextNama"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_alignParentLeft="true"
      android:layout_marginTop="5dp"
      android:layout_marginLeft="82dp"
      android:ems="10"
      android:inputType="text" >
   </EditText>

   <EditText
      android:id="@+id/editTextEmail"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_alignLeft="@+id/editTextAlamat"
      android:layout_below="@+id/editTextAlamat"
      android:layout_marginTop="22dp"
      android:ems="10"
      android:inputType="textEmailAddress" />

   <TextView
      android:id="@+id/textView1"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_alignBottom="@+id/editTextNama"
      android:layout_alignParentLeft="true"
      android:text="@string/nama"
      android:textAppearance="?android:attr/textAppearanceMedium" />

   <Button
      android:id="@+id/button1"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_alignLeft="@+id/editTextKota"
      android:layout_alignParentBottom="true"
      android:layout_marginBottom="28dp"
      android:onClick="run"
      android:text="@string/simpan" />

   <TextView
      android:id="@+id/textView2"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_alignBottom="@+id/editTextEmail"
      android:layout_alignLeft="@+id/textView1"
      android:text="@string/email"
      android:textAppearance="?android:attr/textAppearanceMedium" />

   <TextView
      android:id="@+id/textView5"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_alignBottom="@+id/editTextPhone"
      android:layout_alignLeft="@+id/textView1"
      android:text="@string/phone"
      android:textAppearance="?android:attr/textAppearanceMedium" />

   <TextView
      android:id="@+id/textView4"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_above="@+id/editTextEmail"
      android:layout_alignLeft="@+id/textView5"
      android:text="@string/alamat"
      android:textAppearance="?android:attr/textAppearanceMedium" />

   <EditText
      android:id="@+id/editTextKota"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_alignRight="@+id/editTextNama"
      android:layout_below="@+id/editTextEmail"
      android:layout_marginTop="30dp"
      android:ems="10"
      android:inputType="text" />

   <TextView
      android:id="@+id/textView3"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_alignBaseline="@+id/editTextKota"
      android:layout_alignBottom="@+id/editTextKota"
      android:layout_alignParentLeft="true"
      android:layout_toLeftOf="@+id/editTextEmail"
      android:text="@string/kota"
      android:textAppearance="?android:attr/textAppearanceMedium" />

   <EditText
      android:id="@+id/editTextAlamat"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_alignLeft="@+id/editTextNama"
      android:layout_below="@+id/editTextPhone"
      android:ems="10"
      android:inputType="text" >

      <requestFocus />
   </EditText>

   <EditText
      android:id="@+id/editTextPhone"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_alignLeft="@+id/editTextAlamat"
      android:layout_below="@+id/editTextNama"
      android:ems="10"
      android:inputType="phone|text" />

</RelativeLayout>
</ScrollView>

9.  Buka  "src/com.ahmadsahidin.bukukontak/MainActivity.java"  sesuaikan dengan code berikut

package com.ahmadsahidin.bukukontak;

import java.util.ArrayList;

import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.KeyEvent;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.ListView;

public class MainActivity extends Activity {
   public final static String EXTRA_MESSAGE = "com.example.AddressBook.MESSAGE";

   private ListView obj; 
   DBHelper mydb;

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

      mydb = new DBHelper(this);
      ArrayList array_list = mydb.getAllCotacts();

      ArrayAdapter arrayAdapter =      
      new ArrayAdapter(this,android.R.layout.simple_list_item_1, array_list);

      //adding it to the list view.
      obj = (ListView)findViewById(R.id.listView1);
      obj.setAdapter(arrayAdapter);

      obj.setOnItemClickListener(new OnItemClickListener(){

     @Override
     public void onItemClick(AdapterView arg0, View arg1, int arg2,
     long arg3) {
         // TODO Auto-generated method stub
         int id_To_Search = arg2 + 1;
         Bundle dataBundle = new Bundle();
         dataBundle.putInt("id", id_To_Search);
         Intent intent = new Intent(getApplicationContext(),com.ahmadsahidin.bukukontak.DisplayContact.class);
         intent.putExtras(dataBundle);
         startActivity(intent);
     }
     });
   }
   @Override
   public boolean onCreateOptionsMenu(Menu menu) {
      // Inflate the menu; this adds items to the action bar if it is present.
      getMenuInflater().inflate(R.menu.mainmenu, menu);
      return true;
      }
   @Override 
   public boolean onOptionsItemSelected(MenuItem item) 
   { 
      super.onOptionsItemSelected(item); 
      switch(item.getItemId()) 
      { 
         case R.id.item1: 
            Bundle dataBundle = new Bundle();
            dataBundle.putInt("id", 0);
            Intent intent = new Intent(getApplicationContext(),com.ahmadsahidin.bukukontak.DisplayContact.class);
            intent.putExtras(dataBundle);
            startActivity(intent);
            return true; 
         default: 
            return super.onOptionsItemSelected(item); 

       } 

   } 
   public boolean onKeyDown(int keycode, KeyEvent event) {
      if (keycode == KeyEvent.KEYCODE_BACK) {
         moveTaskToBack(true);
      }
      return super.onKeyDown(keycode, event);
   }

}

10.  Buat 2 class baru di  "src/com.ahmadsahidin.bukukontak"  berinama dengan  "DisplayContact.java"  dan  "DBHelper.java"

11.  Buka  "src/com.ahmadsahidin.bukukontak/DisplayContact.java"  atur kodenya seperti berikut

package com.ahmadsahidin.bukukontak;

import android.os.Bundle;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.database.Cursor;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;

public class DisplayContact extends Activity {

   int from_Where_I_Am_Coming = 0;
   private DBHelper mydb ;
   TextView nama ;
   TextView phone;
   TextView email;
   TextView alamat;
   TextView kota;
   int id_To_Update = 0;


   @Override
   protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_display_contact);
      nama = (TextView) findViewById(R.id.editTextNama);
      phone = (TextView) findViewById(R.id.editTextPhone);
      alamat = (TextView) findViewById(R.id.editTextAlamat);
      email = (TextView) findViewById(R.id.editTextEmail);
      kota = (TextView) findViewById(R.id.editTextKota);

      mydb = new DBHelper(this);

      Bundle extras = getIntent().getExtras(); 
      if(extras !=null)
      {
         int Value = extras.getInt("id");
         if(Value>0){
            //means this is the view part not the add contact part.
            Cursor rs = mydb.getData(Value);
            id_To_Update = Value;
            rs.moveToFirst();
            String namaAnda = rs.getString(rs.getColumnIndex(DBHelper.CONTACTS_COLUMN_NAME));
            String telpon = rs.getString(rs.getColumnIndex(DBHelper.CONTACTS_COLUMN_PHONE));
            String emailAnda = rs.getString(rs.getColumnIndex(DBHelper.CONTACTS_COLUMN_EMAIL));
            String alamatAnda = rs.getString(rs.getColumnIndex(DBHelper.CONTACTS_COLUMN_STREET));
            String kotaAnda = rs.getString(rs.getColumnIndex(DBHelper.CONTACTS_COLUMN_CITY));
            if (!rs.isClosed()) 
            {
               rs.close();
            }
            Button b = (Button)findViewById(R.id.button1);
            b.setVisibility(View.INVISIBLE);

            nama.setText((CharSequence)namaAnda);
            nama.setFocusable(false);
            nama.setClickable(false);

            phone.setText((CharSequence)telpon);
            phone.setFocusable(false); 
            phone.setClickable(false);

            email.setText((CharSequence)emailAnda);
            email.setFocusable(false);
            email.setClickable(false);

            alamat.setText((CharSequence)alamatAnda);
            alamat.setFocusable(false); 
            alamat.setClickable(false);

            kota.setText((CharSequence)kotaAnda);
            kota.setFocusable(false);
            kota.setClickable(false);
           }
      }
   }
   @Override
   public boolean onCreateOptionsMenu(Menu menu) {
      // Inflate the menu; this adds items to the action bar if it is present.
      Bundle extras = getIntent().getExtras(); 
      if(extras !=null)
      {
         int Value = extras.getInt("id");
         if(Value>0){
            getMenuInflater().inflate(R.menu.display_contact, menu);
         }
         else{
            getMenuInflater().inflate(R.menu.main, menu);
         }
      }
      return true;
   }

   public boolean onOptionsItemSelected(MenuItem item) 
   { 
      super.onOptionsItemSelected(item); 
      switch(item.getItemId()) 
   { 
      case R.id.Edit_Contact: 
      Button b = (Button)findViewById(R.id.button1);
      b.setVisibility(View.VISIBLE);
      nama.setEnabled(true);
      nama.setFocusableInTouchMode(true);
      nama.setClickable(true);

      phone.setEnabled(true);
      phone.setFocusableInTouchMode(true);
      phone.setClickable(true);

      email.setEnabled(true);
      email.setFocusableInTouchMode(true);
      email.setClickable(true);

      alamat.setEnabled(true);
      alamat.setFocusableInTouchMode(true);
      alamat.setClickable(true);

      kota.setEnabled(true);
      kota.setFocusableInTouchMode(true);
      kota.setClickable(true);

      return true; 
      case R.id.Delete_Contact:

      AlertDialog.Builder builder = new AlertDialog.Builder(this);
      builder.setMessage(R.string.hapusKontakYakin)
     .setPositiveButton(R.string.ya, new DialogInterface.OnClickListener() {
         public void onClick(DialogInterface dialog, int id) {
            mydb.deleteContact(id_To_Update);
            Toast.makeText(getApplicationContext(), "Deleted Successfully", Toast.LENGTH_SHORT).show();  
            Intent intent = new Intent(getApplicationContext(),com.ahmadsahidin.bukukontak.MainActivity.class);
            startActivity(intent);
         }
      })
     .setNegativeButton(R.string.tidak, new DialogInterface.OnClickListener() {
         public void onClick(DialogInterface dialog, int id) {
            // User cancelled the dialog
         }
      });
      AlertDialog d = builder.create();
      d.setTitle("Anda Yakin");
      d.show();

      return true;
      default: 
      return super.onOptionsItemSelected(item); 

      } 
   } 

   public void run(View view)
   { 
      Bundle extras = getIntent().getExtras();
      if(extras !=null)
      {
         int Value = extras.getInt("id");
         if(Value>0){
            if(mydb.updateContact(id_To_Update,nama.getText().toString(), phone.getText().toString(), email.getText().toString(), alamat.getText().toString(), kota.getText().toString())){
               Toast.makeText(getApplicationContext(), "Terupdate", Toast.LENGTH_SHORT).show(); 
               Intent intent = new Intent(getApplicationContext(),com.ahmadsahidin.bukukontak.MainActivity.class);
               startActivity(intent);
             }  
            else{
               Toast.makeText(getApplicationContext(), "Tidak Terupadate", Toast.LENGTH_SHORT).show(); 
            }
   }
         else{
            if(mydb.insertContact(nama.getText().toString(), phone.getText().toString(), email.getText().toString(), alamat.getText().toString(), kota.getText().toString())){
               Toast.makeText(getApplicationContext(), "selesai", Toast.LENGTH_SHORT).show(); 
            }  
            else{
               Toast.makeText(getApplicationContext(), "belum selesai", Toast.LENGTH_SHORT).show(); 
            }
            Intent intent = new Intent(getApplicationContext(),com.ahmadsahidin.bukukontak.MainActivity.class);
            startActivity(intent);
            }
      }
   }
}

12.  Buka  "res/com.ahmadsahidin.bukukontak/DBHelper.java"  sesuaikan dengan kode berikut..

package com.ahmadsahidin.bukukontak;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.Hashtable;

import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.DatabaseUtils;
import android.database.sqlite.SQLiteOpenHelper;
import android.database.sqlite.SQLiteDatabase;

public class DBHelper extends SQLiteOpenHelper {

   public static final String DATABASE_NAME = "MyDBName.db";
   public static final String CONTACTS_TABLE_NAME = "contacts";
   public static final String CONTACTS_COLUMN_ID = "id";
   public static final String CONTACTS_COLUMN_NAME = "nama";
   public static final String CONTACTS_COLUMN_EMAIL = "email";
   public static final String CONTACTS_COLUMN_STREET = "alamat";
   public static final String CONTACTS_COLUMN_CITY = "kota";
   public static final String CONTACTS_COLUMN_PHONE = "phone";

   private HashMap hp;

   public DBHelper(Context context)
   {
      super(context, DATABASE_NAME , null, 1);
   }

   @Override
   public void onCreate(SQLiteDatabase db) {
      // TODO Auto-generated method stub
      db.execSQL(
      "create table contacts " +
      "(id integer primary key, nama text,phone text,email text, alamat text,kota text)"
      );
   }

   @Override
   public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
      // TODO Auto-generated method stub
      db.execSQL("DROP TABLE IF EXISTS contacts");
      onCreate(db);
   }

   public boolean insertContact  (String nama, String phone, String email, String alamat,String kota)
   {
      SQLiteDatabase db = this.getWritableDatabase();
      ContentValues contentValues = new ContentValues();

      contentValues.put("nama", nama);
      contentValues.put("phone", phone);
      contentValues.put("email", email); 
      contentValues.put("alamat", alamat);
      contentValues.put("kota", kota);

      db.insert("contacts", null, contentValues);
      return true;
   }
   public Cursor getData(int id){
      SQLiteDatabase db = this.getReadableDatabase();
      Cursor res =  db.rawQuery( "select * from contacts where id="+id+"", null );
      return res;
   }
   public int numberOfRows(){
      SQLiteDatabase db = this.getReadableDatabase();
      int numRows = (int) DatabaseUtils.queryNumEntries(db, CONTACTS_TABLE_NAME);
      return numRows;
   }
   public boolean updateContact (Integer id, String nama, String phone, String email, String alamat,String kota)
   {
      SQLiteDatabase db = this.getWritableDatabase();
      ContentValues contentValues = new ContentValues();
      contentValues.put("nama", nama);
      contentValues.put("phone", phone);
      contentValues.put("email", email);
      contentValues.put("alamat", alamat);
      contentValues.put("kota", kota);
      db.update("contacts", contentValues, "id = ? ", new String[] { Integer.toString(id) } );
      return true;
   }

   public Integer deleteContact (Integer id)
   {
      SQLiteDatabase db = this.getWritableDatabase();
      return db.delete("contacts", 
      "id = ? ", 
      new String[] { Integer.toString(id) });
   }
   public ArrayList getAllCotacts()
   {
      ArrayList array_list = new ArrayList();
      //hp = new HashMap();
      SQLiteDatabase db = this.getReadableDatabase();
      Cursor res =  db.rawQuery( "select * from contacts", null );
      res.moveToFirst();
      while(res.isAfterLast() == false){
      array_list.add(res.getString(res.getColumnIndex(CONTACTS_COLUMN_NAME)));
      res.moveToNext();
      }
   return array_list;
   }
}

13.  Buka AndroidManifest.xml  sesuaikan dengan code berikut

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

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="19" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.ahmadsahidin.bukukontak.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>
        <activity
         android:name="com.ahmadsahidin.bukukontak.DisplayContact"
         android:label="@string/title_activity_display_contact" >
      </activity>
    </application>

</manifest>


14.  Terakhir jalankan aplikasinya. Berikut tampilan hasil jadinya.








Sekian tutorial tentang database SQLite ini, semoga berguna dan bermanfaat.

src: tutorialspoint.com

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

0 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

0 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