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;
    }
   
}

1 komentar:

  1. 8-Bitdojo 8BitDojo 8BitDojo 8BitDojo 8BitDojo-
    8Bitdojo 8BitDojo 8Bitdojo · 8Bitdojo 8BitDojo. 8BitDojo. 8BitDojo. youtube to mp3 convert 8BitDojo. 8BitDojo. 8BitDojo. 8BitDojo. 8BitDojo.

    BalasHapus