Archive for Oktober 2014

MEMANFAATKAN INTENT UNTUK AKSES ACTION CALL dan ACTION DIAL Pada ANDROID

Aplikasi Android biasanya tidak hanya terdiri dari satu Activity saja, mungkin saja terdiri dari dua atau beberapa Activity yang saling mendukung. Jika Anda seorang pengembang aplikasi Android, tentunya perpindahan dari satu Activity ke Activity yang lain harus anda atur. Dalam aplikasi Android, perpindahan antar Activity dapat menggunakan Intent.

Dalam artikel ini intent akan dimanfaaatkan dalam meng-akses activity panggilan dan dial pada handpone,
Langsung saja jalankan program eclipse Android Devloper Tool, Pilih file-New-Android Application Project


Activity yang digunakan untuk membuat layout pada aplikasi ini menggunakan .xml untuk activity_main.xml
Langkah pertama dengan membuka dan memasukan kode pada activity_main.xml di folder res-layout.

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


    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="0.16" >

        <Button
            android:id="@+id/back"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_alignParentLeft="true"
            android:text="Back" />

        <TextView
            android:id="@+id/l"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignLeft="@+id/hasilteks"
            android:layout_below="@+id/hasilteks"
            android:layout_marginTop="14dp"
            android:text="" />

        <TextView
            android:id="@+id/hasilteks"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:layout_below="@+id/textView1"
            android:layout_marginTop="38dp" />

        <TextView
            android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_alignParentTop="true"
            android:layout_marginTop="25dp"
            android:text="Hasil Converter dari : " />

        <TextView
            android:id="@+id/teksdollar"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_above="@+id/hasilteks"
            android:layout_marginLeft="20dp"
            android:layout_toRightOf="@+id/textView1"
            android:text="" />

        <TextView
            android:id="@+id/textView2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_below="@+id/l"
            android:text="CALL" />

        <EditText
            android:id="@+id/nohp"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_below="@+id/textView2"
            android:layout_marginTop="18dp"
            android:ems="10" />

        <Button
            android:id="@+id/dial"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignBaseline="@+id/panggil"
            android:layout_alignBottom="@+id/panggil"
            android:layout_toRightOf="@+id/textView2"
            android:text="DIAL" />

        <Button
            android:id="@+id/panggil"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@+id/nohp"
            android:layout_marginTop="30dp"
            android:layout_toRightOf="@+id/teksdollar"
            android:text="PANGGIL" />
            
    </RelativeLayout>

</LinearLayout>


Langkah ke dua membuat beberapa fungsi dengan cara membuka dan memasukan kode pada target.java di folder rsc

package com.example.convertermatauang;

import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.telephony.PhoneStateListener;
import android.telephony.TelephonyManager;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

public class target extends Activity implements OnClickListener{
 
 TextView hasil ; 
 TextView teksdollar ; 
 Button panggil;
 Button dial;
 EditText nohp;
 
  protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.tampilankedua);
   
        Button move = (Button)findViewById(R.id.back);
        move.setOnClickListener(this);
        
        hasil = (TextView)findViewById(R.id.hasilteks);
        teksdollar = (TextView)findViewById(R.id.teksdollar);
        nohp = (EditText) findViewById(R.id.nohp);
        panggil = (Button)findViewById(R.id.panggil);
        dial = (Button)findViewById(R.id.dial);
        
        
     // add PhoneStateListener for monitoring
         MyPhoneListener phoneListener = new MyPhoneListener();
        TelephonyManager telephonyManager = (TelephonyManager) this.getSystemService(Context.TELEPHONY_SERVICE);
        // receive notifications of telephony state changes
        telephonyManager.listen(phoneListener,PhoneStateListener.LISTEN_CALL_STATE);
        
        Intent callingintent = getIntent();
        String dollar = callingintent.getStringExtra("dollar");
        String rupiah = callingintent.getStringExtra("hasilconvert");
        //int magicnumber = callingintent.getIntExtra("magicvalue", -1);
        teksdollar.setText(teksdollar.getText()+""+dollar);
        hasil.setText(hasil.getText()+""+rupiah);
        //labeltext.setText(""+magicnumber);
        
        panggil.setOnClickListener(new OnClickListener() {
   
   @Override
   public void onClick(View v) {
    // TODO Auto-generated method stub
      try {
       // set the data
                   //menjalankan aksi panggilan menggunakan intent
   String uri = "tel:"+nohp.getText().toString();
   Intent callIntent = new Intent(Intent.ACTION_CALL, Uri.parse(uri));
    startActivity(callIntent);
      }catch(Exception e) {
       Toast.makeText(getApplicationContext(),"Your call has failed...",
       Toast.LENGTH_LONG).show();
       e.printStackTrace();
     }
   }
  });
        dial.setOnClickListener(new OnClickListener() {
   
   @Override
   public void onClick(View v) {
    // TODO Auto-generated method stub
    try {
            //menjalankan aksi dial menggunakan intent
  String uri = "tel:"+nohp.getText().toString();
  Intent dialIntent = new Intent(Intent.ACTION_DIAL, Uri.parse(uri));
  startActivity(dialIntent);
     }catch(Exception e) {
     Toast.makeText(getApplicationContext(),"Your call has failed...",
     Toast.LENGTH_LONG).show();
     e.printStackTrace();
     }
    
   }
  });
       }
 @Override
 public void onClick(View v) {
  // TODO Auto-generated method stub
  Intent back = new Intent(this, MainActivity.class);
  startActivity(back);
 }
 
 private class MyPhoneListener extends PhoneStateListener {
   private boolean onCall = false;
   @Override
   public void onCallStateChanged(int state, String incomingNumber) {
   switch (state) {
   case TelephonyManager.CALL_STATE_RINGING:
   // phone ringing...
   Toast.makeText(target.this, incomingNumber + " calls you",
   Toast.LENGTH_LONG).show();
   break;
   case TelephonyManager.CALL_STATE_OFFHOOK:
   // one call exists that is dialing, active, or on hold
   Toast.makeText(target.this, "on call...",
   Toast.LENGTH_LONG).show();
   //because user answers the incoming call
   onCall = true;
   break;
   case TelephonyManager.CALL_STATE_IDLE:
   // in initialization of the class and at the end of phone call
   // detect flag from CALL_STATE_OFFHOOK
   if (onCall == true) {
    Toast.makeText(target.this, "restart app after call",
    Toast.LENGTH_LONG).show();
   // restart our application
   Intent restart = getBaseContext().getPackageManager().
   getLaunchIntentForPackage(getBaseContext().getPackageName());
   restart.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
   startActivity(restart);
   onCall = false;
  }
   break;
   default:
   break;
   }   
   
   }
  
 }

}
Langkah yang terakhir tambahkan permition pada AndroidManifest.Xml agar mendapatkan ijin untuk melakukan panggilan


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

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="19" />
 <uses-permission android:name="android.permission.CALL_PHONE"/>
 <uses-permission android:name="android.permission.READ_PHONE_STATE"/>
    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.example.convertermatauang.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.example.convertermatauang.target"
            android:label="@string/app_name">
        <intent-filter>
            <action android:name="android.intent.action.VIEW" />
             <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
       
        </activity>
    </application>

</manifest>
Jalankan aplikasinya project → Run as → Android Application. 

Berikut screenshoot dari aplikasi ini





Sumber referensi :
Minggu, 19 Oktober 2014
Posted by Unknown

IMAGE PROCCESING GRAYSCALE, BLACK AND WHITE, CONTRAS MENGGUNAKAN C#

Image prossesing adalah applikasi sederhana menggunakan bahasa pemrograman C#, Aplikasi ini berfungsi untuk memproses gambar diantaranya prosesnya grayscale, hitam putih, contras, coloring, bluring.

sourcecode aplikasi bisa di download disini

Mengenal Warna ,dan Pixel pada Gambar 
Warna memiliki 4 nilai dalam pixel
1. Alpha
2. Red    
3. Green 
4. Blue

ARGB memiliki nilai antara 0-255

Konversi RGB Menjadi Grayscale 

langkah pertama menentukan nilai RGB pada pixel.
Misalkan :
Red = 100
Green = 150
Blue = 200
ingat nilai ARGB antara 0-255
jadi dikalkulasikan rata-rata.

Average = (R+G+B)/3
Average = (100+150+200)/3
               = 150

Langsung Saja pada contoh Source code dibawah ini


            //dimensi gambar
            
            int width = Bitmap.Width;
            int height = Bitmap.Height;
            
            //warna pixel
            Color clr;
            for (int y = 0; y < height; y++)
            {
                for (int x = 0; x < width; x++)
                {
                    //memberi nilai pada pixel
                    clr = Bitmap.GetPixel(x, y);
                    
                    int r = clr.R;
                    int g = clr.G;
                    int b = clr.B;

                    //memberikan rata-rata
                    int avg = (r + g + b) / 3;
                    //memberikan nilai pada pixel yang baru
                    Bitmap.SetPixel(x, y, Color.FromArgb(avg, avg, avg));
                }
            }
            // mengeload grayscale pada image
            pictureBox1.Image = Bitmap;




Jumat, 10 Oktober 2014
Posted by Unknown

MEMBUAT APLIKASI ANDROID KONVERSI MATA UANG MENGGUNAKAN ECLIPSE

Aplikasi Konversi mata uang adalah aplikasi sederhana konversi mata uang rupiah ke dollar Amerika.Namanya juga program sederhana  jadi fungsinya cuman konversi 1 mata uang saja, Namun tidak menutup kemungkinan bila nantinya ditambah konversi ke mata uang negara lain.

Langsung saja jalankan program eclipse Android Devloper Tool, Pilih file-New-Android Application Project

Activity yang digunakan untuk membuat layout pada aplikasi ini menggunakan .xml untuk activity_main.xml

Langkah pertama dengan membuka dan memasukan kode pada activity_main.xml di folder res-layout.

//Untuk layout Menggunakan Relative Layout dan linear Layout
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/RL33"
    android:layout_width="fill_parent"
    android:layout_height="fill_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/nama"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="Rahman Anam [135150109111003]" />

    //Membuat Tombol Convert
    <Button
        android:id="@+id/convert"
        android:layout_width="fill_parent"  
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/nama"
        android:layout_alignParentBottom="true"
        android:layout_marginBottom="182dp"
        android:text="CONVERT" />

    //Membuat Linear Layout
    <LinearLayout321
        android:id="@+id/LL34"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_below="@+id/nama"
        android:orientation="vertical" >
  
        <TextView
            android:id="@+id/dollar"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Dollar" />

        //membuat teks input pada nilai dollar
        <EditText
            android:id="@+id/editTextDollar"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:ems="10" >

            <requestFocus />
        </EditText>
  
        <TextView
            android:id="@+id/rupiah"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Rupiah" />
        
  //Membuat teks view untuk menampilkan hasil konversi dari dolar ke rupiah 
        <TextView
            android:id="@+id/hasilrupiah"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="" />
       
    </LinearLayout>

</RelativeLayout>


Langkah ke dua membuka dan memasukan kode pada MainActivity.java di folder rsc


package com.example.convertermatauang;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

//Membuat fungsi untuk menerima atau mendengarkan perintah yang akan dilakukan
public class MainActivity extends Activity implements OnClickListener
{
 //inisialisasi 
 EditText dollar;
 TextView rupiah;
 Button convert;
 
 //memanggil semua aktifitas
 @Override
 protected void onCreate(Bundle savedInstanceState) 
 {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);
 //Memanggil Fungsi Button, EditText dan TetView dari .XML
  dollar = (EditText)this.findViewById(R.id.editTextDollar);
  rupiah = (TextView)this.findViewById(R.id.hasilrupiah);
  convert = (Button)this.findViewById(R.id.convert);
  convert.setOnClickListener(this);
 }
 
 
 @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;
 }

 //Menjalankan perintah ketika tombol convert di click
 @Override
 public void onClick(View v) 
 {
 //menghitung nilai hasil conversi mata uang dengan default 1 dollar 12.000
  double val = Double.parseDouble(dollar.getText().toString());
 rupiah.setText(Double.toString(val*12200));
 }
}



Berikut screenshoot dari aplikasi ini




Selasa, 07 Oktober 2014
Posted by Unknown
Diberdayakan oleh Blogger.

Followers

- Copyright © ASIX BELAJAR ILKOM -Metrominimalist- Powered by Blogger - Designed by Rahman Anam -