Layout Main
<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"
tools:context=".HitungBangun" >
<Button
android:id="@+id/btnBangunDatar"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:text="Bangun Datar"
tools:ignore="HardcodedText" />
</RelativeLayout>
Layout Segitiga
<?xml version="1.0" encoding="utf-8"?>
<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" >
<EditText
android:id="@+id/txtSisi"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:hint="Sisi"
android:inputType="numberDecimal"
tools:ignore="HardcodedText" >
<requestFocus />
</EditText>
</LinearLayout>
Class MainActivity
import android.app.Activity;
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class MainActivity extends Activity {
Button buttonBangunDatar;
CharSequence jenisBangunDatar[]={"Segitiga","Persegi"};
Context context=this;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
buttonBangunDatar=(Button)findViewById(R.id.btnBangunDatar);
buttonBangunDatar.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
dialogBangunDatar();
}
});
}
public void dialogBangunDatar(){
AlertDialog.Builder builder=new AlertDialog.Builder(this);
builder.setTitle("Bangun Datar");
builder.setItems(jenisBangunDatar,new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
// TODO Auto-generated method stub
if(jenisBangunDatar[arg1].equals("Segitiga")){
LayoutInflater inflater=getLayoutInflater();
RumusActivity.hitungSegitiga(context, inflater);
}else{
//tampil error message. lihat materi pertemuan 10
}
}
} );
AlertDialog alertDialog=builder.create();
alertDialog.show();
}
}
Class RumusActivity
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.EditText;
public class RumusActivity {
public static void hitungSegitiga(final Context context, LayoutInflater inflater){
AlertDialog.Builder builder=new AlertDialog.Builder(context);
final View viewSegitiga=inflater.inflate(R.layout.activity_rumus_segitiga, null);
builder.setTitle("Segitiga");
builder.setView(viewSegitiga);
builder.setPositiveButton("Luas", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
EditText alas=(EditText)viewSegitiga.findViewById(R.id.txtAlas);
EditText tinggi=(EditText)viewSegitiga.findViewById(R.id.txtTinggi);
double a=Double.parseDouble(alas.getText().toString());
double t=Double.parseDouble(tinggi.getText().toString());
double luas=a*t/2;
RumusActivity.hasil("Luas", luas, context);
}
});
builder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
// TODO Auto-generated method stub
arg0.cancel();
}
});
AlertDialog alertDialog=builder.create();
alertDialog.show();
}
public static void hasil(String title,double hasil,Context context){
AlertDialog.Builder builder=new AlertDialog.Builder(context);
builder.setTitle(title);
builder.setMessage(hasil+"");
builder.setNeutralButton("Oke", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
dialog.cancel();
}
}).create().show();
}
}
Minggu, 26 April 2015
Materi Pertemuan 11 (Dialog 2)
Xml
<Button
android:id="@+id/btnradio"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginTop="210dp"
android:text="Radio Dialog"
tools:ignore="HardcodedText" />
<Button
android:id="@+id/btncheck"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginTop="260dp"
android:text="Check Dialog"
tools:ignore="HardcodedText" />
<Button
android:id="@+id/btnCustom"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/btncheck"
android:text="Login Dialog"
tools:ignore="HardcodedText" />
Java
Deklarasi variabel class MainActivity
Button buttonRadio;
Button buttonCheck;
Button buttonCustom;
ArrayList<Integer> arrayList=new ArrayList<Integer>();
Context context=this;
EditText user;
EditText pass;
Konfigurasi class onCreate
buttonCheck=(Button) findViewById(R.id.btncheck);
buttonCustom=(Button)findViewById(R.id.btnCustom);
buttonCustom=(Button)findViewById(R.id.btnCustom);
buttonRadio.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
actionRadio();
}
});
buttonCheck.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
actionCheck();
}
});
buttonCustom.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
actionCustomDialog();
}
});
Logika Program Class
public void actionRadio(){
AlertDialog.Builder builder=new AlertDialog.Builder(context);
builder.setTitle("Radio Items");
builder.setSingleChoiceItems(items, 0, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
// TODO Auto-generated method stub
Toast.makeText(context, items[arg1], Toast.LENGTH_LONG).show();
}
});
AlertDialog alertDialog=builder.create();
alertDialog.show();
}
public void actionCheck(){
AlertDialog.Builder builder=new AlertDialog.Builder(context);
builder.setTitle("CheckBox List");
builder.setMultiChoiceItems(items, null, new DialogInterface.OnMultiChoiceClickListener() {
@Override
public void onClick(DialogInterface dialog, int which, boolean isChecked) {
// TODO Auto-generated method stub
if(isChecked){
arrayList.add(which);
}else{
arrayList.remove(Integer.valueOf(which));
}
}
});
builder.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
String sequence="";
for(int i=0;i<arrayList.size();i++){
int x=arrayList.get(i);
sequence +=items[x] + "\n";
}
Toast.makeText(context,sequence, Toast.LENGTH_LONG).show();
arrayList.clear();
}
});
builder.setNegativeButton("No", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
}
});
AlertDialog alertDialog=builder.create();
alertDialog.show();
}
public void actionCustomDialog(){
AlertDialog.Builder builder=new AlertDialog.Builder(context);
LayoutInflater inflater=getLayoutInflater();
final View view=inflater.inflate(R.layout.custom_layout, null);
builder.setTitle("LOGIN");
builder.setIcon(R.drawable.ic_launcher);
builder.setView(view);
builder.setPositiveButton("Sign In", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
user=(EditText) view.findViewById(R.id.editUser);
pass=(EditText) view.findViewById(R.id.editPass);
String u=user.getText().toString();
String p=pass.getText().toString();
Toast.makeText(context,"Username : " + u +"\n"
+"Password : "+ p, Toast.LENGTH_LONG).show();
}
});
builder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
dialog.cancel();
}
});
AlertDialog alertDialog=builder.create();
alertDialog.show();
}
<Button
android:id="@+id/btnradio"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginTop="210dp"
android:text="Radio Dialog"
tools:ignore="HardcodedText" />
<Button
android:id="@+id/btncheck"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginTop="260dp"
android:text="Check Dialog"
tools:ignore="HardcodedText" />
<Button
android:id="@+id/btnCustom"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/btncheck"
android:text="Login Dialog"
tools:ignore="HardcodedText" />
Java
Deklarasi variabel class MainActivity
Button buttonRadio;
Button buttonCheck;
Button buttonCustom;
ArrayList<Integer> arrayList=new ArrayList<Integer>();
Context context=this;
EditText user;
EditText pass;
Konfigurasi class onCreate
buttonCheck=(Button) findViewById(R.id.btncheck);
buttonCustom=(Button)findViewById(R.id.btnCustom);
buttonCustom=(Button)findViewById(R.id.btnCustom);
buttonRadio.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
actionRadio();
}
});
buttonCheck.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
actionCheck();
}
});
buttonCustom.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
actionCustomDialog();
}
});
Logika Program Class
public void actionRadio(){
AlertDialog.Builder builder=new AlertDialog.Builder(context);
builder.setTitle("Radio Items");
builder.setSingleChoiceItems(items, 0, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
// TODO Auto-generated method stub
Toast.makeText(context, items[arg1], Toast.LENGTH_LONG).show();
}
});
AlertDialog alertDialog=builder.create();
alertDialog.show();
}
public void actionCheck(){
AlertDialog.Builder builder=new AlertDialog.Builder(context);
builder.setTitle("CheckBox List");
builder.setMultiChoiceItems(items, null, new DialogInterface.OnMultiChoiceClickListener() {
@Override
public void onClick(DialogInterface dialog, int which, boolean isChecked) {
// TODO Auto-generated method stub
if(isChecked){
arrayList.add(which);
}else{
arrayList.remove(Integer.valueOf(which));
}
}
});
builder.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
String sequence="";
for(int i=0;i<arrayList.size();i++){
int x=arrayList.get(i);
sequence +=items[x] + "\n";
}
Toast.makeText(context,sequence, Toast.LENGTH_LONG).show();
arrayList.clear();
}
});
builder.setNegativeButton("No", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
}
});
AlertDialog alertDialog=builder.create();
alertDialog.show();
}
public void actionCustomDialog(){
AlertDialog.Builder builder=new AlertDialog.Builder(context);
LayoutInflater inflater=getLayoutInflater();
final View view=inflater.inflate(R.layout.custom_layout, null);
builder.setTitle("LOGIN");
builder.setIcon(R.drawable.ic_launcher);
builder.setView(view);
builder.setPositiveButton("Sign In", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
user=(EditText) view.findViewById(R.id.editUser);
pass=(EditText) view.findViewById(R.id.editPass);
String u=user.getText().toString();
String p=pass.getText().toString();
Toast.makeText(context,"Username : " + u +"\n"
+"Password : "+ p, Toast.LENGTH_LONG).show();
}
});
builder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
dialog.cancel();
}
});
AlertDialog alertDialog=builder.create();
alertDialog.show();
}
Minggu, 19 April 2015
Materi Pertemuan 10 (Dialog 1)
Xml
<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"
tools:context=".MainActivity" >
<Button
android:id="@+id/btnNeutral"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="10dp"
android:text="Message Dialog"
tools:ignore="HardcodedText" />
<Button
android:id="@+id/btnKeluar"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginTop="60dp"
android:text="Exit Dialog"
tools:ignore="HardcodedText" />
<Button
android:id="@+id/btnListarray"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginTop="110dp"
android:text="List Dialog (Array)"
tools:ignore="HardcodedText" />
<Button
android:id="@+id/btnListmysql"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginTop="160dp"
android:text="List Dialog (MySQL)"
tools:ignore="HardcodedText" />
</RelativeLayout>
Java
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.lang.reflect.Constructor;
import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.List;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.params.HttpClientParams;
import org.apache.http.impl.client.DefaultHttpClient;
import org.json.JSONArray;
import org.json.JSONObject;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.os.Bundle;
import android.text.Html;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class MainActivity extends Activity {
Button buttonNeutral;
Button buttonKeluar;
Button buttonListArray;
Button buttonListMySQL;
Button buttonRadio;
Button buttonCheck;
Context context=this;
CharSequence items[]={"Ubuntu","Mandriva","Mint"};
ArrayList<Integer> arrayList=new ArrayList<Integer>();
Button buttonCustom;
EditText user;
EditText pass;
private final String urlContoh = "http://10.0.2.2/contoh/getUser.php";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
buttonNeutral=(Button) findViewById(R.id.btnNeutral);
buttonKeluar=(Button) findViewById(R.id.btnKeluar);
buttonListArray=(Button) findViewById(R.id.btnListarray);
buttonListMySQL=(Button) findViewById(R.id.btnListmysql);
buttonRadio=(Button) findViewById(R.id.btnradio);
buttonCheck=(Button) findViewById(R.id.btncheck);
buttonCustom=(Button)findViewById(R.id.btnCustom);
buttonNeutral.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
actionNeutralButton();
}
});
buttonKeluar.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
actionKeluar();
}
});
buttonListArray.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
actionDialogListArray();
}
});
buttonListMySQL.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
actionDialogListMySQL();
}
});
}
public void actionKeluar(){
AlertDialog.Builder builder=new AlertDialog.Builder(context);
builder.setTitle("Konfirmasi");
builder.setMessage("Apakah Anda Akan Keluar ?");
builder.setCancelable(false);
builder.setPositiveButton("Ya", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
// TODO Auto-generated method stub
MainActivity.this.finish();
}
});
builder.setNegativeButton("Tidak", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
// TODO Auto-generated method stub
arg0.cancel();
}
});
AlertDialog alertDialog=builder.create();
alertDialog.show();
}
public void actionNeutralButton(){
new AlertDialog.Builder(this).setTitle("Ini Title")
.setMessage("Ini Message")
.setNeutralButton("Oke", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
// TODO Auto-generated method stub
//Tidak melakukan apapun
}
}).show();
}
public void actionDialogListArray(){
AlertDialog.Builder builder=new AlertDialog.Builder(context);
builder.setTitle("Distro Linux");
builder.setItems(items, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
// TODO Auto-generated method stub
Toast.makeText(context, items[arg1], Toast.LENGTH_LONG).show();
}
});
AlertDialog alertDialog=builder.create();
alertDialog.show();
}
private void actionDialogListMySQL() {
// TODO Auto-generated method stub
JSONObject json = null;
List<String> data = new ArrayList<String>();
try {
String jsonString = MainActivity.getRequestFromServer(urlContoh);
JSONObject jObject = new JSONObject(jsonString);
JSONArray newsJsonArray = jObject.getJSONArray("user");
for (int i = 0; i < newsJsonArray.length(); i++) {
json = newsJsonArray.getJSONObject(i);
data.add(json.getString("un"));
}
} catch (Exception e) {
e.printStackTrace();
}
final CharSequence[] items = data.toArray(new CharSequence[data.size()]);
AlertDialog.Builder kk = new AlertDialog.Builder(this);
kk.setTitle("Pilih Lokasi");
kk.setItems(items, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int item) {
Toast.makeText(getApplicationContext(), items[item], Toast.LENGTH_SHORT).show();
}
}).show();
}
public static String getRequestFromServer(String url){
try {
Class<?> strictModeClass = Class.forName("android.os.StrictMode", true, Thread.currentThread()
.getContextClassLoader());
Class<?> threadPolicyClass = Class.forName("android.os.StrictMode$ThreadPolicy", true, Thread
.currentThread().getContextClassLoader());
Class<?> threadPolicyBuilderClass = Class.forName("android.os.StrictMode$ThreadPolicy$Builder", true,
Thread.currentThread().getContextClassLoader());
Method setThreadPolicyMethod = strictModeClass.getMethod("setThreadPolicy", threadPolicyClass);
Method detectAllMethod = threadPolicyBuilderClass.getMethod("detectAll");
Method penaltyMethod = threadPolicyBuilderClass.getMethod("penaltyLog");
Method buildMethod = threadPolicyBuilderClass.getMethod("build");
Constructor<?> threadPolicyBuilderConstructor = threadPolicyBuilderClass.getConstructor();
Object threadPolicyBuilderObject = threadPolicyBuilderConstructor.newInstance();
Object obj = detectAllMethod.invoke(threadPolicyBuilderObject);
obj = penaltyMethod.invoke(obj);
Object threadPolicyObject = buildMethod.invoke(obj);
setThreadPolicyMethod.invoke(strictModeClass, threadPolicyObject);
} catch (Exception ex) {
Log.w("Thread Policy", ex);
}
String result = "Succeed";
HttpClient client = new DefaultHttpClient();
HttpClientParams.setRedirecting(client.getParams(), true);
HttpGet request = new HttpGet(url);
try{
HttpResponse response = client.execute(request);
InputStream in = response.getEntity().getContent();
BufferedReader reader = new BufferedReader(new InputStreamReader(in));
StringBuilder str = new StringBuilder();
String line = null;
int lineCount = 0;
while((line = reader.readLine()) != null){
if(lineCount>0) str.append("\n");
str.append(line);
}
in.close();
result = str.toString();
Log.w("get Request", "asli : "+result);
if(result.indexOf("<") > 0){
result = result.substring(0, result.indexOf("<"));
}
Log.w("get Request", "proses : "+Html.fromHtml(result));
return Html.fromHtml(result).toString();
}catch(Exception ex){
ex.printStackTrace();
result = "Error";
}
return result;
}
}
<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"
tools:context=".MainActivity" >
<Button
android:id="@+id/btnNeutral"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="10dp"
android:text="Message Dialog"
tools:ignore="HardcodedText" />
<Button
android:id="@+id/btnKeluar"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginTop="60dp"
android:text="Exit Dialog"
tools:ignore="HardcodedText" />
<Button
android:id="@+id/btnListarray"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginTop="110dp"
android:text="List Dialog (Array)"
tools:ignore="HardcodedText" />
<Button
android:id="@+id/btnListmysql"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginTop="160dp"
android:text="List Dialog (MySQL)"
tools:ignore="HardcodedText" />
</RelativeLayout>
Java
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.lang.reflect.Constructor;
import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.List;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.params.HttpClientParams;
import org.apache.http.impl.client.DefaultHttpClient;
import org.json.JSONArray;
import org.json.JSONObject;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.os.Bundle;
import android.text.Html;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class MainActivity extends Activity {
Button buttonNeutral;
Button buttonKeluar;
Button buttonListArray;
Button buttonListMySQL;
Button buttonRadio;
Button buttonCheck;
Context context=this;
CharSequence items[]={"Ubuntu","Mandriva","Mint"};
ArrayList<Integer> arrayList=new ArrayList<Integer>();
Button buttonCustom;
EditText user;
EditText pass;
private final String urlContoh = "http://10.0.2.2/contoh/getUser.php";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
buttonNeutral=(Button) findViewById(R.id.btnNeutral);
buttonKeluar=(Button) findViewById(R.id.btnKeluar);
buttonListArray=(Button) findViewById(R.id.btnListarray);
buttonListMySQL=(Button) findViewById(R.id.btnListmysql);
buttonRadio=(Button) findViewById(R.id.btnradio);
buttonCheck=(Button) findViewById(R.id.btncheck);
buttonCustom=(Button)findViewById(R.id.btnCustom);
buttonNeutral.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
actionNeutralButton();
}
});
buttonKeluar.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
actionKeluar();
}
});
buttonListArray.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
actionDialogListArray();
}
});
buttonListMySQL.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
actionDialogListMySQL();
}
});
}
public void actionKeluar(){
AlertDialog.Builder builder=new AlertDialog.Builder(context);
builder.setTitle("Konfirmasi");
builder.setMessage("Apakah Anda Akan Keluar ?");
builder.setCancelable(false);
builder.setPositiveButton("Ya", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
// TODO Auto-generated method stub
MainActivity.this.finish();
}
});
builder.setNegativeButton("Tidak", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
// TODO Auto-generated method stub
arg0.cancel();
}
});
AlertDialog alertDialog=builder.create();
alertDialog.show();
}
public void actionNeutralButton(){
new AlertDialog.Builder(this).setTitle("Ini Title")
.setMessage("Ini Message")
.setNeutralButton("Oke", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
// TODO Auto-generated method stub
//Tidak melakukan apapun
}
}).show();
}
public void actionDialogListArray(){
AlertDialog.Builder builder=new AlertDialog.Builder(context);
builder.setTitle("Distro Linux");
builder.setItems(items, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
// TODO Auto-generated method stub
Toast.makeText(context, items[arg1], Toast.LENGTH_LONG).show();
}
});
AlertDialog alertDialog=builder.create();
alertDialog.show();
}
private void actionDialogListMySQL() {
// TODO Auto-generated method stub
JSONObject json = null;
List<String> data = new ArrayList<String>();
try {
String jsonString = MainActivity.getRequestFromServer(urlContoh);
JSONObject jObject = new JSONObject(jsonString);
JSONArray newsJsonArray = jObject.getJSONArray("user");
for (int i = 0; i < newsJsonArray.length(); i++) {
json = newsJsonArray.getJSONObject(i);
data.add(json.getString("un"));
}
} catch (Exception e) {
e.printStackTrace();
}
final CharSequence[] items = data.toArray(new CharSequence[data.size()]);
AlertDialog.Builder kk = new AlertDialog.Builder(this);
kk.setTitle("Pilih Lokasi");
kk.setItems(items, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int item) {
Toast.makeText(getApplicationContext(), items[item], Toast.LENGTH_SHORT).show();
}
}).show();
}
public static String getRequestFromServer(String url){
try {
Class<?> strictModeClass = Class.forName("android.os.StrictMode", true, Thread.currentThread()
.getContextClassLoader());
Class<?> threadPolicyClass = Class.forName("android.os.StrictMode$ThreadPolicy", true, Thread
.currentThread().getContextClassLoader());
Class<?> threadPolicyBuilderClass = Class.forName("android.os.StrictMode$ThreadPolicy$Builder", true,
Thread.currentThread().getContextClassLoader());
Method setThreadPolicyMethod = strictModeClass.getMethod("setThreadPolicy", threadPolicyClass);
Method detectAllMethod = threadPolicyBuilderClass.getMethod("detectAll");
Method penaltyMethod = threadPolicyBuilderClass.getMethod("penaltyLog");
Method buildMethod = threadPolicyBuilderClass.getMethod("build");
Constructor<?> threadPolicyBuilderConstructor = threadPolicyBuilderClass.getConstructor();
Object threadPolicyBuilderObject = threadPolicyBuilderConstructor.newInstance();
Object obj = detectAllMethod.invoke(threadPolicyBuilderObject);
obj = penaltyMethod.invoke(obj);
Object threadPolicyObject = buildMethod.invoke(obj);
setThreadPolicyMethod.invoke(strictModeClass, threadPolicyObject);
} catch (Exception ex) {
Log.w("Thread Policy", ex);
}
String result = "Succeed";
HttpClient client = new DefaultHttpClient();
HttpClientParams.setRedirecting(client.getParams(), true);
HttpGet request = new HttpGet(url);
try{
HttpResponse response = client.execute(request);
InputStream in = response.getEntity().getContent();
BufferedReader reader = new BufferedReader(new InputStreamReader(in));
StringBuilder str = new StringBuilder();
String line = null;
int lineCount = 0;
while((line = reader.readLine()) != null){
if(lineCount>0) str.append("\n");
str.append(line);
}
in.close();
result = str.toString();
Log.w("get Request", "asli : "+result);
if(result.indexOf("<") > 0){
result = result.substring(0, result.indexOf("<"));
}
Log.w("get Request", "proses : "+Html.fromHtml(result));
return Html.fromHtml(result).toString();
}catch(Exception ex){
ex.printStackTrace();
result = "Error";
}
return result;
}
}
Minggu, 12 April 2015
Materi Pertemuan 9 (Widget2)
Buat Splash Screen
Xml
<?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"
android:background="#ffffff00">
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Splash Screen" />
</LinearLayout>
Java
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Thread background = new Thread() {
public void run() {
try {
sleep(3*1000);
Intent i=new Intent(getBaseContext(),TabActivity.class);
startActivity(i);
finish();
} catch (Exception e) {}
}
};
background.start();
}
protected void onDestroy() {
super.onDestroy();
}
}
Buat Tab
Xml
<?xml version="1.0" encoding="utf-8"?>
<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/tabHost1">
<TabWidget
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@android:id/tabs">
</TabWidget>
<FrameLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@android:id/tabcontent">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/tab1"
android:orientation="vertical"
android:paddingTop="60px">
<ImageView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:src="@drawable/gambar">
</ImageView>
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/tab2"
android:orientation="vertical"
android:paddingTop="60px">
<TextView
android:layout_width="fill_parent"
android:layout_height="100px"
android:text="this is tab 2"
android:id="@+id/txt2">
</TextView>
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/tab3"
android:orientation="vertical"
android:paddingTop="60px">
<TextView
android:layout_width="fill_parent"
android:layout_height="100px"
android:text="this is tab 3"
android:id="@+id/txt3">
</TextView>
</LinearLayout>
</FrameLayout>
</TabHost>
Java
import android.app.Activity;
import android.os.Bundle;
import android.widget.TabHost;
import android.widget.TabHost.TabSpec;
public class TabActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_tab);
TabHost tabHost = (TabHost) findViewById(R.id.tabHost1);
tabHost.setup();
TabSpec tabSpec1 = tabHost.newTabSpec("Tab 1");
tabSpec1.setContent(R.id.tab1);
tabSpec1.setIndicator("Tab 1");
TabSpec tabSpec2 = tabHost.newTabSpec("Tab 2");
tabSpec2.setContent(R.id.tab2);
tabSpec2.setIndicator("Tab 2");
TabSpec tabSpec3 = tabHost.newTabSpec("Tab 3");
tabSpec3.setContent(R.id.tab3);
tabSpec3.setIndicator("Tab 3");
tabHost.addTab(tabSpec1);
tabHost.addTab(tabSpec2);
tabHost.addTab(tabSpec3);
}
}
Buat Spinner
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"
/>
<Spinner android:id="@+id/spinner"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:drawSelectorOnTop="true"
/>
</LinearLayout>
Java
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.TextView;
public class SpinnerActivity extends Activity implements OnItemSelectedListener {
TextView selection;
String[] items={"Aceh", "Sumatera Utara", "Sumatera Barat", "Riau", "Jambi",
"Sumatera Selatan", "Bengkulu", "Lampung", "Bangka Belitung", "Kepulauan Riau",
"Jakarta", "Jawa Barat", "Jawa Tengah", "Yogyakarta", "JawaTimur",
"Banten", "Bali", "Nusa Tenggara Barat", "Nusa Tenggara Timur", "Kalimantan Barat",
"Kalimantan Tengah", "Kalimantan Selatan", "Kalimantan Timur", "Sulawesi Utara",
"Sulawesi Tengah","SulawesiSelatan","Sulawesi Tenggara","Gorontalo","Sulawesi Barat",
"Maluku","MalukuUtara","PapuaBarat","Papua"};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_spinner);
selection = (TextView) findViewById(R.id.selection);
Spinner spin = (Spinner) findViewById(R.id.spinner);
spin.setOnItemSelectedListener(this);
ArrayAdapter<String>aa = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item,items);
aa.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spin.setAdapter(aa);
}
public void onItemSelected(AdapterView<?> parent, View v, int position, long id) {
selection.setText("Pilihan Anda: "+items[position]);
}
public void onNothingSelected(AdapterView<?> parent) {
selection.setText("Search ...");
}
}
Buat Autocomplete
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="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/textView1"
android:text="@string/perintah">
</TextView>
<AutoCompleteTextView android:id="@+id/edit"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:completionThreshold="3" />
<TextView android:layout_width="fill_parent"
android:text="TextView"
android:layout_height="wrap_content"
android:id="@+id/hasil">
</TextView>
</LinearLayout>
Java
import android.app.Activity;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;
import android.widget.TextView;
public class AutoCompleteActivity extends Activity implements TextWatcher{
TextView hasil;
AutoCompleteTextView edit;
String[] item = { "Merbabu", "Merapi", "Lawu", "Rinjani","Sumbing","Sindoro", "Krakatau", "Selat Sunda", "SelatBali","Selat Malaka","Kalimantan", "Sulawesi", "Jawa" };
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_auto_complete);
hasil = (TextView) findViewById(R.id.hasil);
edit = (AutoCompleteTextView) findViewById(R.id.edit);
edit.addTextChangedListener(this);
edit.setAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_dropdown_item_1line, item));
}
public void onTextChanged(CharSequence s, int start, int before, int count) {
hasil.setText(edit.getText());
}
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
public void afterTextChanged(Editable s) {
}
}
Xml
<?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"
android:background="#ffffff00">
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Splash Screen" />
</LinearLayout>
Java
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Thread background = new Thread() {
public void run() {
try {
sleep(3*1000);
Intent i=new Intent(getBaseContext(),TabActivity.class);
startActivity(i);
finish();
} catch (Exception e) {}
}
};
background.start();
}
protected void onDestroy() {
super.onDestroy();
}
}
Buat Tab
Xml
<?xml version="1.0" encoding="utf-8"?>
<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/tabHost1">
<TabWidget
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@android:id/tabs">
</TabWidget>
<FrameLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@android:id/tabcontent">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/tab1"
android:orientation="vertical"
android:paddingTop="60px">
<ImageView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:src="@drawable/gambar">
</ImageView>
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/tab2"
android:orientation="vertical"
android:paddingTop="60px">
<TextView
android:layout_width="fill_parent"
android:layout_height="100px"
android:text="this is tab 2"
android:id="@+id/txt2">
</TextView>
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/tab3"
android:orientation="vertical"
android:paddingTop="60px">
<TextView
android:layout_width="fill_parent"
android:layout_height="100px"
android:text="this is tab 3"
android:id="@+id/txt3">
</TextView>
</LinearLayout>
</FrameLayout>
</TabHost>
Java
import android.app.Activity;
import android.os.Bundle;
import android.widget.TabHost;
import android.widget.TabHost.TabSpec;
public class TabActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_tab);
TabHost tabHost = (TabHost) findViewById(R.id.tabHost1);
tabHost.setup();
TabSpec tabSpec1 = tabHost.newTabSpec("Tab 1");
tabSpec1.setContent(R.id.tab1);
tabSpec1.setIndicator("Tab 1");
TabSpec tabSpec2 = tabHost.newTabSpec("Tab 2");
tabSpec2.setContent(R.id.tab2);
tabSpec2.setIndicator("Tab 2");
TabSpec tabSpec3 = tabHost.newTabSpec("Tab 3");
tabSpec3.setContent(R.id.tab3);
tabSpec3.setIndicator("Tab 3");
tabHost.addTab(tabSpec1);
tabHost.addTab(tabSpec2);
tabHost.addTab(tabSpec3);
}
}
Buat Spinner
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"
/>
<Spinner android:id="@+id/spinner"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:drawSelectorOnTop="true"
/>
</LinearLayout>
Java
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.TextView;
public class SpinnerActivity extends Activity implements OnItemSelectedListener {
TextView selection;
String[] items={"Aceh", "Sumatera Utara", "Sumatera Barat", "Riau", "Jambi",
"Sumatera Selatan", "Bengkulu", "Lampung", "Bangka Belitung", "Kepulauan Riau",
"Jakarta", "Jawa Barat", "Jawa Tengah", "Yogyakarta", "JawaTimur",
"Banten", "Bali", "Nusa Tenggara Barat", "Nusa Tenggara Timur", "Kalimantan Barat",
"Kalimantan Tengah", "Kalimantan Selatan", "Kalimantan Timur", "Sulawesi Utara",
"Sulawesi Tengah","SulawesiSelatan","Sulawesi Tenggara","Gorontalo","Sulawesi Barat",
"Maluku","MalukuUtara","PapuaBarat","Papua"};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_spinner);
selection = (TextView) findViewById(R.id.selection);
Spinner spin = (Spinner) findViewById(R.id.spinner);
spin.setOnItemSelectedListener(this);
ArrayAdapter<String>aa = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item,items);
aa.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spin.setAdapter(aa);
}
public void onItemSelected(AdapterView<?> parent, View v, int position, long id) {
selection.setText("Pilihan Anda: "+items[position]);
}
public void onNothingSelected(AdapterView<?> parent) {
selection.setText("Search ...");
}
}
Buat Autocomplete
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="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/textView1"
android:text="@string/perintah">
</TextView>
<AutoCompleteTextView android:id="@+id/edit"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:completionThreshold="3" />
<TextView android:layout_width="fill_parent"
android:text="TextView"
android:layout_height="wrap_content"
android:id="@+id/hasil">
</TextView>
</LinearLayout>
Java
import android.app.Activity;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;
import android.widget.TextView;
public class AutoCompleteActivity extends Activity implements TextWatcher{
TextView hasil;
AutoCompleteTextView edit;
String[] item = { "Merbabu", "Merapi", "Lawu", "Rinjani","Sumbing","Sindoro", "Krakatau", "Selat Sunda", "SelatBali","Selat Malaka","Kalimantan", "Sulawesi", "Jawa" };
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_auto_complete);
hasil = (TextView) findViewById(R.id.hasil);
edit = (AutoCompleteTextView) findViewById(R.id.edit);
edit.addTextChangedListener(this);
edit.setAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_dropdown_item_1line, item));
}
public void onTextChanged(CharSequence s, int start, int before, int count) {
hasil.setText(edit.getText());
}
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
public void afterTextChanged(Editable s) {
}
}
Langganan:
Komentar (Atom)