Berpindah activity pada android mengunakan intent

Seperti pada penjelasan saya sebelumnya intent dapat digunakan untuk berpindah antar form atau kita menyebutnya antar activity pada sebuah aplikasi android

oke ini kodenya

Intent i = new Intent(kelasasal.this, NewClaas.class);
 startActivity(i); 

NewClaas.class merupakan class tujuan /activity yang dituju,kelas asal merupakan kelas intent tsb

contoh

disini ada 2 activity dengan button pada masing-masing activity,button  tersebut jika diklik akan menuju activity

file java 1

package com.example.berpindahform;

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

public class Form1 extends Activity {
private Button tombol;
 @Override
 protected void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.form1);
 tombol=(Button)findViewById(R.id.button1);
 tombol.setOnClickListener(new OnClickListener() {

 @Override
 public void onClick(View v) {
 Intent i = new Intent(Form1.this, Form2.class);
 startActivity(i);

 }
 });
 }

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

}
 

file java 2

package com.example.berpindahform;

import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;

import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class Form2 extends Activity {
 public Button tombol;
 @Override
 protected void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.form2);
 tombol=(Button)findViewById(R.id.button1);
 tombol.setOnClickListener(new OnClickListener() {

 @Override
 public void onClick(View v) {
 Intent i = new Intent(Form2.this, Form1.class);
 startActivity(i);

 }
 });
 }

}
 

file xml 1

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 xmlns:tools="http://schemas.android.com/tools"
 android:id="@+id/LinearLayout1"
 android:layout_width="match_parent"
 android:layout_height="match_parent"
 android:orientation="vertical"
 tools:context=".Form1" >

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

<Button
 android:id="@+id/button1"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:layout_marginTop="60dp"
 android:text="ganti form" />

</LinearLayout>
 

file xml 2

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 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="ini form 2"
 android:textAppearance="?android:attr/textAppearanceLarge" />

<Button
 android:id="@+id/button1"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:layout_marginTop="60dp"
 android:text="ganti form" />

</LinearLayout>
 

hasilnya
intent1
download filenya
semoga berguna 🙂

Set ukuran launcher icon untuk program android

ketika develop android kita disuguhkan dengan 4 input icon

icon_android

menurut sumbernya syarat launcher icon itu ” should be 32-bit PNGs with an alpha channel for transparency.”
icon
ukuran icon yang berbeda-beda  diperlukan untuk tampil sebagai icon pada  device yang digunakan oleh user (ingat ukuran device user berbeda beda)

referensi :http://developer.android.com/guide/practices/ui_guidelines/icon_design_launcher.html#icons_in_market
semoga berguna 🙂

Daur hidup program android

Kali ini kita membahas daur hidup program android

lihat gambar dibawah ini (state- state aplikasi android den metodeyang dipanggil)

android_lc

gambar dari http://www.anddev.org/images/android/activity_lifecycle.png

kita mencoba membuat program dan menulis log akses nya pada emulator sehingga  aktifitas pada emulator terekam semua

check this out,

masih dalam progres heheheh

referensi

semoga berguna

Membuat splash screen android

kali inikita mencoba membuat  splash screen pada android  😀

splash

ok cekidot gan
bahannya

1 file layout yang untuk splash screennya beserta  file java (splash.java dan splash.xml )

2 file utama (MainActivity.java dan MainActivity.xml)

file splash.java


package com.example.splash_screen;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;

public class splash extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.splash);

Thread timer = new Thread() {
public void run() {
try {
//berapalama splashscreen akan ditampilkan dalam milisecond
sleep(3000);
} catch (InterruptedException e) {
// TODO: handle exception
e.printStackTrace();
} finally {
//activity yang akan dijalankan setelah splashscreen selesai
Intent i = new Intent(splash.this,MainActivity.class);
startActivity(i);
}
}
};
timer.start();
}
public void onBackPressed() {
}

}



file splash.xml


<?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" >

<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_margin="10dp"
android:text="SPLASH SCREEN"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textSize="30sp"
android:typeface="serif" />

<TextView
android:id="@+id/textView4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="Keep Your Account Data Safety"
android:textAppearance="?android:attr/textAppearanceMedium" />

<TextView
android:id="@+id/textView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginBottom="30dp"
android:layout_marginTop="10dp"
android:text="99,99 % SECURE"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textSize="20sp" />



<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="50dp"
android:text="LOADING . . ."
android:textAppearance="?android:attr/textAppearanceLarge"
android:textSize="25sp" />

</LinearLayout>

file MainActivity.java


package com.example.splash_screen;

import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;

public class MainActivity extends Activity {

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

@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
public void onBackPressed() {
}
@Override
protected void onRestart() {
super.onRestart();  // ini dipasang jika aplikasi di hide akan kembali ke splash lagi hilangkan saja bila tidak diperlukan
Intent myIntent = new Intent(this, splash.class);
startActivityForResult(myIntent, 0);
}

}

file MainActivity.xml


<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"
tools:context=".MainActivity" >

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:text="@string/hello_world" />

</RelativeLayout>



download kodenya

semoga berguna:)

Serba serbi pixel ,kepadatan layar ppi handphone, ukuran layar

ok kali ini saya mencoba ekplorasi pengetahuan saya dan kombinasi dari kumpulan  tulisan – tulisan yang bertebaran di internet biar ndak susah saya carinya lagi heheh:) sekarang kita coba ekplorasi hal-hal yang sering kita dengar dan berhubungan dengan layar, bagaimana memilih resolusi layar dsb , (ini berguna ketika kita develop program ataupun memilih layar handphone :D)

Pixel kita analogikan saja degan titik,berasal dari “pix” (untuk “picture”) dan el (untuk “element”) Pada layar  terdapat banyak sekali titik-titik berwarna yang letaknya sangat rapat, sehingga anda tidak bisa melihatnya begitu saja. Titik-titik inilah yang membentuk citra tertentu di layar anda. Jadi pixel tidak lain adalah bulatan kecil yang kita sebut titik.

Kerapatan atau konsentrasi titik pada layar menentukan seberapa halus gambar yang tampil di sana. Semakin banyak titik yang terdapat dalam layar dengan luas yang sama, semakin halus gambar yang ditampilkannya. Ini dikatakan memiliki resolusi tinggi, atau sederhananya, resolusi yang bagus.

PPI  adalah satuan banyaknya piksel dalam inchi. Semakin besar ppi maka semakin jernih pula layar tersebut. Hal ini berpengaruh terhadap kualitas gambar/video yang ditampilkan, serta kemampuan grafis untuk bermain game
Makin besar resolusi dan kepadatan pixel per inchi yang dimiliki, makin bagus kualitasnya.
INGAT, resolusi layar dalam satuan pixel BUKAN besar/ukuran layar yang dinyatakan dalam satuan inchi

Pixel Density /densitas piksel mengacu pada konsentrasi piksel pada layar tertentu, diukur dalam pixel per inch (ppi). Kerapatan piksel dihitung dengan membagi resolusi pixel diagonal layar dengan ukuran diagonal.

VGA (VIDEO GRAPHIC ARRAY)= 480×640  piksel
QVGA (QUARTER VGA) = 240×320 piksel = 76.800 , 1/4 dari ukuran VGA ( 480×640 = 307.200 X 1/4 = 76.800 )
WQVGA (WIDE QUARTER VGA) = 240×432 piksel
nHD (NINTH HD)= 360×640 piksel 1/9 dari ukuran HD (ini yang saya cari belom ketemu  jika emang benar ukuranya  1/9 dari hd)??
WVGA (WIDE VGA) =480×800 piksel
HVGA (HALF VGA) = 320×480 piksel  = 153.600, 1/2 dari ukuran VGA ( 480×640 = 307.200 X 1/2 = 153.600 )
FWVGA (FULL WIDE VGA)= 480×854  piksel
qHD (QUARTER HD)= 540×960 piksel
DVGA (DOUBLE VGA)= 640×960 piksel
XGA  (EXTENDED GRAPHIC ARRAY)= 728×1024 piksel
HD (HIGH DEFINITION)= 720×1280 piksel sering disebut juga 720p
WXGA (WIDE XGA) = 800×1280 piksel
FHD (FULL HD) = 1080×1920 piksel biasa dibaca 1080p atau dibaca “ten eighty pi” aspek rasio 16:9 Widescreen

1 Inci = 2.54 cm
jika kita sedang membuatprogram dengan android  Terkadang ada beberapa istilah yang berkaitan dengan screen density, mungkin istilah LDPI, MDPI, HDPI dan XHDPI telah sering terdengar.bisa kita lihat pada tabel berikut
ukuran android
oke kita coba menghitung ppi
rumusnya
ppi
langsung kita coba hitung
ukuran layar yang beda ukuran layar lebih besar bukan jaminan layar menjadi jernih
ppi untuk Galaxy Fit dan Nokia E6
GALAXY FIT
Resolusi : 240 x 320 pixels
Layar : 3.3 inch
ppi_fit
NOKIA E6
Resolusi : 480 x 640 pixels
Layar : 2.46 inch
ppi_e6
contoh efek dari ppi /densitas layar yang tinggi vs rendah
ppi rendah
pp1jelek
ppi tinggi
ppibagus

tips ukuran density degn ukuran layar kurang lebih 4 inchi

<150 ppi = Tidak bagus, piksel terlihat jelas, garis miring terlihat bergerigi. layar kotak-kotak
150 ppi – 200 ppi = Kurang bagus, piksel masih terlihat, garis miring agak bergerigi, layar sedikit kotak-kotak
200 ppi – 250 ppi = Lumayan bagus, cukup jernih
250 ppi – 300 ppi = Bagus, layar jernih, piksel tak terlihat
> 300 ppi = Sangat bagus, layar sangat jernih, piksel sama sekali tidak terlihat
semoga berguna

Mengenal ukuran di android pixels, density, dpi, dip, dp, dps, sp, sip

ok mari kita mengenal jauh lebih dekat dengan ukuran android

tipe ukuran yang biasa kita pakai pada android

dp atau dip
Density-independent Pixels – An abstract unit that is based on the physical density of the screen. These units are relative to a 160 dpi (dots per inch) screen, on which 1dp is roughly equal to 1px. When running on a higher density screen, the number of pixels used to draw 1dp is scaled up by a factor appropriate for the screen’s dpi. Likewise, when on a lower density screen, the number of pixels used for 1dp is scaled down. The ratio of dp-to-pixel will change with the screen density, but not necessarily in direct proportion. Using dp units (instead of px units) is a simple solution to making the view dimensions in your layout resize properly for different screen densities. In other words, it provides consistency for the real-world sizes of your UI elements across different devices.
sp
Scale-independent Pixels – This is like the dp unit, but it is also scaled by the user’s font size preference. It is recommend you use this unit when specifying font sizes, so they will be adjusted for both the screen density and the user’s preference.
pt
Points – 1/72 of an inch based on the physical size of the screen.
px
Sesuai dengan piksel yang sebenarnya pada layar. Ini satuan ukuran tidak dianjurkan karena hasilnya dapat bervariasi di seluruh perangkat, setiap perangkat  memiliki pixel layar yang berbeda
mm
Millimeters – ukuran dalam milimeter (10 mm = 1cm)
in
Inches – ukuran dalam inchi (1 inchi = 2.54 cm)

perbedaan pada  ukururan layar sama resolusi beda menghasilkan  (http://blog.edwinevans.me/?p=131)

Lower resolution screen Higher resolution, same size
Physical Width 1.5 inches 1.5 inches
Dots Per Inch (“dpi”) 160 240
Pixels (=width*dpi) 240 360
Density (factor of baseline 160) 1.0 1.5
Density-independent Pixels (“dip” or “dp” or “dps”) 240 240
Scale-independent pixels (“sip” or “sp”) Depends on user font size settings same

TIPS memakai sp/dp  akan membuat aplikasi android anda kompatibel dengan beberapa resolusi, kepadatan ,ukuran layar  yang berbeda

referensi:
http://developer.android.com/guide/topics/resources/more-resources.html#Dimension

semoga berguna

Merubah time out adb

Kadang kala coba deploy atau ngetes program android kita ke emulator jika terlalu lama maka  emulator akan memberikan pesan pada logCat

[2011-06-13 12:32:21 - myTestApp] Failed to install myTestApp.apk on device '90033b24d022': timeout
[2011-06-13 12:32:21 - myTestApp] Launch canceled!

klik pada eclipse  menu Window | Preferences | Android | DDMS

kemudian cari  ADB connection time out nah waktunya disini dalam milisecond jika  100000 ms = 100 detik  nah ganti dengan nilai yang anda rasa cukup, default connection timeout  adalah 5000 ms (5 seconds).

adb

semoga berguna:)

Membuat ToggleButton android

kali ini kita mencoba untuk membuat toggle button android, toggle android bisa digunakan misalnya untuk tombol play, intinya tombol ini memiliki penanda  keadaan sudah diklik beda dengan button yang tidak mempunyai penanda

file xmlnya

&lt;LinearLayout xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;
 xmlns:tools=&quot;http://schemas.android.com/tools&quot;
 android:id=&quot;@+id/LinearLayout1&quot;
 android:layout_width=&quot;fill_parent&quot;
 android:layout_height=&quot;fill_parent&quot;
 android:orientation=&quot;vertical&quot;
 tools:context=&quot;.MainActivity&quot; &gt;

&lt;ToggleButton
 android:id=&quot;@+id/toggleButton1&quot;
 android:layout_width=&quot;wrap_content&quot;
 android:layout_height=&quot;wrap_content&quot;
 android:text=&quot;ToggleButton&quot;
 android:textOff=&quot;matek&quot;
 android:textOn=&quot;urip&quot; /&gt;

&lt;/LinearLayout&gt;

file javanya

package com.togglebutton;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;

public class MainActivity extends Activity {

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

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

}

penampakannya
toggle

download kodenya

semoga berguna:)

Membuat Ratingbar android

kali ini kita akan membuat ratingbar, biasanya digunakan untuk input suatu penilaian
yang perlu diketahui dari properti file xmlnya, lihat pada property Ratingbar
ratingbar2

numStars :menentukan jumlah bintang
stepsize: menetukan nilai setiap bintang
Rating :menentukan nilai awal bintang yang tepilih pada saat awal program di eksekusi

ok karena saya malas membuat kodenya kode ini saya ambil dari  http://www.mkyong.com/android/android-rating-bar-example/
file xmlnya


<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 xmlns:tools="http://schemas.android.com/tools"
 android:id="@+id/LinearLayout1"
 android:layout_width="fill_parent"
 android:layout_height="fill_parent"
 android:orientation="vertical"
 tools:context=".MainActivity" >
 <TextView
 android:id="@+id/lblRateMe"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:text="Rate Me"
 android:textAppearance="?android:attr/textAppearanceMedium" />

 <RatingBar
 android:id="@+id/ratingBar"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:numStars="4"
 android:rating="2.0"
 android:stepSize="1.0" />

 <Button
 android:id="@+id/btnSubmit"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:text="Submit" />

 <LinearLayout
 android:id="@+id/linearLayout1"
 android:layout_width="fill_parent"
 android:layout_height="fill_parent" >

 <TextView
 android:id="@+id/lblResult"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:text="Result : "
 android:textAppearance="?android:attr/textAppearanceLarge" />

 <TextView
 android:id="@+id/txtRatingValue"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:text=""
 android:textAppearance="?android:attr/textAppearanceSmall" />

 </LinearLayout>

</LinearLayout>

file javanya


package com.ratingbar;

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.RatingBar;
import android.widget.RatingBar.OnRatingBarChangeListener;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends Activity {

private RatingBar ratingBar;
 private TextView txtRatingValue;
 private Button btnSubmit;

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

addListenerOnRatingBar();
 addListenerOnButton();
 }

public void addListenerOnRatingBar() {

 ratingBar = (RatingBar) findViewById(R.id.ratingBar);
 txtRatingValue = (TextView) findViewById(R.id.txtRatingValue);

 //if rating value is changed,
 //display the current rating value in the result (textview) automatically
 ratingBar.setOnRatingBarChangeListener(new OnRatingBarChangeListener() {
 public void onRatingChanged(RatingBar ratingBar, float rating,
 boolean fromUser) {

 txtRatingValue.setText(String.valueOf(rating));

 }
 });
 }

 public void addListenerOnButton() {

 ratingBar = (RatingBar) findViewById(R.id.ratingBar);
 btnSubmit = (Button) findViewById(R.id.btnSubmit);

 //if click on me, then display the current rating value.
 btnSubmit.setOnClickListener(new OnClickListener() {

 @Override
 public void onClick(View v) {

 Toast.makeText(MainActivity.this,
 String.valueOf(ratingBar.getRating()),
 Toast.LENGTH_SHORT).show();

 }

 });

 }
}

penampakannya

ratingbar
download kodenya
semoga berguna 🙂

Membuat single check pada check box android

kali ini kita mencoba membuat checkbox pada android dengan hanya satu checkbox yang dapat di klik

file xmlnya


<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 xmlns:tools="http://schemas.android.com/tools"
 android:id="@+id/LinearLayout1"
 android:layout_width="fill_parent"
 android:layout_height="fill_parent"
 android:orientation="vertical"
 tools:context=".Checkbox1" >

<CheckBox
 android:id="@+id/ck1"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:text="Sate" />

<CheckBox
 android:id="@+id/ck2"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:text="Nasi Goreng" />

<CheckBox
 android:id="@+id/ck3"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:text="Soto" />

</LinearLayout>

file javanya


package com.example.checkbox1;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.CheckBox;
import android.widget.Toast;
public class Checkbox1 extends Activity {
 CheckBox ck1,ck2,ck3 ;
 @Override
 protected void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.activity_checkbox1);
 ck1 = (CheckBox) findViewById(R.id.ck1);
 ck2= (CheckBox) findViewById(R.id.ck2);
 ck3 = (CheckBox) findViewById(R.id.ck3);

 OnClickListener perintah = new OnClickListener() {

@Override
 public void onClick(View v) {
 CheckBox id = (CheckBox) v;
 //biar salah satu saja yang terchecked
 if(id.getId()== ck1.getId())
 {
 ck2.setChecked(false);
 ck3.setChecked(false);
 }
 else if(id.getId()== ck2.getId())
 {
 ck1.setChecked(false);
 ck3.setChecked(false);
 }
 else if(id.getId()== ck3.getId())
 {
 ck1.setChecked(false);
 ck2.setChecked(false);

}
 //memberi pesan
 Toast.makeText(Checkbox1.this, "anda memilih : "+((CheckBox) v).getText().toString(), Toast.LENGTH_SHORT).show();

 }
 };

 // set masing 2 listener untuk klik pada checkbox
 ck1.setOnClickListener(perintah);
 ck2.setOnClickListener(perintah);
 ck3.setOnClickListener(perintah);

 }



}

checkbox1

download kode

semoga berguna 🙂