CodeLab Session 1 - Intent

5
Session 1 : Mengembangkan Aplikasi Demo fungsi Intent pada Aplikasi Android Penjelasan singkat : 1. Materi ini untuk mengenalkan berpindah halaman dengan Intent a. Satu Activity ke Activity lain tanpa data b. Satu Activity ke Activity lain dengan data c. Activity mengaktifkan Aplikasi lain 2. Ikuti cara pembuatan project pada CodeLab sebelumnya Langkah – langkah : 1. Pada activity_main.xml silakan ketikan ketikan kode seperti dibawah ini <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:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity" android:orientation="vertical"> <Button android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/btn_activity_sub_1" android:text="Ke Activity Sub 1" android:layout_marginBottom="8dp"/> <Button android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/btn_activity_sub_2" android:text="Ke Activity Sub 2" android:layout_marginBottom="8dp"/> <Button android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/btn_activity_dial" android:text="Ke Activity Dial" android:layout_marginBottom="8dp"/> </LinearLayout>

description

CodeLab Session 1 - Intent

Transcript of CodeLab Session 1 - Intent

Page 1: CodeLab Session 1 - Intent

Session 1 : Mengembangkan Aplikasi Demo fungsi

Intent pada Aplikasi Android

Penjelasan singkat :

1. Materi ini untuk mengenalkan berpindah halaman dengan Intent

a. Satu Activity ke Activity lain tanpa data

b. Satu Activity ke Activity lain dengan data

c. Activity mengaktifkan Aplikasi lain

2. Ikuti cara pembuatan project pada CodeLab sebelumnya

Langkah – langkah :

1. Pada activity_main.xml silakan ketikan ketikan kode seperti dibawah ini

<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:paddingLeft="@dimen/activity_horizontal_margin"

android:paddingRight="@dimen/activity_horizontal_margin"

android:paddingTop="@dimen/activity_vertical_margin"

android:paddingBottom="@dimen/activity_vertical_margin"

tools:context=".MainActivity"

android:orientation="vertical">

<Button

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:id="@+id/btn_activity_sub_1"

android:text="Ke Activity Sub 1"

android:layout_marginBottom="8dp"/>

<Button

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:id="@+id/btn_activity_sub_2"

android:text="Ke Activity Sub 2"

android:layout_marginBottom="8dp"/>

<Button

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:id="@+id/btn_activity_dial"

android:text="Ke Activity Dial"

android:layout_marginBottom="8dp"/>

</LinearLayout>

Page 2: CodeLab Session 1 - Intent

2. Membuat Activity baru dengan cara pada Package utama (bukan yang ada AndroidTest)

silakan klik kanan New Activity Blank Activity seperti dibawah ini

Lalu beri Nama Sub1Activity

3. Pada activity_sub1.xml silakan modifikasi seperti ini

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

android:paddingLeft="@dimen/activity_horizontal_margin"

android:paddingRight="@dimen/activity_horizontal_margin"

android:paddingTop="@dimen/activity_vertical_margin"

android:paddingBottom="@dimen/activity_vertical_margin"

tools:context="com.nbs.app.sampleintent.Sub1Activity">

<TextView android:text="Halo Ini Sub Activity 1"

android:layout_width="wrap_content"

android:layout_height="wrap_content" />

</RelativeLayout>

Page 3: CodeLab Session 1 - Intent

4. Buat satu Activity baru dengan nama Sub2Activity dengan cara yang sama seperti diatas dan

pada activity_sub_2.xml silakan modifikasi kodenya seperti berikut :

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

android:paddingLeft="@dimen/activity_horizontal_margin"

android:paddingRight="@dimen/activity_horizontal_margin"

android:paddingTop="@dimen/activity_vertical_margin"

android:paddingBottom="@dimen/activity_vertical_margin"

tools:context="com.nbs.app.sampleintent.Sub2Activity">

<TextView android:text="Data yang dikirim"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:id="@+id/txt_data"/>

</RelativeLayout>

5. Pada Sub2Activity.java silakan modifikasi kodenya seperti ini untuk implementasi

penerimaan data dari Intent yang dikirim.

package com.nbs.app.sampleintent;

import android.support.v7.app.ActionBarActivity;

import android.os.Bundle;

import android.view.Menu;

import android.view.MenuItem;

import android.widget.TextView;

public class Sub2Activity extends ActionBarActivity {

public static String KEY_DATA = "data";

private String receivedData = null;

private TextView txtData;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_sub2);

txtData = (TextView)findViewById(R.id.txt_data);

receivedData = getIntent().getStringExtra(KEY_DATA);

txtData.setText(receivedData);

}

@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_sub2, menu);

return true;

}

Page 4: CodeLab Session 1 - Intent

@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);

}

}

6. Pada MainActivity.java kita modifikasi kodenya untuk implementasi perpindahan Activity

dengan atau tanpa data atau mengaktifkan aplikasi lain. Dalam case ini adalah dial phone.

7. package com.nbs.app.sampleintent;

import android.content.Intent;

import android.net.Uri;

import android.support.v7.app.ActionBarActivity;

import android.os.Bundle;

import android.view.Menu;

import android.view.MenuItem;

import android.view.View;

import android.widget.Button;

public class MainActivity extends ActionBarActivity {

private Button btnSub1, btnSub2, btnDial;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

btnSub1 = (Button)findViewById(R.id.btn_activity_sub_1);

btnSub2 = (Button)findViewById(R.id.btn_activity_sub_2);

btnDial = (Button)findViewById(R.id.btn_activity_dial);

btnSub1.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View view) {

Intent intent = new Intent(MainActivity.this,

Sub1Activity.class);

startActivity(intent);

}

});

btnSub2.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View view) {

Intent intent = new Intent(MainActivity.this,

Sub2Activity.class);

intent.putExtra(Sub2Activity.KEY_DATA, "Training

Aplikasi Android");

Page 5: CodeLab Session 1 - Intent

startActivityForResult(intent, 0);

}

});

btnDial.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View view) {

Intent intent = new Intent(Intent.ACTION_DIAL,

Uri.parse("tel:082121212093"));

startActivity(intent);

}

});

}

@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);

}

}

8. Silakan Run project diatas.