Postingan kali ini masih mengenai pemrograman android yaitu kita akan membuat aplikasi android sederhana yang mampu menampilkan informasi dari Network Interface Card ( NIC ) yang terhubung dengan perangkat android kita.
Disini saya menggunakan Software Eclipse , jika anda menggunakan Android Studio silahkan sama saja sourcod programnya tinggal anda pilih mana yang lebih familiar menurut anda. Tutorial membuat aplikasi android yang mampu menampilkan NIC ( Network Interface Card ) pada perangkat android anda dengan menggunakan software eclipse terbaru .
Berikut tutorial pemrograman android menampilkan Network Interface Card , disini kita menggunakan 2 Class NetworkInterface dan Class InetAddress ( penjelasan di bawah ) :
1. Buat project baru dengan nama IPSaya_Helmy , gunakan minimal API 11 GingerBeard kemudian pilih Next sampai finish
Buat Project Baru |
2. Modifikasi AndroidManifest.xml dan tambahkan permission Uses INTERNET gunanya agar aplikasi nantinya bisa mengakses internet
<uses-permission android:name="android.permission.INTERNET"/>
Tambah Internet Permission |
Buat Interface |
<LinearLayout 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:orientation= "vertical"
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="com.MyIP.ipsaya_helmy.MainActivity" >
<Button
android:id="@+id/button1"
android:layout_width="264dp"
android:layout_height="wrap_content"
android:text="Lihat IP Saya" />
</LinearLayout>
Tampilan versi Code |
Tampilan Grafik |
5. Tulis code untuk menjalankan aplikasi pada IPSaya_helmy - src - com.blabla - MainActivity.java
Buka Mainjava |
6. Masukkan source code dibawah ini pada MainActivity.java
package com.MyIP.ipsaya_helmy;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import java.net.InetAddress;
import java.net.NetworkInterface;
import java.net.SocketException;
import java.util.ArrayList;
import java.util.Enumeration;
import java.util.List;
import org.apache.http.conn.util.InetAddressUtils;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
public class MainActivity extends ActionBarActivity {
Button btn;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn = (Button)findViewById(R.id.button1);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
List<String> daftarInterface = new ArrayList<String>();
daftarInterface = getLocalIpv4Address();
String nic="";
for(int i=0; i<daftarInterface.size();i++)
nic+=daftarInterface.get(i).toString()+" || ";
Toast.makeText(getBaseContext(), nic,
Toast.LENGTH_LONG).show(); }
});
}
public List<String> getLocalIpv4Address(){
String nicName, nicIpAddr, nicMacAddr="";
List<String> daftarInterface = new ArrayList<String>();
try{
//cari tahu,daftar NIC yang terdapat di dalam device Android
for(Enumeration<NetworkInterface> nicEnum =
NetworkInterface.getNetworkInterfaces();
nicEnum.hasMoreElements();){
NetworkInterface nic = nicEnum.nextElement();
//cari tahu, alamat IP yang terdapat di dalam setiap NIC tersebut
for(Enumeration<InetAddress> ipEnum =
nic.getInetAddresses();
ipEnum.hasMoreElements();){
InetAddress ip = (InetAddress)ipEnum.nextElement();
//check, apakah NIC'nya memiliki alamat IPv4
if(InetAddressUtils.isIPv4Address(ip.getHostAddress())){
//mendapatkan nama NIC
nicName = nic.getDisplayName();
//mendapatkan MAC addr NIC
byte[] mac = nic.getHardwareAddress();
if(mac!=null)
for(int i=0;i<mac.length;i++)
nicMacAddr +=
String.format("%02X%s",
mac[i],(i<mac.length-1)?"-":"");
//mendapatkan alamat IP pada NIC
nicIpAddr = ip.getHostAddress();
//tambahkan ke list
daftarInterface.add(nicName+" ; "+nicMacAddr+" "+nicIpAddr);
}
}
}
return daftarInterface;
}catch(SocketException se){
Log.e("getLocalIpv4Address", se.toString());
}
return null;
}
}
Masukkan Code |
Penjelasan Singkat :
- Class NetworkInterface digunakan untuk merepresentasikan network interface (LAN Card, Wireless LAN Card, modem dll) yang terdapat di dalam suatu perangkat. Sebuah NIC didefinisikan berdasarkan MAC address dan nama device yang independen terdapat platform yang digunakan. Class NetworkInterface menyediakan metode untuk mendapatkan semua informasi yang tersedia pada NIC yang terdaftar pada sistem
- Class InetAddress digunakan untuk mendapatkan informasi tentang IP Address V4 ataupun V6 yang terdapat pada suatu NIC dan untuk mengetahui nama host dari perangkat tersebut yang terdaftar pada
suatu Domain Name Server
suatu Domain Name Server
Hasilnya sebagai berikut silahkan anda run pada SmartPhone anda :
1. Klik kanan project run as - pilih perangkat android anda dan jalankan
Pilih device android |
2. Hasilnya sebagai berikut :
Demikian tutorial android mengenai Cara Membuat Aplikasi yang mampu Menampilkan Informasi NIC dan IP pada aplikasi android terbaru semoga bermanfaat jika mengalami kesulitan anda bisa mendownload project diatas melalui link dibawah ini.