Kamis, 01 November 2018

EditText DatePicker

DatePickerDialog picker;



txttgl_lahir= (EditText) findViewById(R.id.txttgl_lahir);
txttgl_lahir.setOnClickListener(new View.OnClickListener() {
   @Override   public void onClick(View v) {
      final Calendar cldr = Calendar.getInstance();
      int day = cldr.get(Calendar.DAY_OF_MONTH);
      int month = cldr.get(Calendar.MONTH)+1;
      int year = cldr.get(Calendar.YEAR);
      // date picker dialog      

picker = new DatePickerDialog(Profil.this,new DatePickerDialog.OnDateSetListener() {
@Override               
public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
                  String BUL="Januari";
                  int b=(monthOfYear + 1);
                  if(b==1){BUL="Januari";}
                  else if(b==2){BUL="Februari";}
                  else if(b==3){BUL="Maret";}
                  else if(b==4){BUL="Aprril";}
                  else if(b==5){BUL="Mei";}
                  else if(b==6){BUL="Juni";}
                  else if(b==7){BUL="Juli";}
                  else if(b==8){BUL="Agustus";}
                  else if(b==9){BUL="September";}
                  else if(b==10){BUL="Oktober";}
                  else if(b==11){BUL="November";}
                  else if(b==12){BUL="Desember";}

                  txttgl_lahir.setText(dayOfMonth + " " + BUL + " " + year);
               }
            }, year, month, day);
      picker.show();
   }
});





NB

Calendar cal = Calendar.getInstance();          
int jam = cal.get(Calendar.HOUR);
int menit= cal.get(Calendar.MINUTE);
int detik= cal.get(Calendar.SECOND);
int tgl= cal.get(Calendar.DATE);
int bln= cal.get(Calendar.MONTH)+1;
int thn= cal.get(Calendar.YEAR);
String BUL="Januari";
if(bln==1){BUL="Januari";}
                  else if(bln==2){BUL="Februari";}
                  else if(bln==3){BUL="Maret";}
                  else if(bln==4){BUL="Aprril";}
                  else if(bln==5){BUL="Mei";}
                  else if(bln==6){BUL="Juni";}
                  else if(bln==7){BUL="Juli";}
                  else if(bln==8){BUL="Agustus";}
                  else if(bln==9){BUL="September";}
                  else if(bln==10){BUL="Oktober";}
                  else if(bln==11){BUL="November";}
                  else if(bln==12){BUL="Desember";}

String swaktu=String.valueOf(tgl)+" "+BUL+" "+String.valueOf(thn);
String stgl=String.valueOf(tgl)+"-"+String.valueOf(bln)+"-"+String.valueOf(thn);
String sjam=String.valueOf(jam)+":"+String.valueOf(menit)+":"+String.valueOf(detik);




Spinner Set Value



Spinner spinFak;

String[]pilFak={"Kedokteran","Ekonomi dan Bisnis","Hukum","Kedokteran Gigi","Teknik","Ilmu Peng. Budaya","Psikologi","Kesehatan Masy.","Matematika dan IPA","Ilmu Sosial dan Politik"," Ilmu Komputer","Ilmu Keperawatan","Farmasi","Ilmu Adminstrasi","Program Vokasi","Sekolah KSG","Sekolah Ilmu Lingkungan","UI"};





spinFak= (Spinner) findViewById(R.id.spinFak);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item, pilFak);
spinFak.setAdapter(adapter);



String fak=myJSON.getString(TAG_fakultas);
int ba=getBaris(pilFak,fak);
spinFak.setSelection(ba);



int getBaris(String[]ar,String item){
      int index=0;
      int jba=ar.length;
   for(int h=0;h<jba;h++){
      if(item.equalsIgnoreCase(ar[h])){
         index=h;
         break;
      }
   }
      return index;
}

+++++++++++++++++++++++++++++++++++++++++++



Map JSON AND Marker


package com.example.komunitas;


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

import org.apache.http.NameValuePair;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import com.google.android.gms.maps.CameraUpdateFactory;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.OnMapReadyCallback;
import com.google.android.gms.maps.SupportMapFragment;
import com.google.android.gms.maps.model.BitmapDescriptor;
import com.google.android.gms.maps.model.BitmapDescriptorFactory;
import com.google.android.gms.maps.model.LatLng;
import com.google.android.gms.maps.model.Marker;
import com.google.android.gms.maps.model.MarkerOptions;

import android.app.ProgressDialog;
import android.content.Intent;
import android.os.AsyncTask;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.util.Log;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.ListAdapter;
import android.widget.SimpleAdapter;
import android.widget.TextView;
import android.widget.Toast;

public class Maps extends FragmentActivity{
   private Marker previousMarker = null;
   int jd=0;
   private SupportMapFragment mapFragment;
   String tkode="",tnama="",tmail="",thp="",tlati="",tlongi="",talamat="",tangkatan="",tstatus="",tgambar="";
   String skodelogin="",snamalogin="",smaillogin="";
   String myLati="-6.352953";
   String myLongi="106.831389";
   String myPosisi="UI";
private ProgressDialog pDialog;
JSONParser jParser = new JSONParser();
JSONArray myJSON = null;
String ip="";
ArrayList<HashMap<String, String>> arrayList;
private static final String TAG_SUKSES = "sukses";
private static final String TAG_record = "record";
   String[]ark;
String[]arkode_anggota;
String[]artgl;
String[]aralamat;
String[]arlatitude;
String[]arlongitude;
String[]arjam;



   protected void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.maps);
       Intent i= this.getIntent();
      myLati= i.getStringExtra("myLati");
      myLongi= i.getStringExtra("myLongi");
      myPosisi= i.getStringExtra("myPosisi");

      skodelogin= i.getStringExtra("skodelogin");
      snamalogin= i.getStringExtra("snamalogin");
      smaillogin= i.getStringExtra("smaillogin");
        
        arrayList = new ArrayList<HashMap<String, String>>();
      ip=jParser.getIP();
         
      new load().execute();
      
      
   }
   class load extends AsyncTask<String, String, String> {
      @Override      protected void onPreExecute() {
         super.onPreExecute();
         pDialog = new ProgressDialog(Maps.this);
         pDialog.setMessage("Load data. Silahkan Tunggu...");
         pDialog.setIndeterminate(false);
         pDialog.setCancelable(false);
         pDialog.show();
      }
      protected String doInBackground(String... args) {
         List<NameValuePair> params = new ArrayList<NameValuePair>();
         JSONObject json = jParser.makeHttpRequest(ip+"lokasi/lokasi_show.php", "GET", params);
         Log.d("show: ", json.toString());
         try {
            int sukses = json.getInt(TAG_SUKSES);
            if (sukses == 1) {
               myJSON = json.getJSONArray(TAG_record);
               jd=myJSON.length();

arkode_anggota=new String[jd];
artgl=new String[jd];
aralamat=new String[jd];
arlatitude=new String[jd];
arlongitude=new String[jd];
arjam=new String[jd];
               ark=new String[jd];

               for (int i = 0; i < jd; i++) {
                  JSONObject c = myJSON.getJSONObject(i);
                  ark[i]=c.getString("kode_anggota");
                  arkode_anggota[i]= c.getString("nama_anggota")+" /"+ c.getString("angkatan");
                  artgl[i]= c.getString("tgl");
                  aralamat[i]= c.getString("alamat");
                  arlatitude[i]= c.getString("latitude");
                  arlongitude[i]= c.getString("longitude");
                  arjam[i]= c.getString("jam");
                  
                  
               }
            } 
         } 
         catch (JSONException e) {e.printStackTrace();}
         return null;
      }

      protected void onPostExecute(String file_url) {
         pDialog.dismiss();
         runOnUiThread(new Runnable() {
            public void run() {
                setupMap();
            }
         });}
   }
   private void setupMap(){
         mapFragment = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.maps));

            mapFragment.getMapAsync(new OnMapReadyCallback() {
               @Override               public void onMapReady(GoogleMap map) {
                  double lat=-6.352953;
                  double lon=106.831389;

                  for(int i=0;i<jd;i++){
                     if(skodelogin.equalsIgnoreCase(ark[i])){}
                     else {
                        lat = -6.352953;
                        lon = 106.831389;
                        try {
                           lat = Double.parseDouble(arlatitude[i]);
                           lon = Double.parseDouble(arlongitude[i]);
                        } catch (Exception e) {
                           lat = -6.352953;
                           lon = 106.831389;
                        }
                        map.addMarker(new MarkerOptions().position(new LatLng(lat, lon)).title(arkode_anggota[i]).snippet(artgl[i] + " " + arjam[i] + " wib " + aralamat[i]));
                     }
                  }

                  try{
                     lat=Double.parseDouble(myLati);
                     lon=Double.parseDouble(myLongi);
                  }
                  catch(Exception e){
                     lat=-6.352953;
                     lon=106.831389;
                  }
                  //BitmapDescriptor icon = BitmapDescriptorFactory.fromResource(R.drawable.admin);                  BitmapDescriptor icon =BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_BLUE);
                  map.addMarker(new MarkerOptions().position(new LatLng(lat, lon)).title("Posisi Anda").snippet(myPosisi).icon(icon));
                  map.moveCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(lat,lon),10));


//==============
//                map.setOnMarkerClickListener(new GoogleMap.OnMarkerClickListener() {//                   @Override//                   public boolean onMarkerClick(Marker marker) {//                      String locAddress = marker.getTitle();//                      //fillTextViews(locAddress);//                      if (previousMarker != null) {//                         previousMarker.setIcon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_RED));//                      }//                      marker.setIcon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_BLUE));//                      previousMarker = marker;//////                      if(locAddress.equalsIgnoreCase("Posisi Anda")){}//                      else{//                         Intent i = new Intent(getApplicationContext(), Detail_anggota.class);//                         i.putExtra("pk", locAddress);//                         i.putExtra("myLati", myLati);//                         i.putExtra("myLongi", myLongi);//                         i.putExtra("myPosisi", myPosisi);//                         i.putExtra("skodelogin", skodelogin);//                         i.putExtra("snamalogin", snamalogin);//                         i.putExtra("smaillogin", smaillogin);//                         startActivityForResult(i, 100);////                         LayoutInflater inflater = getLayoutInflater();//                         View layout = inflater.inflate(R.layout.custom_toast,(ViewGroup) findViewById(R.id.custom_toast_layout_id));//                         ImageView image = (ImageView) layout.findViewById(R.id.image);//                         image.setImageResource(R.drawable.logochat);//                         TextView text = (TextView) layout.findViewById(R.id.text);//                         text.setText("Hai "+locAddress);////                         Toast toast = new Toast(getApplicationContext());//                         toast.setGravity(Gravity.CENTER_VERTICAL, 0, 0);//                         toast.setDuration(Toast.LENGTH_LONG);//                         toast.setView(layout);//                         toast.show();////                      }//                      return true;//                   }//                });//==============               }
            });

         }

}



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

    <fragment        android:id="@+id/maps"        android:layout_width="match_parent"        android:layout_height="match_parent"        class="com.google.android.gms.maps.SupportMapFragment"/>

</RelativeLayout>



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

<uses-permission android:name="android.permission.SEND_SMS" />
<uses-permission android:name="android.permission.CALL_PHONE"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.CAMERA"/>
<uses-permission android:name="android.permission.VIBRATE"/>

<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_GPS" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />





Rabu, 31 Oktober 2018

SQLLite Android like %%


Akan salah jika :
android.database.sqlite.SQLiteException: near "%": 
syntax error: , while compiling: 
SELECT ... FROM ... 
WHERE ((display_name like %?%)) 
ORDER BY display_name ASC
SOLUSINYA:
Cursor contactsContractContacts = resolver.query(
    ContactsContract.Contacts.CONTENT_URI, projection,
    ContactsContract.Contacts.DISPLAY_NAME + " like ?",
    new String[]{"%" + filterStr + "%"},
    ContactsContract.Contacts.DISPLAY_NAME + " ASC");

Membuat Album dari JSON

package com.example.lp2maray;

import android.app.ProgressDialog;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.AsyncTask;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.view.KeyEvent;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.GridView;

import org.apache.http.NameValuePair;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;

public class Galeri extends AppCompatActivity {
    private GridView gridView;
    private GridViewAdapter gridAdapter;

    private ProgressDialog pDialog;
    JSONParser jParser = new JSONParser();
    JSONArray myJSON = null;
    private static final String TAG_SUKSES = "sukses";
    private static final String TAG_record = "record";

    int jd=0;

    String ip="";
    String[]arId_galeri;
    String[]arJudul;
    String[]arTgl;
    String[]arJam;
    String[]arKeterangan;
    String[]arKode_anggota;
    String[]arGambar;
    Bitmap []arBitmap;
    @Override    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        ip=jParser.getIP();
        new load().execute();

    }

    private ArrayList<ImageItem> getData() {
        final ArrayList<ImageItem> imageItems = new ArrayList<>();
        //TypedArray imgs = getResources().obtainTypedArray(R.array.image_ids);        for (int i = 0; i < jd; i++) {//jd/imgs.length()            //Bitmap bitmap = BitmapFactory.decodeResource(getResources(),arBitmap[i]);// imgs.getResourceId(i, -1)            imageItems.add(new ImageItem(arBitmap[i], arJudul[i]));
        }
        return imageItems;
    }

    class load extends AsyncTask<String, String, String> {
        @Override        protected void onPreExecute() {
            super.onPreExecute();
            pDialog = new ProgressDialog(Galeri.this);
            pDialog.setMessage("Load data. Silahkan Tunggu...");
            pDialog.setIndeterminate(false);
            pDialog.setCancelable(false);
            pDialog.show();
        }
        protected String doInBackground(String... args) {
            List<NameValuePair> params = new ArrayList<NameValuePair>();
            JSONObject json = jParser.makeHttpRequest(ip+"galeri/galeri_show.php", "GET", params);
           // Log.d("show: ", json.toString());            try {
                int sukses = json.getInt(TAG_SUKSES);
                if (sukses == 1) {
                    myJSON = json.getJSONArray(TAG_record);
                    jd=myJSON.length();
                    arId_galeri=new String[jd];
                    arJudul=new String[jd];
                    arTgl=new String[jd];
                    arJam=new String[jd];
                    arKeterangan=new String[jd];
                    arKode_anggota=new String[jd];
                    arGambar=new String[jd];
                    arBitmap=new Bitmap[jd];

                    for (int i = 0; i < myJSON.length(); i++) {
                        JSONObject c = myJSON.getJSONObject(i);
                        arId_galeri[i]= c.getString("id_galeri");
                        arJudul[i]= c.getString("judul");
                        arTgl[i]= c.getString("tgl");
                        arJam[i]= c.getString("jam");
                        arKeterangan[i]= c.getString("keterangan");
                        arKode_anggota[i]= c.getString("nama_anggota");
                        arGambar[i]= c.getString("gambar");
                        String gb=ip+"ypathfile/"+ arGambar[i];
                        Log.v("URL",gb);
                        arBitmap[i]=getBitmapFromURL(gb);
                    }
                }
            }
            catch (JSONException e) {e.printStackTrace();}
            return null;
        }

        protected void onPostExecute(String file_url) {
            pDialog.dismiss();
            runOnUiThread(new Runnable() {
                public void run() {
                    gridView = (GridView) findViewById(R.id.gridView);
                    gridAdapter = new GridViewAdapter(Galeri.this, R.layout.grid_item_layout, getData());
                    gridView.setAdapter(gridAdapter);

                    gridView.setOnItemClickListener(new OnItemClickListener() {
                        public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
                            ImageItem item = (ImageItem) parent.getItemAtPosition(position);
                            Intent intent = new Intent(Galeri.this, DetailGaleri.class);
                            intent.putExtra("title", arJudul[position]);//item.getTitle()                            intent.putExtra("title2", arTgl[position]);
                            intent.putExtra("title3", arKeterangan[position]);
                            intent.putExtra("title4", arKode_anggota[position]);
                            intent.putExtra("gambar", arGambar[position]);

                            //intent.putExtra("image", item.getImage());                            startActivity(intent);
                        }
                    });
                }
            });}
    }

    public static Bitmap getBitmapFromURL(String src) {
        try {
            URL url = new URL(src);
            HttpURLConnection connection = (HttpURLConnection) url.openConnection();
            connection.setDoInput(true);
            connection.connect();
            InputStream input = connection.getInputStream();
            Bitmap myBitmap = BitmapFactory.decodeStream(input);
            return myBitmap;
        } catch (IOException e) {
            // Log exception            return null;
        }
    }

    public boolean onCreateOptionsMenu(Menu menu) {
        menu.add(0, 1, 0, "Upload foto");//.setIcon(R.drawable.add);        return true;
    }

    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
            case 1:
                Intent i = new Intent(getApplicationContext(), UploadToServer.class);
                startActivityForResult(i, 100);
                return true;
        }
        return false;
    }

    public boolean onKeyDown(int keyCode, KeyEvent event) {
        if (keyCode == KeyEvent.KEYCODE_BACK) {
            finish();
            return true;
        }
        return super.onKeyDown(keyCode, event);
    }
}
++++++++++++++++++
GridViewAdapter.java


package com.example.lp2maray;

import java.util.ArrayList;

import android.app.Activity;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.TextView;

public class GridViewAdapter extends ArrayAdapter<ImageItem> {

    private Context context;
    private int layoutResourceId;
    private ArrayList<ImageItem> data = new ArrayList<ImageItem>();

    public GridViewAdapter(Context context, int layoutResourceId, ArrayList<ImageItem> data) {
        super(context, layoutResourceId, data);
        this.layoutResourceId = layoutResourceId;
        this.context = context;
        this.data = data;
    }

    @Override    public View getView(int position, View convertView, ViewGroup parent) {
        View row = convertView;
        ViewHolder holder;

        if (row == null) {
            LayoutInflater inflater = ((Activity) context).getLayoutInflater();
            row = inflater.inflate(layoutResourceId, parent, false);
            holder = new ViewHolder();
            holder.imageTitle = (TextView) row.findViewById(R.id.text);
            holder.image = (ImageView) row.findViewById(R.id.image);
            row.setTag(holder);
        } else {
            holder = (ViewHolder) row.getTag();
        }


        ImageItem item = data.get(position);
        holder.imageTitle.setText(item.getTitle());
        holder.image.setImageBitmap(item.getImage());
        return row;
    }

    static class ViewHolder {
        TextView imageTitle;
        ImageView image;
    }
}
+++++++++++++++++
ImageItem.java

package com.example.komunitas;

import android.graphics.Bitmap;

public class ImageItem {
    private Bitmap image;
    private String title;

    public ImageItem(Bitmap image, String title) {
        super();
        this.image = image;
        this.title = title;
    }

    public Bitmap getImage() {
        return image;
    }

    public void setImage(Bitmap image) {
        this.image = image;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }
}










++++++++++++++
activity_main.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:background="#f0f0f0">

    <GridView        android:id="@+id/gridView"        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:layout_margin="5dp"        android:columnWidth="100dp"        android:drawSelectorOnTop="true"        android:gravity="center"        android:numColumns="2"        android:stretchMode="columnWidth"        android:verticalSpacing="5dp"        android:focusable="true"        android:clickable="true"/>
</RelativeLayout>



grid_item_layout.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="wrap_content"    android:layout_height="wrap_content"    android:layout_marginTop="5dp"    android:background="@drawable/grid_color_selector"    android:orientation="vertical"    android:padding="5dp">

    <ImageView        android:id="@+id/image"        android:layout_width="160dp"        android:layout_height="150dp" />

    <TextView        android:id="@+id/text"        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:layout_marginTop="5dp"        android:gravity="center"        android:textSize="12sp" />

</LinearLayout>



RadioButton Group Checked

RadioGroup rg;


rg = (RadioGroup) findViewById(R.id.radiogroup);


if(JK.equalsIgnoreCase("Perempuan")){
   ((RadioButton)rg.getChildAt(1)).setChecked(true);
}
else{//Laki-laki
   ((RadioButton)rg.getChildAt(0)).setChecked(true);
}


===========================

<TextView    android:layout_width="fill_parent"    android:layout_height="wrap_content"    android:text="Jenis Kelamin"    android:textColor="#000000"    android:textSize="20sp"    android:textStyle="bold"/>

<RadioGroup    android:id="@+id/radio"    android:layout_width="fill_parent"    android:layout_height="wrap_content"    android:orientation="vertical">
    <RadioButton android:id="@+id/radPa"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="Laki-laki"        android:checked="true" />
    <RadioButton android:id="@+id/radPi"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="Perempuan" />
</RadioGroup>