Import Import Import Import Import Import Public Class Extends

You might also like

Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 16

Modul 1 HellowWorld

HelloActivity.java

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

public class HelloActivity extends Activity {


/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

Button btnNext = (Button) findViewById(R.id.btnNext);


btnNext.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
onClickNext();
}
});

Button btnExit = (Button) findViewById(R.id.btnExit);


btnExit.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
finish();
}
});

public void onClickNext() {

Intent intent = new Intent().setClass(this, LoginActivity.class);


startActivity(intent);
}

LoginActivity.java

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class LoginActivity extends Activity {

/** Called when the activity is first created. */


@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.login);

final EditText txtUser = (EditText) findViewById(R.id.txtUser);


final EditText txtPass = (EditText) findViewById(R.id.txtPass);

Button btnLogin = (Button) findViewById(R.id.btnLogin);


btnLogin.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
doLogin(txtUser.getText().toString(), txtPass.getText().toString());
}
});

Button btnCancel = (Button) findViewById(R.id.btnCancel);


btnCancel.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
finish();
}
});

public void doLogin(String user, String pass) {


String showText = "Username: "+user + ", Password: "+pass;
Toast.makeText(this, showText, Toast.LENGTH_LONG).show();
}

public void onLoadStarting() {}

public void DisplayToast(String txt) {


Toast.makeText(this, txt.trim(), Toast.LENGTH_LONG).show();
}

login.xml

<?xml version="1.0" encoding="utf-8"?>


<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent" android:orientation="vertical"
android:layout_height="fill_parent">

<LinearLayout android:layout_width="fill_parent"
android:orientation="horizontal" android:layout_height="50dip">

<TextView
android:id="@+id/lblUser"
android:layout_width="80dip"
android:layout_height="wrap_content"
android:text="Username:" />

<EditText android:id="@+id/txtUser" android:hint="Enter your username"


android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@android:drawable/editbox_background" />
</LinearLayout>

<LinearLayout android:layout_width="fill_parent"
android:orientation="horizontal" android:layout_height="50dip">

<TextView android:id="@+id/lblPass" android:layout_width="80dip"


android:layout_height="wrap_content" android:text="Password:" />

<EditText android:id="@+id/txtPass" android:layout_width="fill_parent"


android:layout_height="wrap_content" android:password="true"
android:background="@android:drawable/editbox_background" />
</LinearLayout>

<LinearLayout android:layout_width="fill_parent" android:gravity="right"


android:orientation="horizontal" android:layout_height="50dip">

<Button
android:id="@+id/btnLogin"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Login" />

<Button
android:id="@+id/btnCancel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="10dip"
android:text="Cancel" />

</LinearLayout>

</LinearLayout>

main.xml

<?xml version="1.0" encoding="utf-8"?>


<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent">

<TextView android:layout_width="fill_parent"
android:layout_height="wrap_content" android:text="@string/hello" />

<LinearLayout android:layout_width="fill_parent" android:gravity="center"


android:orientation="horizontal" android:layout_height="50dip">

<Button
android:id="@+id/btnNext"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Next" />

<Button
android:id="@+id/btnExit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="10dip"
android:text="Exit" />

</LinearLayout>

</LinearLayout>

AndroidManifest.xml

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="im2.org.sample.main" android:versionCode="1"
android:versionName="1.0">

<uses-permission android:name="android.permission.INTERNET" />

<application android:icon="@drawable/icon"
android:label="@string/app_name">

<activity android:name=".HelloActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN"
/>
<category
android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>

<activity android:name=".LoginActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN"
/>
<category
android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>

</application>

<uses-sdk android:minSdkVersion="7" />

</manifest>

Modul 2. ListView

1. Membuat List biasa

ListViewApp.java

import android.app.ListActivity;
import android.os.Bundle;
import android.widget.ArrayAdapter;

public class ListViewApp extends ListActivity {


/** Called when the activity is first created. */
@SuppressWarnings({ "unchecked", "rawtypes" })
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

setListAdapter(new ArrayAdapter(this,
android.R.layout.simple_list_item_1, WORLDCUP2010));
getListView().setTextFilterEnabled(true);

}
static final String[] WORLDCUP2010 = new String[] {
"Jakarta","Indonesia","Bandung","Solo",
"Bali","Surakarta","Padang","Suroboyo","Sleman","Jakarta"
};
}

list_view.xml

<?xml version="1.0" encoding="utf-8"?>


<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >

<TextView
android:id="@+id/selection"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>

<ListView
android:id="@android:id/list"
android:layout_width="fill_parent"
android:layout_height="0px"
android:drawSelectorOnTop="false"
android:layout_weight="1"/>

<TextView
android:id="@+id/empty_content"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:text="no content founds"
android:gravity="center_vertical|center_horizontal"/>

</LinearLayout>

2. Membuat List dengan gambar ceklist

ListMainApps.java

import android.app.ListActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;

public class ListMainApps extends ListActivity {


TextView selection;
/** Called when the activity is first created. */
@SuppressWarnings({ "unchecked", "rawtypes" })
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.list_view);

setListAdapter(new ArrayAdapter(this, R.layout.list_item,R.id.label, WORLDCUP2010));

TextView idEmpty = (TextView) findViewById(R.id.empty_content);


getListView().setEmptyView(idEmpty);

selection = (TextView) findViewById(R.id.selection);


selection.setText("selection one: ");
}

protected void onListItemClick(ListView l, View v, int position, long id) {


super.onListItemClick(l, v, position, id);

String txt = String.format("click me : %s", WORLDCUP2010[position]);


Toast.makeText(this, txt, Toast.LENGTH_LONG).show();

selection.setText("your choice: " +WORLDCUP2010[position]);

static final String[] WORLDCUP2010 = new String[] {


"Algeria","Indonesia","England","Swedia",
"Singapoer","Italy","Spain"
};
}

List_item.java

<?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="wrap_content"
android:orientation="horizontal">

<ImageView
android:id="@+id/icon"
android:layout_width="22px"
android:paddingLeft="2px"
android:paddingRight="2px"
android:paddingTop="2px"
android:layout_height="wrap_content"
android:src="@drawable/ok_check"/>

<TextView
android:id="@+id/label"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="24px"/>

</LinearLayout>

Catatan : buat sebuah folder di dalam folder res dengan nama drawable, setelah selesai copy gambar
ok_check.png kedalam folder drawable.

3. Membuat loading di tengah

ListMainApps.java

import android.app.ListActivity;
import android.app.ProgressDialog;
import android.os.Bundle;
import android.view.View;
import android.view.Window;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;

public class ListMainApps extends ListActivity {


TextView selection;
ProgressDialog progbar;

/** Called when the activity is first created. */

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
setProgressBarIndeterminateVisibility(false);
setContentView(R.layout.list_view);
onThreadRun();
}
public void onThreadRun(){
progbar = ProgressDialog.show(this, "", "Loading...");
new Thread(new Runnable() {
@Override
public void run() {
onCreateWidget(); Sintax Loading
try{
Thread.sleep(1000 * 3);
progbar.dismiss();
}
catch (Exception e){}
}
}).start();

}
@SuppressWarnings({ "unchecked", "rawtypes" })
public void onCreateWidget(){
setListAdapter(new ArrayAdapter(this, R.layout.list_item,R.id.label, WORLDCUP2010));
TextView idEmpty = (TextView) findViewById(R.id.empty_content);
getListView().setEmptyView(idEmpty);

selection = (TextView) findViewById(R.id.selection);


selection.setText("selection one: ");
}

protected void onListItemClick(ListView l, View v, int position, long id) {


super.onListItemClick(l, v, position, id);

String txt = String.format("click me : %s", WORLDCUP2010[position]);


Toast.makeText(this, txt, Toast.LENGTH_LONG).show();

selection.setText("your choice: " +WORLDCUP2010[position]);

static final String[] WORLDCUP2010 = new String[] {


"Algeria","Indonesia","England","Swedia",
"Singapoer","Italy","Spain"
};
}

4. Membuat button URL dan Reffres

ListMainApps.java

public class ListMainApps extends ListActivity {


TextView selection;
ProgressDialog progbar;
int step;

/** Called when the activity is first created. */

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.list_view);

step=0;
onThreadRun();
}
public void onThreadRun(){
progbar = ProgressDialog.show(this, "", "Loading...");
new Thread(new Runnable() {
@Override
public void run() {
onCreateWidget();

try{
Thread.sleep(1000 * 3);
progbar.dismiss();
}
catch (Exception e){}
}
}).start();
}
@SuppressWarnings({ "unchecked", "rawtypes" })
public void onCreateWidget(){
if (step==0)
{Button btnHeader = new Button(this);
btnHeader.setText("Goto www.google.co.id");
btnHeader.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
Intent newIntent = new Intent(Intent.ACTION_VIEW,
Uri.parse("http://www.google.co.id/"));
startActivity(newIntent);
// TODO Auto-generated method stub

} Sintax URL
}); dan Refresh
Button btnFooter = new Button(this);
btnFooter.setText("Refresh");
btnFooter.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
onThreadRun();
// TODO Auto-generated method stub

}
});

getListView().addHeaderView(btnHeader);
getListView().addFooterView(btnFooter);
step++;

}
setListAdapter(new ArrayAdapter(this, R.layout.list_item,R.id.label, WORLDCUP2010));

TextView idEmpty = (TextView) findViewById(R.id.empty_content);


getListView().setEmptyView(idEmpty);

selection = (TextView) findViewById(R.id.selection);


selection.setText("selection one: ");
}

protected void onListItemClick(ListView l, View v, int position, long id) {


super.onListItemClick(l, v, position, id);

String txt = String.format("click me : %s", WORLDCUP2010[position]);


Toast.makeText(this, txt, Toast.LENGTH_LONG).show();

selection.setText("your choice: " +WORLDCUP2010[position]);

static final String[] WORLDCUP2010 = new String[] {


"Algeria","Indonesia","England","Swedia",
"Singapoer","Italy","Spain"
};
}
5. Membuat Menu

ListMainApps.java

import android.app.ListActivity;
import android.app.ProgressDialog;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;

public class ListMainApps extends ListActivity {


TextView selection;
ProgressDialog progbar;
int step;

/** Called when the activity is first created. */

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

setContentView(R.layout.list_view);

step=0;
onThreadRun();
}
public void onThreadRun(){
progbar = ProgressDialog.show(this, "", "Loading...");
new Thread(new Runnable() {
@Override
public void run() {
if(step==0)
onCreateWidget();

try{
Thread.sleep(1000 * 3);
progbar.dismiss();
}
catch (Exception e){}
}
}).start();

}
@SuppressWarnings({ "unchecked", "rawtypes" })
public void onCreateWidget(){
if (step==0){
Button btnHeader = new Button(this);
btnHeader.setText("Goto www.google.co.id" );
btnHeader.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent newIntent = new Intent (Intent.ACTION_VIEW,
Uri.parse("http://www.google.co.id"));
startActivity(newIntent);
}
});
Button btnFooter = new Button(this);
btnFooter.setText("refresh");
btnFooter.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
onThreadRun();
}
});
getListView().addHeaderView(btnHeader);
getListView().addFooterView(btnFooter);
step++;
}
setListAdapter(new ArrayAdapter(this, R.layout.list_item,R.id.label, WORLDCUP2010));

TextView idEmpty = (TextView) findViewById(R.id.empty_content);


getListView().setEmptyView(idEmpty);

selection = (TextView) findViewById(R.id.selection);


selection.setText("selection one: ");
}

protected void onListItemClick(ListView l, View v, int position, long id) {


super.onListItemClick(l, v, position, id);

String txt = String.format("click me : %s", WORLDCUP2010[position]);


Toast.makeText(this, txt, Toast.LENGTH_LONG).show();

selection.setText("your choice: " +WORLDCUP2010[position]);

}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// TODO Auto-generated method stub
getMenuInflater().inflate(R.menu.menu, menu);
menu.findItem(R.id.menu_http).setIcon(android.R.drawable.ic_menu_add);
menu.findItem(R.id.menu_tab).setIcon(android.R.drawable.ic_menu_day);
menu.findItem(R.id.menu_info).setIcon(android.R.drawable.ic_menu_add);
menu.findItem(R.id.menu_exit).setIcon(android.R.drawable.ic_menu_close_clear_cancel);
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// TODO Auto-generated method stub
switch (item.getItemId()) {
case R.id.menu_http:{
Intent intent = new Intent().setClass(this, HelloActivity.class);
startActivity(intent);
return true; Sintax menu
}
case R.id.menu_tab:{
return true;
}
case R.id.menu_help:{
return true;
}
case R.id.menu_about:{
return true;
}
case R.id.menu_exit:{
Sintax menu
finish();
return true;
}
default:
return super.onOptionsItemSelected(item);
}
}

static final String[] WORLDCUP2010 = new String[] {


"Algeria","Indonesia","England","Swedia",
"Singapoer","Italy","Spain"
};
}

menu.xml

<?xml version="1.0" encoding="utf-8"?>


<menu
xmlns:android="http://schemas.android.com/apk/res/android">

<item
android:id="@+id/menu_http"
android:title="Http"
android:alphabeticShortcut='h'/>

<item
android:id="@+id/menu_tab"
android:title="Tab"
android:alphabeticShortcut='t'/>

<item
android:id="@+id/menu_info"
android:title="Info">

<menu>
<group
android:id="@+id/menu_sub_info"
android:checkableBehavior="single">
<item android:id="@+id/menu_help"
android:title="Help"/>
<item android:id="@+id/menu_about"
android:title="About"/>
</group>
</menu>
</item>
<item android:id="@+id/menu_exit"
android:title="Exit"
android:alphabeticShortcut='x'/>

</menu>
Latihan soal

Buatlah sebuah intent pada program menu yang telah dibuat untuk menuju sebuah
activity yang sudah Anda buat sebelumnya.....!!!!!!!

Dalam kasus ini, buatlah menuju Activity HelloActivity.java dan buat agar
LoginActivity.java juga berfungsi.

Modul 3. Membuat database dasar

AdapterDataHelper.java

import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.database.sqlite.SQLiteStatement;
import android.util.Log;

import java.util.ArrayList;
import java.util.List;

public class AdapterDataHelper {

private static final String DATABASE_NAME = "1database.db";


private static final int DATABASE_VERSION = 1;
private static final String TABLE_NAME = "table1";

private Context context;


private SQLiteDatabase db;

private SQLiteStatement insertStmt;


private static final String INSERT = "insert into "
+ TABLE_NAME + "(name) values (?)";

public AdapterDataHelper(Context context) {


this.context = context;
OpenDataHelper openDataHelp = new OpenDataHelper(this.context);
this.db = openDataHelp.getWritableDatabase();
this.insertStmt = this.db.compileStatement(INSERT);
}

public long insert(String name) {


this.insertStmt.bindString(1, name);
return this.insertStmt.executeInsert();
}

public void deleteAll() {


this.db.delete(TABLE_NAME, null, null);
}

public List<String> selectAll() {


List<String> list = new ArrayList<String>();
Cursor cursor = this.db.query(TABLE_NAME, new String[] { "name" },
null, null, null, null, "name desc");
if (cursor.moveToFirst()) {
do {
list.add(cursor.getString(0));
} while (cursor.moveToNext());
}
return list;
}

private static class OpenDataHelper extends SQLiteOpenHelper {

OpenDataHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}

@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("CREATE TABLE " + TABLE_NAME + "(id INTEGER PRIMARY KEY, name
TEXT)");
}

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
Log.w("Example", "Upgrading database, this will drop tables and recreate.");
db.execSQL("DROP TABLE IF EXISTS " + TABLE_NAME);
onCreate(db);
}
}
}

MyFirstDatabase.java

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.widget.TextView;

import java.util.List;

public class MyFirstDatabase extends Activity {


private TextView output;

private AdapterDataHelper aDH;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

this.output = (TextView) this.findViewById(R.id.tampil_text);

this.aDH = new AdapterDataHelper(this);


this.aDH.deleteAll();
this.aDH.insert("Sirsak Manis");
this.aDH.insert("Brokoli Hijau");
this.aDH.insert("Air Segar");
@SuppressWarnings("rawtypes")
List names = this.aDH.selectAll();
StringBuilder sb = new StringBuilder();
sb.append("Data dalam database:\n");

sb.append(names + "\n");

Log.d("FirstData", "names size - " + names.size());

this.output.setText(sb.toString());

main.xml

<?xml version="1.0" encoding="utf-8"?>


<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<LinearLayout xmlns:android=
"http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello" />
<TextView android:id="@+id/tampil_text"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="" />
</LinearLayout>
</ScrollView>

“TERIMAKSIH ATAS PARTISIPASI ANDA DALAM ACARA TRAINING MEMBUAT APLIKASI ANDROID”

SEMOGA BERMANFAAT

You might also like