Tutorial Mencetak Data Di Activity yang Berbeda / Parsing Variabel menggunakan Intent

Tutorial Mencetak Data Di Activity yang Berbeda / Parsing Variabel menggunakan Intent

Assalamuallaikum...
Bertemu lagi Dengan Saya Hayda Herawati,  Saat ini Saya ingin melanjutkan Materi saya sebelumnnya yaitu mencetak data dalam satu Activity yang sama di Android Studio. Dan sekarang saya ingin melanjutkannya, yaitu "Mencetak Data di Halaman Activity Lain.

Penjelasan sedikit, cara berpindah ke activity lainnya dengan menggunakan Intent(). Jadi Pada saat ingin Mencetak, kita akan pindah ke halaman yang dituju menggunakan Intent(),Variabel yang ingin dikirim, disimpan dalam library Bundle() yang kemudian disisipkan melalui Intent() dari activity pertama, mirip seperti format array. Di activity kedua, tinggal di-ekstrak saja dan dipanggil sesuai dengan index-nya. Apakah Anda sudah paham dengan penjelasan saya yang bertele-tele tersebut, kalo anda udah bingung, langsung aja kita praktekin.

1. Pertama- tama Buat Activity ke 2 beri nama "Tampil_layout" untuk menampilkan outputnya, dengan mengklik File > New > Activity>Empty Activity.
berikut gambarnya.



2. Setelah Itu dibagian Tampil_layout.xml, masukkan Script yang sama dengan Hal_layout.xml.


berikut scriptnya Intinya untuk sekanjutnya hanya mencopy paste dan mengubah id nya, setiap satu baris di beri Linear layout agar terlihat rapih:
<LinearLayout  
   android:layout_width="match_parent" 
   android:layout_height="wrap_content"    
   android:layout_marginBottom="5dp"    
   android:orientation="horizontal">
    <TextView  
       android:layout_width="171dp"        
       android:layout_height="wrap_content"        
       android:text="Jenis"        
       android:textSize="17dp"/>
    <TextView  
      android:layout_width="wrap_content"        
      android:layout_height="wrap_content"        
      android:text=":"        
      android:textSize="17dp" />

    <TextView        
     android:layout_width="wrap_content"        
     android:layout_height="wrap_content"        
     android:textSize="15dp"        
     android:id="@+id/jenis"/>
    </LinearLayout>



3. Kemudian dibagian Hal_layout.java kita akan membuat Variabel dan String yang kita simpan di Bundle, seperti yang sebelumnnya saya jelaskan.
berikut scriptnya:

public class hal_layout extends AppCompatActivity implements View.OnClickListener {
private TextView cetakdisini;
private EditText inputnama, inputangka, inputttl, inputnohp, inputtgl, inputjumlah;
    private CheckBox harian, bulanan, tahunan;
    private Button cetak, cetak2;
    @Override    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_hal_layout);
        cetakdisini = (TextView) findViewById(R.id.cetakdisini);

        inputnama = (EditText) findViewById(R.id.inputnama);
        inputangka = (EditText) findViewById(R.id.inputangka);
        inputttl = (EditText) findViewById(R.id.inputttl);
        inputnohp = (EditText) findViewById(R.id.inputnohp);
        inputtgl = (EditText) findViewById(R.id.inputtgl);
        inputjumlah = (EditText) findViewById(R.id.inputjumlah);

        harian = (CheckBox) findViewById(R.id.harian);
        bulanan = (CheckBox) findViewById(R.id.bulanan);
        tahunan = (CheckBox) findViewById(R.id.tahunan);

        cetak = (Button) findViewById(R.id.cetak);
        cetak2 = (Button) findViewById(R.id.cetak2);

        cetak.setOnClickListener(this);
        cetak2.setOnClickListener(this);


    }





4. Karena sebagian variabelnya berupa teks, maka saya gunakan putString(). Jika ingin menggunakan tipe data yang lainnya juga bisa. Variabel yang sudah dimasukkan ke dalam array (lebih tepatnya seperti itu), dipaketkan menjadi satu dengan Intent(), Intent() tersebutlah yang akan memindahkan halaman.






berikut scriptnya:

@Override    public void onClick(View v) {

        if (v == cetak){
            String nama = inputnama.getText().toString();
            String nipd = inputangka.getText().toString();
            String ttl = inputttl.getText().toString();
            String nohp = inputnohp.getText().toString();
            String tglbayar = inputtgl.getText().toString();
            String jumlah = inputjumlah.getText().toString();

            if (harian.isChecked()) {
                harian.setChecked(false);
                a="Harian Tersedia";
            }
            if (bulanan.isChecked()) {
                bulanan.setChecked(false);
                b="Bulanan Tersedia";
            }if(tahunan.isChecked()){
                tahunan.setChecked(false);
                c="Tahunan Tersedia";
            }

//            boolean a =harian.isChecked();//mengidentifikasi check//            Log.v("MainActivity",":"+a);//            boolean b =bulanan.isChecked();//mengidentifikasi check//            Log.v("MainActivity",":"+b);//            boolean c =tahunan.isChecked();//mengidentifikasi check//            Log.v("MainActivity",":"+c);
            Intent i = null;
            i = new Intent(hal_layout.this,Tampil_layout.class);

            Bundle Z = new Bundle();
            Z.putString("cetaknama", nama);
            Z.putString("cetaknipd",  nipd);
            Z.putString("cetakttl", ttl);
            Z.putString("cetaknohp", nohp);
            Z.putString("harian", a);
            Z.putString("bulanan", b);
            Z.putString("tahunan", c);
            Z.putString("cetaktglbayar", tglbayar);
            Z.putString("cetakjumlah", jumlah);
            i.putExtras(Z);
            startActivity(i);

        }


5. Kemudian Buka bagian Tampil_layout.java. sebelumnnya di bagian xmlnya jangan lupa diberi id, agar pada saat di java bisa di definisikan.

berikut scriptnya:
public class Tampil_layout extends AppCompatActivity {
private TextView nama, nipd, ttl, nohp, jenis, tglbayar, jumlah;
String get_nama, get_nipd, get_ttl, get_nohp, get_tglbayar, 
get_jumlah;
Boolean get_jenis, get_jenis2, get_jenis3;
    private Button kembali;
    @Override    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_tampil_layout);

        nama = (TextView) findViewById(R.id.nama);
        nipd = (TextView) findViewById(R.id.nipd);
        ttl = (TextView) findViewById(R.id.ttl);
        nohp = (TextView) findViewById(R.id.nohp);
        jenis = (TextView) findViewById(R.id.jenis);
        tglbayar = (TextView) findViewById(R.id.tglbayar);
        jumlah = (TextView) findViewById(R.id.jumlah);
        kembali = (Button) findViewById(R.id.kembali);

        Bundle Z = getIntent().getExtras();
        get_nama = Z.getString("cetaknama");
        get_nipd = Z.getString("cetaknipd");
        get_ttl = Z.getString("cetakttl");
        get_nohp = Z.getString("cetaknohp");
        get_jenis = Z.getBoolean("harian");
        get_jenis2 = Z.getBoolean("bulanan");
        get_jenis3 = Z.getBoolean("tahunan");
        get_tglbayar= Z.getString("cetaktglbayar");
        get_jumlah = Z.getString("cetakjumlah");


6. Setelah semua variabel di definisikan, Lalu variabel-variabel tersebut diekstrak. Bundle Z = getIntent().getExtras();. Yang kemudian diambil berdasarkan indexnya, jika menggunakan Checkbox tampilannya akan berbeda dari yang Lain, Karena menggunakan cetak biasa tanpa bundle. tampilan checkbok akan seperti True or false karena checkbox menggunakan boolean.




berikut scriptnya:

 nama.setText(get_nama);
 nipd.setText(get_nipd);
 ttl.setText(get_ttl);
 nohp.setText(get_nohp);
jenis.setText ("\n  Harian?:"+get_jenis+
 "\n Bulanan?:"+get_jenis2+
"\n Tahunan?:"+get_jenis3);
 tglbayar.setText(get_tglbayar);
 jumlah.setText(get_jumlah);

 kembali.setOnClickListener(new View.OnClickListener(){




7. kemudian coba running apk tersebut apakah bisa berjalan atau tidak.




Menurut saya Parsing variabel ini sangat diperlukan dizaman sekarang, karena media sosial biasanya menggunakan tehnik seperti ini. mungkin sampai disini dulu pembahasan tentang parsing variabel/ mencetak data Intent di halaman yang berbeda. sampai jumpa di materi selanjutnya, dijamin materi selanjutny akan lebih tertantang:)

Hayda Herawati
XI RPL 3
08/02/2018




Comments

Popular posts from this blog

Struktur Basis Data (konsep basis data) Dan Diagram ERD

Sistem alur Pembuatan Aplikasi Ticketing Pesawat Terbang dan Kereta Api

membuat Desain aplikasi menggunakan aplikasi pencil