Custom Google Maps Android Ala Pokemon Go

Bismillah

Google maps adalah sebuah peta digital yang sangat berguna di era milenial saat ini, hampir semua orang ketika bepergian jauh saat ini selalu mengandalan Google Maps.

Pada pertengahan tahun 2016 dunia dihebohkan dengan kemunculan game Pokemon Go, dengan tekhnologi AR dan Maps , Pokemon Go menjelma menjadi sebuah game yang sangat populer kala itu.

Pada kesempatan kali ini saya akan membuat tutorial aplikasi maps ala Pokemon Go.
saya di sini sendiri menggunakan Android Studio. kita hannya bikin tampilan mapsnya saja ya ..:D
bukan gamenya.

MEMPERSIAPKAN PROJECT DEVELOPMEN
Ikuti langkah-langkah berikut untuk membuat aplikasinya

  • Buka project baru.
  • Pada saat pemilihan activity, pastikan anda memilih Maps Activity *
  • Kemudian next hingga finish
*kenapa maps activity ? karena jika kita memilih empty activity maka kita menambahkan manual untuk dependency maps. istilahnya kalau ada cara mudah kenapa harus dipersulit.
MENDAPATKAN KUNCI API

Ini adalah proses terpenting dalam pebuatan app ini, karena jika kita tidak mendapatkan key, maka maps tidak akan tampil di aplikasi.
Untuk detail selengkapnya, lihat panduan lengkap untuk mendapatkan kunci API.


PEMBUATAN UI / UX

  • Cari gambar dengan latar belakang awan, kemudian pastekan di drawable beri nama sky.

  • Selanjutnya kita  buat 2 buah xml file di folder drawable gradienmap dan gradiensky.
Funsgi dari kedua file tersebut adalah  untuk memberi efek gradien pada gambar dan maps.
  • Pada gradienmap ubah kode menjadi  seperti ini
<shape xmlns:android="http://schemas.android.com/apk/res/android"    android:shape="rectangle">
<gradient android:angle="270" android:startColor="#ffffff" android:endColor="#00ffffff" />
</shape>

  •  Pada gradiensky ubah menjadi sepertinini 
<shape xmlns:android="http://schemas.android.com/apk/res/android"    android:shape="rectangle">
<gradient android:angle="90" android:startColor="#ffffff" android:endColor="#00ffffff" />
</shape>

  • Pada activity_maps.xml ubah menjadi seperti kode dibawah ini.

DEVELOPMEN JAVA
Jika sudah membuat layoutnya selanjutanya adalah membuat di java.


Jika sudha hasilnya akan seperti dibawah ini.

Gambar Hasil

Terima Kasih..

Custom Google Maps Android Ala Pokemon Go

Bismillah

Google maps adalah sebuah peta digital yang sangat berguna di era milenial saat ini, hampir semua orang ketika bepergian jauh saat ini selalu mengandalan Google Maps.

Pada pertengahan tahun 2016 dunia dihebohkan dengan kemunculan game Pokemon Go, dengan tekhnologi AR dan Maps , Pokemon Go menjelma menjadi sebuah game yang sangat populer kala itu.

Pada kesempatan kali ini saya akan membuat tutorial aplikasi maps ala Pokemon Go.
saya di sini sendiri menggunakan Android Studio. kita hannya bikin tampilan mapsnya saja ya ..:D
bukan gamenya.

MEMPERSIAPKAN PROJECT DEVELOPMEN
Ikuti langkah-langkah berikut untuk membuat aplikasinya

  • Buka project baru.
  • Pada saat pemilihan activity, pastikan anda memilih Maps Activity *
  • Kemudian next hingga finish
*kenapa maps activity ? karena jika kita memilih empty activity maka kita menambahkan manual untuk dependency maps. istilahnya kalau ada cara mudah kenapa harus dipersulit.
MENDAPATKAN KUNCI API

Ini adalah proses terpenting dalam pebuatan app ini, karena jika kita tidak mendapatkan key, maka maps tidak akan tampil di aplikasi.
Untuk detail selengkapnya, lihat panduan lengkap untuk mendapatkan kunci API.


PEMBUATAN UI / UX

  • Cari gambar dengan latar belakang awan, kemudian pastekan di drawable beri nama sky.

  • Selanjutnya kita  buat 2 buah xml file di folder drawable gradienmap dan gradiensky.
Funsgi dari kedua file tersebut adalah  untuk memberi efek gradien pada gambar dan maps.
  • Pada gradienmap ubah kode menjadi  seperti ini
<shape xmlns:android="http://schemas.android.com/apk/res/android"    android:shape="rectangle">
<gradient android:angle="270" android:startColor="#ffffff" android:endColor="#00ffffff" />
</shape>

  •  Pada gradiensky ubah menjadi sepertinini 
<shape xmlns:android="http://schemas.android.com/apk/res/android"    android:shape="rectangle">
<gradient android:angle="90" android:startColor="#ffffff" android:endColor="#00ffffff" />
</shape>

  • Pada activity_maps.xml ubah menjadi seperti kode dibawah ini.

DEVELOPMEN JAVA
Jika sudah membuat layoutnya selanjutanya adalah membuat di java.


Jika sudha hasilnya akan seperti dibawah ini.

Gambar Hasil

Terima Kasih..

Realm Example with Maps Picker

Bismillah

Pada kesempatan kali ini aku akan membuat aplikasi berbasis CRUD menggunakan database REALM, sebelum membuat projek kita harus tahu apa itu realm.
realm sendiri adalah jenis database yang secara langsung akan menyimpan data ke dalam storage device. Realm adalah pengganti sejenis database store mirip sqllite. Dari segi kecepatan dibanding database ORM lainnya realm lebih unggul.
Implementasi ke dalam project
  • LAYOUT
1. conten_main tambahkan ListView
<ListView    android:id="@+id/lv"    android:layout_width="match_parent"

android:layout_height=“wrap_content”></ListView> 

2. buat layout xml baru dengan nama edit_mahasiswa, kemudian pada layoutnya tambahkan beberapa komponen EditText, dan Button 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:background="@color/colorPrimary">

<LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" android:padding="16dp">

<TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:fontFamily="sans-serif-condensed" android:gravity="center" android:text="TAMBAH MAHASISWA" android:textColor="#fff" />

<EditText android:id="@+id/ednama" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="5dp" android:hint="Nama" android:textColor="#fff" android:textColorHint="#fff" />

<EditText android:id="@+id/edalamat" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="2dp" android:hint="Alamat" android:textColor="#fff" android:textColorHint="#fff" />

<Button android:id="@+id/btnEdit" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="3dp" android:text="Edit" />

<Button android:id="@+id/btnHapus" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="3dp" android:text="Hapus" />
</LinearLayout>
</RelativeLayout>
4. Selanjutnya untuk layout insert_mahasiswa 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:background="@color/colorAccent"    android:orientation="vertical">

<LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" android:padding="16dp">

<TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:fontFamily="sans-serif-condensed" android:gravity="center" android:text="TAMBAH MAHASISWA" android:textColor="#fff" />

<EditText android:id="@+id/txtnama" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="5dp" android:hint="Nama" android:textColor="#fff" android:textColorHint="#fff" />

<EditText android:id="@+id/txtalamat" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="2dp" android:hint="Alamat" android:textColor="#fff" android:textColorHint="#fff" />
<Button android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/btnCari" android:text="Cari Alamat"/>

<Button android:id="@+id/btnTambah" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="3dp" android:text="Tambah" />
</LinearLayout>

</RelativeLayout>
5. Buat xml layout untuk membuat menampilkan isi dari lisview dengan cara menambahaan xml seperti berikut 
<?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/txttnama" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Aji" />

<TextView android:id="@+id/txttalamat" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Kendal" />
</LinearLayout>
1. Buat sebuah project android studio, kemudin saat memilih activity pastikan untuk memilih basic activity, karena kita akan menggunakan fitur bawaan dari actvity tersesbut, yakni menggunakan floating acation button
2. Menambahkan dependency
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations' })
compile 'com.android.support:appcompat-v7:24.2.1' compile 'com.android.support:design:24.2.1' //untuk library realm compile 'io.realm:realm-android:0.87.2' //untuk library maps compile 'com.google.android.gms:play-services-maps:9.6.0' compile 'com.google.android.gms:play-services:9.6.0' compile 'com.android.support:support-v4:25.2.0' testCompile 'junit:junit:4.12'
}
apply plugin: 'com.google.gms.google-services'

3.  Kemudian buat class BaseApp, untuk menbuat konfigurasi default dengan mengextend ke Application

package imastudio.realm;
/** * Created by Taufiq */public class MahasiswaModel {

int idMahasiswa;
String namaMahasiswa, alamatMahasiswa;

public int getIdMahasiswa() {
return idMahasiswa;
}

public void setIdMahasiswa(int idMahasiswa) {
this.idMahasiswa = idMahasiswa;
}

public String getNamaMahasiswa() {
return namaMahasiswa;
}

public void setNamaMahasiswa(String namaMahasiswa) {
this.namaMahasiswa = namaMahasiswa;
}

public String getAlamatMahasiswa() {
return alamatMahasiswa;
}

public void setAlamatMahasiswa(String alamatMahasiswa) {
this.alamatMahasiswa = alamatMahasiswa;
}

/*konstruktor unutk berinteraksi dengan class ini serta menambahkan data ke dalam class ini*/ public MahasiswaModel(int idMahasiswa, String namaMahasiswa, String alamatMahasiswa) {
this.idMahasiswa = idMahasiswa;
this.namaMahasiswa = namaMahasiswa;
this.alamatMahasiswa = alamatMahasiswa;
}
}

4. Pada manifest tambahkan

 <application    android:name=".BaseApp"    android:allowBackup="true"    android:icon="@mipmap/ic_launcher"    android:label="@string/app_name"    android:supportsRtl="true"

android:theme=“@style/AppTheme”> 

5. Membuat kelas MahasiswaModel, fungsinya unutk melempar dan menagkan paramenter dari masing-masing data yang di store

public class MahasiswaModel {

int idMahasiswa;
String namaMahasiswa, alamatMahasiswa;

public int getIdMahasiswa() {
return idMahasiswa;
}

public void setIdMahasiswa(int idMahasiswa) {
this.idMahasiswa = idMahasiswa;
}

public String getNamaMahasiswa() {
return namaMahasiswa;
}

public void setNamaMahasiswa(String namaMahasiswa) {
this.namaMahasiswa = namaMahasiswa;
}

public String getAlamatMahasiswa() {
return alamatMahasiswa;
}

public void setAlamatMahasiswa(String alamatMahasiswa) {
this.alamatMahasiswa = alamatMahasiswa;
}

/*konstruktor unutk berinteraksi dengan class ini serta menambahkan data ke dalam class ini*/ public MahasiswaModel(int idMahasiswa, String namaMahasiswa, String alamatMahasiswa) {
this.idMahasiswa = idMahasiswa;
this.namaMahasiswa = namaMahasiswa;
this.alamatMahasiswa = alamatMahasiswa;
}
}

 6. Buat kelas mahasiswa

import io.realm.Realm;
import io.realm.RealmObject;
import io.realm.annotations.PrimaryKey;
/** * Created by Taufiq */public class Mahasiswa extends RealmObject {

@PrimaryKey private int idMahasiswa;

private String namaMahasiswa, alamatMahasiswa;

public int getIdMahasiswa() {
return idMahasiswa;
}

public void setIdMahasiswa(int idMahasiswa) {
this.idMahasiswa = idMahasiswa;
}

public String getNamaMahasiswa() {
return namaMahasiswa;
}

public void setNamaMahasiswa(String namaMahasiswa) {
this.namaMahasiswa = namaMahasiswa;
}

public String getAlamatMahasiswa() {
return alamatMahasiswa;
}

public void setAlamatMahasiswa(String alamatMahasiswa) {
this.alamatMahasiswa = alamatMahasiswa;
}
}
Disini menggunakan anotasi @PrimaryKey untuk mendeklarasikan id sebagai primary key.
@PrimaryKey
private int id;
Realm mendukung anotasi sebagai berikut :
@Required : Memberlakukan pemeriksaan untuk tidak membolehkan nilai null.
@Ignore : Kolom tidak harus disimpan.
@Index : Menambahkan index pencarian pada kolom.
@PrimaryKey : Identifikasi unik pada tiap data pada database. tetapi tidak menyediakan auto-increment 
7, Kemudian pada MainActivity tambahkan variable inisialaisasi
/*variable pada objek*/RealmHelper realmHelper;
ListView lv;
private ArrayList<MahasiswaModel> data;
private RealmHelper helper;

  •  inisialisasi pada oncreate 
realmHelper = new RealmHelper(MainActivity.this);
/*deklarasikan widaget listview*/lv = (ListView) findViewById(R.id.lv);
data = new ArrayList<>();

getData(); 

  •  kemudian pada floatingaction kita custom agar saat di klik dari floating action maka akan pindah halaman ke add mahasiswa
final FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener() {
@Override public void onClick(View view) {

startActivity(new Intent(MainActivity.this,InasertMahasiswa.class));
}
});

  •  full code dari MainActivity.java akan seperti ini 
package imastudio.realm;

import android.app.Dialog;
import android.content.Intent;
import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.View;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.AdapterView;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.Toast;

import com.google.android.gms.ads.AdRequest;
import com.google.android.gms.ads.AdView;
import com.google.android.gms.ads.MobileAds;

import org.w3c.dom.Text;

import java.util.ArrayList;

import static imastudio.realm.R.id.fab;
import static imastudio.realm.R.id.txtalamat;
import static imastudio.realm.R.id.txtnama;

public class MainActivity extends AppCompatActivity {

/*variable pada objek*/ RealmHelper realmHelper;
ListView lv;
private ArrayList<MahasiswaModel> data;
private RealmHelper helper;

@Override protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);

Toast.makeText(MainActivity.this, String.valueOf(System.currentTimeMillis()), Toast.LENGTH_LONG).show();
/*perkenalkan class RealmHelper pada class ini*/ realmHelper = new RealmHelper(MainActivity.this);
/*deklarasikan widaget listview*/ lv = (ListView) findViewById(R.id.lv);
data = new ArrayList<>();


/*menmpilkan data saat activity muncul*/ getData();

/*event pada FAB*/ final FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener() {
@Override public void onClick(View view) {

startActivity(new Intent(MainActivity.this,InasertMahasiswa.class));
}
});

lv.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
@Override public boolean onItemLongClick(AdapterView<?> adapterView, View view, int i, long l) {
return false;
}
});

/*event ketika listview diklik*/ lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override public void onItemClick(AdapterView<?> adapterView, View view, final int i, long l) {

/*model mahasiswa diambil dengan variable d sesuai posisi*/ final MahasiswaModel d = data.get(i);

/*menampilkan dialog*/ /*perkenalkan diaog ke dalam actiity ini*/ final Dialog dialog = new Dialog(MainActivity.this);
dialog.setContentView(R.layout.edit_mahasiswa);

/*deskripsikan widget*/ final EditText edalamat = (EditText) dialog.findViewById(R.id.edalamat);
final EditText ednama = (EditText) dialog.findViewById(R.id.ednama);
Button btntambah = (Button) dialog.findViewById(R.id.btnEdit);
Button btnhapus = (Button) dialog.findViewById(R.id.btnHapus);

/*menampilkan data ke dalam EditText*/ ednama.setText(d.getNamaMahasiswa());
edalamat.setText(d.getAlamatMahasiswa());

/*event pada tombol hapus*/ btnhapus.setOnClickListener(new View.OnClickListener() {
@Override public void onClick(View view) {
realmHelper.deleteData(d.idMahasiswa);
dialog.dismiss();
getData();
}
});

/*event pada tombol edit*/ btntambah.setOnClickListener(new View.OnClickListener() {
@Override public void onClick(View view) {
String nama = ednama.getText().toString();
String alamat = edalamat.getText().toString();
realmHelper.updateData(d.idMahasiswa, nama, alamat);
dialog.dismiss();
getData();
}
});

dialog.show();
}
});
}


/*method mengambil data*/ private void getData() {
try {
data = realmHelper.findAll();
} catch (Exception e) {

}

/*memasukan data ke dalam ListVuiew*/ try {
CustomAdapter adapter = new CustomAdapter(this, data);
lv.setAdapter(adapter);
} catch (NullPointerException e) {

}
}

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

@Override public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will // automatically handle clicks on the Home/Up button, so long // as you specify a parent activity in AndroidManifest.xml. int id = item.getItemId();

//noinspection SimplifiableIfStatement if (id == R.id.action_settings) {
return true;
}

return super.onOptionsItemSelected(item);
}

@Override protected void onRestart() {
super.onRestart();
getData();
}
}
  • Kemudain pada InsertMahasiswa.xml tambahkan kode berikut . silahkan di lihat di pada komentar kode untuk mengtahui fungsinya. disini kita juga menambahkan sebuah maps utnuk mengambil lokasinya .

package imastudio.realm;

import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;

import com.google.android.gms.common.GooglePlayServicesNotAvailableException;
import com.google.android.gms.common.GooglePlayServicesRepairableException;
import com.google.android.gms.location.places.Place;
import com.google.android.gms.location.places.ui.PlacePicker;

/** * Created by Taufiq on 5/29/2017. */
public class InasertMahasiswa extends AppCompatActivity {


RealmHelper realmHelper;
private static final int PLACE_PICKER_REQUEST =101 ;
EditText edNama,edAlamat;
Button btAlamat, btInput;

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

realmHelper = new RealmHelper(InasertMahasiswa.this);
setView();
btAlamat.setOnClickListener(new View.OnClickListener() {
@Override public void onClick(View v) {
// membuat Intent untuk Place Picker // membuat Intent untuk Place Picker PlacePicker.IntentBuilder builder = new PlacePicker.IntentBuilder();
try {
//menjalankan place picker startActivityForResult(builder.build(InasertMahasiswa.this), PLACE_PICKER_REQUEST);


} catch (GooglePlayServicesRepairableException e) {
e.printStackTrace();
} catch (GooglePlayServicesNotAvailableException e) {
e.printStackTrace();
}
}

});
btInput.setOnClickListener(new View.OnClickListener() {
@Override public void onClick(View v) {
/*simpan data dengan memenggil method addMahasiswa*/ String nama = edNama.getText().toString();
String alamat = edAlamat.getText().toString();
realmHelper.addMahasiswa(nama, alamat);
Intent a = new Intent(InasertMahasiswa.this,MainActivity.class);

startActivity(a);


}
});
}

private void setView() {
edAlamat =(EditText)findViewById(R.id.txtalamat);
edNama =(EditText)findViewById(R.id.txtnama);
btAlamat =(Button)findViewById(R.id.btnCari);
btInput =(Button)findViewById(R.id.btnTambah);
}

// code untuk membuat maps picker @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// menangkap hasil balikan dari Place Picker, dan menampilkannya pada TextView if (requestCode == PLACE_PICKER_REQUEST) {
if (resultCode == RESULT_OK) {
Place place = PlacePicker.getPlace(data, this);
String toastMsg = String.format(
"Place: %s \n" +
"Alamat: %s \n" +
"Latlng %s \n", place.getName(), place.getAddress(), place.getLatLng().latitude + " " + place.getLatLng().longitude);
edAlamat.setText(toastMsg);

}
}
}

}

Oke saya kira cukup sekian ..
untuk source codenya nya bagi mau bisa request ke Email saya
taufiqhidayaht@gmail.com

Realm Example with Maps Picker

Bismillah

Pada kesempatan kali ini aku akan membuat aplikasi berbasis CRUD menggunakan database REALM, sebelum membuat projek kita harus tahu apa itu realm.
realm sendiri adalah jenis database yang secara langsung akan menyimpan data ke dalam storage device. Realm adalah pengganti sejenis database store mirip sqllite. Dari segi kecepatan dibanding database ORM lainnya realm lebih unggul.
Implementasi ke dalam project
  • LAYOUT
1. conten_main tambahkan ListView
<ListView    android:id="@+id/lv"    android:layout_width="match_parent"

android:layout_height=“wrap_content”></ListView> 

2. buat layout xml baru dengan nama edit_mahasiswa, kemudian pada layoutnya tambahkan beberapa komponen EditText, dan Button 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:background="@color/colorPrimary">

<LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" android:padding="16dp">

<TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:fontFamily="sans-serif-condensed" android:gravity="center" android:text="TAMBAH MAHASISWA" android:textColor="#fff" />

<EditText android:id="@+id/ednama" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="5dp" android:hint="Nama" android:textColor="#fff" android:textColorHint="#fff" />

<EditText android:id="@+id/edalamat" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="2dp" android:hint="Alamat" android:textColor="#fff" android:textColorHint="#fff" />

<Button android:id="@+id/btnEdit" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="3dp" android:text="Edit" />

<Button android:id="@+id/btnHapus" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="3dp" android:text="Hapus" />
</LinearLayout>
</RelativeLayout>
4. Selanjutnya untuk layout insert_mahasiswa 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:background="@color/colorAccent"    android:orientation="vertical">

<LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" android:padding="16dp">

<TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:fontFamily="sans-serif-condensed" android:gravity="center" android:text="TAMBAH MAHASISWA" android:textColor="#fff" />

<EditText android:id="@+id/txtnama" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="5dp" android:hint="Nama" android:textColor="#fff" android:textColorHint="#fff" />

<EditText android:id="@+id/txtalamat" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="2dp" android:hint="Alamat" android:textColor="#fff" android:textColorHint="#fff" />
<Button android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/btnCari" android:text="Cari Alamat"/>

<Button android:id="@+id/btnTambah" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="3dp" android:text="Tambah" />
</LinearLayout>

</RelativeLayout>
5. Buat xml layout untuk membuat menampilkan isi dari lisview dengan cara menambahaan xml seperti berikut 
<?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/txttnama" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Aji" />

<TextView android:id="@+id/txttalamat" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Kendal" />
</LinearLayout>
1. Buat sebuah project android studio, kemudin saat memilih activity pastikan untuk memilih basic activity, karena kita akan menggunakan fitur bawaan dari actvity tersesbut, yakni menggunakan floating acation button
2. Menambahkan dependency
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations' })
compile 'com.android.support:appcompat-v7:24.2.1' compile 'com.android.support:design:24.2.1' //untuk library realm compile 'io.realm:realm-android:0.87.2' //untuk library maps compile 'com.google.android.gms:play-services-maps:9.6.0' compile 'com.google.android.gms:play-services:9.6.0' compile 'com.android.support:support-v4:25.2.0' testCompile 'junit:junit:4.12'
}
apply plugin: 'com.google.gms.google-services'

3.  Kemudian buat class BaseApp, untuk menbuat konfigurasi default dengan mengextend ke Application

package imastudio.realm;
/** * Created by Taufiq */public class MahasiswaModel {

int idMahasiswa;
String namaMahasiswa, alamatMahasiswa;

public int getIdMahasiswa() {
return idMahasiswa;
}

public void setIdMahasiswa(int idMahasiswa) {
this.idMahasiswa = idMahasiswa;
}

public String getNamaMahasiswa() {
return namaMahasiswa;
}

public void setNamaMahasiswa(String namaMahasiswa) {
this.namaMahasiswa = namaMahasiswa;
}

public String getAlamatMahasiswa() {
return alamatMahasiswa;
}

public void setAlamatMahasiswa(String alamatMahasiswa) {
this.alamatMahasiswa = alamatMahasiswa;
}

/*konstruktor unutk berinteraksi dengan class ini serta menambahkan data ke dalam class ini*/ public MahasiswaModel(int idMahasiswa, String namaMahasiswa, String alamatMahasiswa) {
this.idMahasiswa = idMahasiswa;
this.namaMahasiswa = namaMahasiswa;
this.alamatMahasiswa = alamatMahasiswa;
}
}

4. Pada manifest tambahkan

 <application    android:name=".BaseApp"    android:allowBackup="true"    android:icon="@mipmap/ic_launcher"    android:label="@string/app_name"    android:supportsRtl="true"

android:theme=“@style/AppTheme”> 

5. Membuat kelas MahasiswaModel, fungsinya unutk melempar dan menagkan paramenter dari masing-masing data yang di store

public class MahasiswaModel {

int idMahasiswa;
String namaMahasiswa, alamatMahasiswa;

public int getIdMahasiswa() {
return idMahasiswa;
}

public void setIdMahasiswa(int idMahasiswa) {
this.idMahasiswa = idMahasiswa;
}

public String getNamaMahasiswa() {
return namaMahasiswa;
}

public void setNamaMahasiswa(String namaMahasiswa) {
this.namaMahasiswa = namaMahasiswa;
}

public String getAlamatMahasiswa() {
return alamatMahasiswa;
}

public void setAlamatMahasiswa(String alamatMahasiswa) {
this.alamatMahasiswa = alamatMahasiswa;
}

/*konstruktor unutk berinteraksi dengan class ini serta menambahkan data ke dalam class ini*/ public MahasiswaModel(int idMahasiswa, String namaMahasiswa, String alamatMahasiswa) {
this.idMahasiswa = idMahasiswa;
this.namaMahasiswa = namaMahasiswa;
this.alamatMahasiswa = alamatMahasiswa;
}
}

 6. Buat kelas mahasiswa

import io.realm.Realm;
import io.realm.RealmObject;
import io.realm.annotations.PrimaryKey;
/** * Created by Taufiq */public class Mahasiswa extends RealmObject {

@PrimaryKey private int idMahasiswa;

private String namaMahasiswa, alamatMahasiswa;

public int getIdMahasiswa() {
return idMahasiswa;
}

public void setIdMahasiswa(int idMahasiswa) {
this.idMahasiswa = idMahasiswa;
}

public String getNamaMahasiswa() {
return namaMahasiswa;
}

public void setNamaMahasiswa(String namaMahasiswa) {
this.namaMahasiswa = namaMahasiswa;
}

public String getAlamatMahasiswa() {
return alamatMahasiswa;
}

public void setAlamatMahasiswa(String alamatMahasiswa) {
this.alamatMahasiswa = alamatMahasiswa;
}
}
Disini menggunakan anotasi @PrimaryKey untuk mendeklarasikan id sebagai primary key.
@PrimaryKey
private int id;
Realm mendukung anotasi sebagai berikut :
@Required : Memberlakukan pemeriksaan untuk tidak membolehkan nilai null.
@Ignore : Kolom tidak harus disimpan.
@Index : Menambahkan index pencarian pada kolom.
@PrimaryKey : Identifikasi unik pada tiap data pada database. tetapi tidak menyediakan auto-increment 
7, Kemudian pada MainActivity tambahkan variable inisialaisasi
/*variable pada objek*/RealmHelper realmHelper;
ListView lv;
private ArrayList<MahasiswaModel> data;
private RealmHelper helper;

  •  inisialisasi pada oncreate 
realmHelper = new RealmHelper(MainActivity.this);
/*deklarasikan widaget listview*/lv = (ListView) findViewById(R.id.lv);
data = new ArrayList<>();

getData(); 

  •  kemudian pada floatingaction kita custom agar saat di klik dari floating action maka akan pindah halaman ke add mahasiswa
final FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener() {
@Override public void onClick(View view) {

startActivity(new Intent(MainActivity.this,InasertMahasiswa.class));
}
});

  •  full code dari MainActivity.java akan seperti ini 
package imastudio.realm;

import android.app.Dialog;
import android.content.Intent;
import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.View;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.AdapterView;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.Toast;

import com.google.android.gms.ads.AdRequest;
import com.google.android.gms.ads.AdView;
import com.google.android.gms.ads.MobileAds;

import org.w3c.dom.Text;

import java.util.ArrayList;

import static imastudio.realm.R.id.fab;
import static imastudio.realm.R.id.txtalamat;
import static imastudio.realm.R.id.txtnama;

public class MainActivity extends AppCompatActivity {

/*variable pada objek*/ RealmHelper realmHelper;
ListView lv;
private ArrayList<MahasiswaModel> data;
private RealmHelper helper;

@Override protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);

Toast.makeText(MainActivity.this, String.valueOf(System.currentTimeMillis()), Toast.LENGTH_LONG).show();
/*perkenalkan class RealmHelper pada class ini*/ realmHelper = new RealmHelper(MainActivity.this);
/*deklarasikan widaget listview*/ lv = (ListView) findViewById(R.id.lv);
data = new ArrayList<>();


/*menmpilkan data saat activity muncul*/ getData();

/*event pada FAB*/ final FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener() {
@Override public void onClick(View view) {

startActivity(new Intent(MainActivity.this,InasertMahasiswa.class));
}
});

lv.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
@Override public boolean onItemLongClick(AdapterView<?> adapterView, View view, int i, long l) {
return false;
}
});

/*event ketika listview diklik*/ lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override public void onItemClick(AdapterView<?> adapterView, View view, final int i, long l) {

/*model mahasiswa diambil dengan variable d sesuai posisi*/ final MahasiswaModel d = data.get(i);

/*menampilkan dialog*/ /*perkenalkan diaog ke dalam actiity ini*/ final Dialog dialog = new Dialog(MainActivity.this);
dialog.setContentView(R.layout.edit_mahasiswa);

/*deskripsikan widget*/ final EditText edalamat = (EditText) dialog.findViewById(R.id.edalamat);
final EditText ednama = (EditText) dialog.findViewById(R.id.ednama);
Button btntambah = (Button) dialog.findViewById(R.id.btnEdit);
Button btnhapus = (Button) dialog.findViewById(R.id.btnHapus);

/*menampilkan data ke dalam EditText*/ ednama.setText(d.getNamaMahasiswa());
edalamat.setText(d.getAlamatMahasiswa());

/*event pada tombol hapus*/ btnhapus.setOnClickListener(new View.OnClickListener() {
@Override public void onClick(View view) {
realmHelper.deleteData(d.idMahasiswa);
dialog.dismiss();
getData();
}
});

/*event pada tombol edit*/ btntambah.setOnClickListener(new View.OnClickListener() {
@Override public void onClick(View view) {
String nama = ednama.getText().toString();
String alamat = edalamat.getText().toString();
realmHelper.updateData(d.idMahasiswa, nama, alamat);
dialog.dismiss();
getData();
}
});

dialog.show();
}
});
}


/*method mengambil data*/ private void getData() {
try {
data = realmHelper.findAll();
} catch (Exception e) {

}

/*memasukan data ke dalam ListVuiew*/ try {
CustomAdapter adapter = new CustomAdapter(this, data);
lv.setAdapter(adapter);
} catch (NullPointerException e) {

}
}

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

@Override public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will // automatically handle clicks on the Home/Up button, so long // as you specify a parent activity in AndroidManifest.xml. int id = item.getItemId();

//noinspection SimplifiableIfStatement if (id == R.id.action_settings) {
return true;
}

return super.onOptionsItemSelected(item);
}

@Override protected void onRestart() {
super.onRestart();
getData();
}
}
  • Kemudain pada InsertMahasiswa.xml tambahkan kode berikut . silahkan di lihat di pada komentar kode untuk mengtahui fungsinya. disini kita juga menambahkan sebuah maps utnuk mengambil lokasinya .

package imastudio.realm;

import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;

import com.google.android.gms.common.GooglePlayServicesNotAvailableException;
import com.google.android.gms.common.GooglePlayServicesRepairableException;
import com.google.android.gms.location.places.Place;
import com.google.android.gms.location.places.ui.PlacePicker;

/** * Created by Taufiq on 5/29/2017. */
public class InasertMahasiswa extends AppCompatActivity {


RealmHelper realmHelper;
private static final int PLACE_PICKER_REQUEST =101 ;
EditText edNama,edAlamat;
Button btAlamat, btInput;

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

realmHelper = new RealmHelper(InasertMahasiswa.this);
setView();
btAlamat.setOnClickListener(new View.OnClickListener() {
@Override public void onClick(View v) {
// membuat Intent untuk Place Picker // membuat Intent untuk Place Picker PlacePicker.IntentBuilder builder = new PlacePicker.IntentBuilder();
try {
//menjalankan place picker startActivityForResult(builder.build(InasertMahasiswa.this), PLACE_PICKER_REQUEST);


} catch (GooglePlayServicesRepairableException e) {
e.printStackTrace();
} catch (GooglePlayServicesNotAvailableException e) {
e.printStackTrace();
}
}

});
btInput.setOnClickListener(new View.OnClickListener() {
@Override public void onClick(View v) {
/*simpan data dengan memenggil method addMahasiswa*/ String nama = edNama.getText().toString();
String alamat = edAlamat.getText().toString();
realmHelper.addMahasiswa(nama, alamat);
Intent a = new Intent(InasertMahasiswa.this,MainActivity.class);

startActivity(a);


}
});
}

private void setView() {
edAlamat =(EditText)findViewById(R.id.txtalamat);
edNama =(EditText)findViewById(R.id.txtnama);
btAlamat =(Button)findViewById(R.id.btnCari);
btInput =(Button)findViewById(R.id.btnTambah);
}

// code untuk membuat maps picker @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// menangkap hasil balikan dari Place Picker, dan menampilkannya pada TextView if (requestCode == PLACE_PICKER_REQUEST) {
if (resultCode == RESULT_OK) {
Place place = PlacePicker.getPlace(data, this);
String toastMsg = String.format(
"Place: %s \n" +
"Alamat: %s \n" +
"Latlng %s \n", place.getName(), place.getAddress(), place.getLatLng().latitude + " " + place.getLatLng().longitude);
edAlamat.setText(toastMsg);

}
}
}

}

Oke saya kira cukup sekian ..
untuk source codenya nya bagi mau bisa request ke Email saya
taufiqhidayaht@gmail.com

Remote Smartphone Android Menggunakan Komputer

Hai sobat, dah lama nih gak ngeblog gara banyak sekali kesibukan yang membuatku malas dan lagsung tidur pas nyampe rumah #ngomongapaansi 😅 Pada artikel sebelumnya saya telah membagikan beberapa tutorial seputar pemrograman android, dan kali ini saya akan kembali memberikan sedikit tips dan trik untuk android dan komputer.

Remote Smartphone Android Menggunakan Komputer

Artikel ini didasari atas pengalamanku kemarin, ketika memiliki jadwal yang sangat padat dan tidak sempat berpaling dari komputer, padahal notifikasi handphone selalu berbunyi. Jadi saya berfikir bagaimana caranya agar saya bisa membuka semua notifikasi di handphoneku menggunakan komputer yang sedang digunakan. Jadi setelah mencari-cari caranya, akhirnya saya menemukan cara ini.

Karena keseharian saya di depan komputer belajar membuat aplikasi android atau website, jadi saya tidak asing dengan yang namanya adb dab usb debugging. USB debugging dan ADB berfungsi untuk mengatur atau mengontrol sistem android untuk menjalankan perintah yang diberikan lewat komputer. Jadi cara ini adalah penerapan dari fungsi tersebut sob.

Baca juga “Cara Agar Akun Google Tetap Aman

Jadi jika kita mengendalikan tampilan atau menjalankan android di dalam komputer, tampilan android akan diduplicate ke dalam komputer, kemudian ditampilkan ke layar monitor agar bisa dioperasikan menggunakan komputer.

Oke, cara mengendalikan tampilan andoid ini cukup mudah, langkah-langkahnya seperti berikut :

1. Siapkan smartphone androidmu sob. Minjam teman juga boleh 😁
2. Instal ADB Driver di komputer kesayangan sobat, untuk cara penginstalanya bisa dibuka di link berikut

menginstal ADB Driver

3. Hidupkan pengaturan pengembang atau USB Debugging, caranya bisa dibuka di link berikut.

menghidupkan opsi pengembang

4. Instal aplikasi VYSOR di android sobat, berikut link downloadnya

5. Buka browser Chrome di komputer atau laptop sobat, terus buka link berikut untuk mengunduh VYSOR di komputer

6. Oke sekarang hubungkan android dengan kabel usb dan pastikan smartphone kamu sudah terdeteksi di komputer
7. Jika sudah sekarang buka aplikasi vsor di hape dan di komputer kamu
8. Di dalam aplikasi vysor komputer, pilih temukan perangkat, lalu pilih android kamu yang sudah terdeteksi.

Remote Smartphone Android Menggunakan Komputer

9. Jika ada dialog di android sobat, pilih ok
10. Dan sekarang tampilan android kamu akan langsung tampil di komputer kamu

Remote Smartphone Android Menggunakan Komputer

Setelah komputer terhubung dengan android, sobat bisa mengendalikan handphone android sobat langsung dari komputer, tampilan handphone pun akan menyesuaikan dan untuk mengetik sobat tinggal mengetik seperti biasanya.

Oke sekian artikel tentang Remote Smartphone Android Menggunakan Komputer semoga bermanfaat. Silahkan ikuti dan bagikan jika sobat menyukai artikel ini. Silahkan isi kolom komentar di bawah jika ada pertanyaan, kritik dan saran. Sekian dari saya, sampai jumpa di artikel berikutnya..

Remote Smartphone Android Menggunakan Komputer

Hai sobat, dah lama nih gak ngeblog gara banyak sekali kesibukan yang membuatku malas dan lagsung tidur pas nyampe rumah #ngomongapaansi 😅 Pada artikel sebelumnya saya telah membagikan beberapa tutorial seputar pemrograman android, dan kali ini saya akan kembali memberikan sedikit tips dan trik untuk android dan komputer.

Remote Smartphone Android Menggunakan Komputer

Artikel ini didasari atas pengalamanku kemarin, ketika memiliki jadwal yang sangat padat dan tidak sempat berpaling dari komputer, padahal notifikasi handphone selalu berbunyi. Jadi saya berfikir bagaimana caranya agar saya bisa membuka semua notifikasi di handphoneku menggunakan komputer yang sedang digunakan. Jadi setelah mencari-cari caranya, akhirnya saya menemukan cara ini.

Karena keseharian saya di depan komputer belajar membuat aplikasi android atau website, jadi saya tidak asing dengan yang namanya adb dab usb debugging. USB debugging dan ADB berfungsi untuk mengatur atau mengontrol sistem android untuk menjalankan perintah yang diberikan lewat komputer. Jadi cara ini adalah penerapan dari fungsi tersebut sob.

Baca juga “Cara Agar Akun Google Tetap Aman

Jadi jika kita mengendalikan tampilan atau menjalankan android di dalam komputer, tampilan android akan diduplicate ke dalam komputer, kemudian ditampilkan ke layar monitor agar bisa dioperasikan menggunakan komputer.

Oke, cara mengendalikan tampilan andoid ini cukup mudah, langkah-langkahnya seperti berikut :

1. Siapkan smartphone androidmu sob. Minjam teman juga boleh 😁
2. Instal ADB Driver di komputer kesayangan sobat, untuk cara penginstalanya bisa dibuka di link berikut

menginstal ADB Driver

3. Hidupkan pengaturan pengembang atau USB Debugging, caranya bisa dibuka di link berikut.

menghidupkan opsi pengembang

4. Instal aplikasi VYSOR di android sobat, berikut link downloadnya

5. Buka browser Chrome di komputer atau laptop sobat, terus buka link berikut untuk mengunduh VYSOR di komputer

6. Oke sekarang hubungkan android dengan kabel usb dan pastikan smartphone kamu sudah terdeteksi di komputer
7. Jika sudah sekarang buka aplikasi vsor di hape dan di komputer kamu
8. Di dalam aplikasi vysor komputer, pilih temukan perangkat, lalu pilih android kamu yang sudah terdeteksi.

Remote Smartphone Android Menggunakan Komputer

9. Jika ada dialog di android sobat, pilih ok
10. Dan sekarang tampilan android kamu akan langsung tampil di komputer kamu

Remote Smartphone Android Menggunakan Komputer

Setelah komputer terhubung dengan android, sobat bisa mengendalikan handphone android sobat langsung dari komputer, tampilan handphone pun akan menyesuaikan dan untuk mengetik sobat tinggal mengetik seperti biasanya.

Oke sekian artikel tentang Remote Smartphone Android Menggunakan Komputer semoga bermanfaat. Silahkan ikuti dan bagikan jika sobat menyukai artikel ini. Silahkan isi kolom komentar di bawah jika ada pertanyaan, kritik dan saran. Sekian dari saya, sampai jumpa di artikel berikutnya..

System Requirement Android untuk Training IDN Mengajar

Bismillah



Untuk sekolah yang mengundang kami mengajar training Android di Sekolah  SMK masing- masing, bagi peserta, baik guru/siswa yang ikut training selama 5 hari dimohon untuk memperhatikan hal-hal berikut, terkait Hardware dan Software

Persayaratan System :

Windows
– Microsoft Windows 7/8/10 (32 atau 64 bit)
– RAM minimum 4 GB, Rekomendasi 8 GB RAM
– Disk kosong 500 MB
– Sedikitnya 16 GB untuk Android SDK, Emulator system images, and
– Java Development Kit (JDK) 8 

OSX
– Mac OS X 10.8.5 atau yang lebih tingggi up to El-Capitan
– RAM minimum 4 GB, Rekomendasi RAM 8 GB
– Disk kosong 500 MB
– Sedikitnya 16 GB untuk Android SDK, emulator system images, dan caches
– Java Development Kit (JDK) 8

GNU/LINUX
– GNOME atau KDE atau Unity Desktop pada Ubuntu atau Fedora
– Minimum RAM 4 GB, Rekomendasi RAM 8 GB
– Disk kosong 500 MB
– Sedikitnya 16 GB untuk Android SDK, emulator system images, dancaches
– Java Development Kit (JDK) 8


Setelah persyaratan system sudah terpenuhi, selanjutnya bagi peserta diwajibkan untuk menginstal tools apliksi untuk membangun aplikasi di Android

Download 

Genymotion (Untuk virtual device) (Optional) -> 
https://www.genymotion.com/download/ jika belum punya akun silahkan untuk membuat akun terlebih dahulu (untuk windows pilih download with virtual box)

Langkah installsi :
Anda bisa mengunjungi situs resmi untuk instalasi android studio.
Untuk memilih jenis OS klik pada pilihan diatas

  1. Pastikan perangkan PC terkoneksi ke jaringan internet
  2. Install JDK terlebih dahulu
  3. Install Android Studio
  4. Setelah proses installasi selesai, maka akan ada proses download plugin.
Instalasi Genymotion
  1. Instal genymotion
  2. Login dahulu dengan akun yang sudah dibuat tadi
  3. klik tombol tambah dan kemudian pilih tombol tambah
  4. pilih perangkat sesuai kebutuhan 
Terima Kasih. 

Untuk Contact Person  bisa hubungi kontak dibawah ini jika ada kendala :
Aji Setya           : WA/ Telegram (087700633786)
Taufiq Hidayah : WA/ Telegram (083878710816)
Farid Savarudin: WA/ Telegram (082217343233)

System Requirement Android untuk Training IDN Mengajar

Bismillah



Untuk sekolah yang mengundang kami mengajar training Android di Sekolah  SMK masing- masing, bagi peserta, baik guru/siswa yang ikut training selama 5 hari dimohon untuk memperhatikan hal-hal berikut, terkait Hardware dan Software

Persayaratan System :

Windows
– Microsoft Windows 7/8/10 (32 atau 64 bit)
– RAM minimum 4 GB, Rekomendasi 8 GB RAM
– Disk kosong 500 MB
– Sedikitnya 16 GB untuk Android SDK, Emulator system images, and
– Java Development Kit (JDK) 8 

OSX
– Mac OS X 10.8.5 atau yang lebih tingggi up to El-Capitan
– RAM minimum 4 GB, Rekomendasi RAM 8 GB
– Disk kosong 500 MB
– Sedikitnya 16 GB untuk Android SDK, emulator system images, dan caches
– Java Development Kit (JDK) 8

GNU/LINUX
– GNOME atau KDE atau Unity Desktop pada Ubuntu atau Fedora
– Minimum RAM 4 GB, Rekomendasi RAM 8 GB
– Disk kosong 500 MB
– Sedikitnya 16 GB untuk Android SDK, emulator system images, dancaches
– Java Development Kit (JDK) 8


Setelah persyaratan system sudah terpenuhi, selanjutnya bagi peserta diwajibkan untuk menginstal tools apliksi untuk membangun aplikasi di Android

Download 

Genymotion (Untuk virtual device) (Optional) -> 
https://www.genymotion.com/download/ jika belum punya akun silahkan untuk membuat akun terlebih dahulu (untuk windows pilih download with virtual box)

Langkah installsi :
Anda bisa mengunjungi situs resmi untuk instalasi android studio.
Untuk memilih jenis OS klik pada pilihan diatas

  1. Pastikan perangkan PC terkoneksi ke jaringan internet
  2. Install JDK terlebih dahulu
  3. Install Android Studio
  4. Setelah proses installasi selesai, maka akan ada proses download plugin.
Instalasi Genymotion
  1. Instal genymotion
  2. Login dahulu dengan akun yang sudah dibuat tadi
  3. klik tombol tambah dan kemudian pilih tombol tambah
  4. pilih perangkat sesuai kebutuhan 
Terima Kasih. 

Untuk Contact Person  bisa hubungi kontak dibawah ini jika ada kendala :
Aji Setya           : WA/ Telegram (087700633786)
Taufiq Hidayah : WA/ Telegram (083878710816)
Farid Savarudin: WA/ Telegram (082217343233)