Monday, 5 December 2016

ListView Example using php MySQL.

ListView Example using php MySQL.


listview_example.php
<?php
define('HOST','mysql.hostinger.in');
define('USER','u532517283_user');
define('PASS','your_password ');
define('DB','u532517283_bdm');

$con = mysqli_connect(HOST,USER,PASS,DB);
$sql = "select * from ListViewExample";
$res = mysqli_query($con,$sql);
$result = array();
while($row = mysqli_fetch_array($res)){
array_push($result,
array('item_id'=>$row[0],
'item_name'=>$row[1],
'image'=>'http://compliments.esy.es/images/uploads/'.$row[2]
));
}
echo json_encode(array("result"=>$result));
mysqli_close($con);
?>



bulid.gradle
compile 'com.loopj.android:android-async-http:1.4.5'
compile 'com.squareup.picasso:picasso:2.4.0'
compile files("${android.getSdkDirectory().getAbsolutePath()}" + File.separator + "platforms" + File.separator + "android-23" + File.separator + "optional" + File.separator + "org.apache.http.legacy.jar")

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

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

    package="com.listvieweaxmple">



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

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



    <application

        android:allowBackup="true"

        android:icon="@mipmap/ic_launcher"

        android:label="@string/app_name"

        android:supportsRtl="true"

        android:theme="@style/AppTheme">

        <activity android:name=".MainActivity">

            <intent-filter>

                <action android:name="android.intent.action.MAIN" />



                <category android:name="android.intent.category.LAUNCHER" />

            </intent-filter>

        </activity>

        <activity android:name=".NextPage">

            <meta-data

                android:name="android.support.PARENT_ACTIVITY"

                android:value=".MainActivity" />

        </activity>

    </application>



</manifest>

MainActivity.java
 
package com.listvieweaxmple;



import android.app.ProgressDialog;

import android.content.Intent;

import android.os.Bundle;

import android.support.v7.app.AppCompatActivity;

import android.view.MenuItem;

import android.view.View;

import android.widget.AdapterView;

import android.widget.ListView;

import android.widget.Toast;

import com.loopj.android.http.AsyncHttpClient;

import com.loopj.android.http.JsonHttpResponseHandler;

import org.apache.http.Header;

import org.apache.http.entity.StringEntity;

import org.json.JSONArray;

import org.json.JSONException;

import org.json.JSONObject;

import java.util.ArrayList;



public class MainActivity extends AppCompatActivity {



    ArrayList<class_items> mArrayList;

    ListView mListView;



    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);



        mArrayList = new ArrayList<class_items>();

        mListView = (ListView) findViewById(R.id.listview);

        get();

    }

    private void get() {

        AsyncHttpClient client = new AsyncHttpClient();

        client.addHeader("Accept", "application/json");

        StringEntity mStringEntity = null;

        client.post(this, "http://compliments.esy.es/listview_example.php", mStringEntity, "application/json", new JsonHttpResponseHandler() {

            ProgressDialog mProgressDialog;

            @Override

            public void onSuccess(int statusCode, Header[] headers, JSONObject response) {

                super.onSuccess(statusCode, headers, response);

                try {

                    JSONArray mJsonArray = response.getJSONArray("result");

                    JSONObject object;

                    for (int i = 0; i < mJsonArray.length(); i++) {

                        object = mJsonArray.getJSONObject(i);

                        mArrayList.add(new class_items(

                                object.getString("item_id"),

                                object.getString("item_name"),

                                object.getString("image")));

                    }

                    mListView.setAdapter(new List_View_Adaptor(MainActivity.this, mArrayList));

                } catch (JSONException e) {

                    e.printStackTrace();

                }

            }

            @Override

            public void onFailure(int statusCode, Header[] headers, Throwable throwable, JSONObject errorResponse) {

                Toast.makeText(MainActivity.this, "Data Connection error", Toast.LENGTH_SHORT).show();

                super.onFailure(statusCode, headers, throwable, errorResponse);

            }

            @Override

            public void onStart() {

                super.onStart();

                mProgressDialog = ProgressDialog.show(MainActivity.this, "Loading", "Please Wait", true, false);

            }

            @Override

            public void onFinish() {

                super.onFinish();

                if (mProgressDialog.isShowing()) {

                    mProgressDialog.dismiss();

                }

            }

        });

        mListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {

            @Override

            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {

                class_items items = (class_items) parent.getItemAtPosition(position);

                Intent intent=new Intent(MainActivity.this,NextPage.class);

                intent.putExtra("item_name",items.item_name);

                intent.putExtra("image",items.image);

                startActivity(intent);

            }

        });

    }

    @Override

    public boolean onOptionsItemSelected(MenuItem item) {

        switch (item.getItemId()) {

            case android.R.id.home:

                // app icon in action bar clicked; goto parent activity.

                this.finish();

                return true;

            default:

                return super.onOptionsItemSelected(item);

        }

    }

}
 
List_View_Adaptor.java
 
package com.listvieweaxmple;



import android.content.Context;

import android.view.LayoutInflater;

import android.view.View;

import android.view.ViewGroup;

import android.widget.BaseAdapter;

import android.widget.ImageView;

import android.widget.TextView;

import com.squareup.picasso.Picasso;

import java.util.ArrayList;



public class List_View_Adaptor extends BaseAdapter {

    Context mContext;

    ArrayList<class_items> mArrayList;

    LayoutInflater mLayoutInflater;



    public List_View_Adaptor(Context mContext, ArrayList<class_items> mArrayList) {

        this.mContext = mContext;

        this.mArrayList = mArrayList;

        this.mLayoutInflater=(LayoutInflater)mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);

    }

    @Override

    public int getCount() {

        return mArrayList.size();

    }

    @Override

    public Object getItem(int position) {

        return mArrayList.get(position);

    }

    @Override

    public long getItemId(int position) {

        return position;

    }

    @Override

    public View getView(int position, View convertView, ViewGroup parent)

    {

        list_items_view item;

        if(convertView==null)

        {

            convertView=mLayoutInflater.inflate(R.layout.listview_item,null);

            item=new list_items_view((ImageView)convertView.findViewById(R.id.imageView),

                    (TextView)convertView.findViewById(R.id.textView));

            convertView.setTag(item);

        }

        else

        {

            item=(list_items_view)convertView.getTag();

        }

        String str=mArrayList.get(position).image;

        Picasso.with(mContext).load(str).into(item.getImg1());

        item.getTv1().setText(mArrayList.get(position).getItem_name());

        return convertView;

    }

}
 
class_items.java
 
package com.listvieweaxmple;



public class class_items {

    public String image;

    public String item_id;

    public String item_name;

    public class_items(String item_id, String item_name, String image)

    {

        this.item_id = item_id;

        this.item_name = item_name;

        this.image = image;



    }

    public String getImage() {   return image;    }

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

    public String getItem_id() {  return item_id;    }

    public void setItem_id(String item_id) {       this.item_id = item_id;    }

    public String getItem_name() {         return item_name;    }

}

list_items_view.java

package com.listvieweaxmple;



import android.widget.ImageView;

import android.widget.TextView;



public class list_items_view{

    ImageView img1;

    TextView tv1;



    public list_items_view(ImageView img1, TextView tv1)

    {

        this.img1 = img1;

        this.tv1 = tv1;

    }



    public ImageView getImg1() {

        return img1;

    }

    public void setImg1(ImageView img1) {

        this.img1 = img1;

    }

    public TextView getTv1() {

        return tv1;

    }

    public void setTv1(TextView tv1) {

        this.tv1 = tv1;

    }

}

NextPage.java
package com.listvieweaxmple;



import android.content.Intent;

import android.support.v7.app.AppCompatActivity;

import android.os.Bundle;

import android.widget.ImageView;

import android.widget.TextView;

import com.squareup.picasso.Picasso;



public class NextPage extends AppCompatActivity {

    String item_name,image;

    TextView item_name_txt;

    ImageView image_view;

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_next_page);

        Intent i = getIntent();

        item_name= i.getStringExtra("item_name");

        image = i.getStringExtra("image");

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

        item_name_txt.setText(item_name);

        image_view =(ImageView)findViewById(R.id.image_view);

        Picasso.with(this).load(image).into(image_view);

    }

}

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

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

    xmlns:tools="http://schemas.android.com/tools"

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    android:paddingBottom="@dimen/activity_vertical_margin"

    android:paddingLeft="@dimen/activity_horizontal_margin"

    android:paddingRight="@dimen/activity_horizontal_margin"

    android:paddingTop="@dimen/activity_vertical_margin"

    tools:context=".MainActivity">



    <ListView

        android:layout_width="match_parent"

        android:layout_height="match_parent"

        android:id="@+id/listview"

        android:layout_alignParentLeft="true"

        android:layout_alignParentStart="true" />

</RelativeLayout>

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

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

    android:orientation="vertical" android:layout_width="match_parent"

    android:layout_height="wrap_content">

    <FrameLayout

        android:layout_width="match_parent"

        android:layout_height="wrap_content"

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

        <ImageView

            android:layout_width="match_parent"

            android:layout_height="100dp"

            android:id="@+id/imageView"

            android:background="#80383838"

            android:layout_margin="10dp"

            android:scaleType="fitXY"/>

        <ImageView

            android:layout_width="match_parent"

            android:layout_height="101dp"

            android:id="@+id/imageView1"

            android:layout_margin="10dp"

            android:scaleType="fitXY" />

        <TextView

            android:layout_width="match_parent"

            android:layout_height="match_parent"

            android:id="@+id/textView"

            android:layout_gravity="center"

            android:hint="title"

            android:gravity="center_vertical|center|center_horizontal"

            android:typeface="serif"

            android:textColor="#000000"

            android:textSize="25dp"

            android:layout_margin="10dp" />

    </FrameLayout>

</RelativeLayout>

Activity_next_page.xml

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

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

    xmlns:tools="http://schemas.android.com/tools"

    android:id="@+id/activity_next_page"

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    android:paddingBottom="@dimen/activity_vertical_margin"

    android:paddingLeft="@dimen/activity_horizontal_margin"

    android:paddingRight="@dimen/activity_horizontal_margin"

    android:paddingTop="@dimen/activity_vertical_margin"

    tools:context="com.listvieweaxmple.NextPage"

    android:gravity="center">





    <ImageView

        android:layout_width="match_parent"

        android:layout_height="match_parent"

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



    <TextView

        android:layout_width="match_parent"

        android:layout_height="wrap_content"

        android:id="@+id/item_name_txt"

        android:hint="item name"

        android:textSize="30sp"

        android:gravity="center"

        android:layout_centerVertical="true"

        android:layout_alignParentLeft="true"

        android:layout_alignParentStart="true" />

</RelativeLayout>

Monday, 21 November 2016

Expandable List Example

Expandable List Example



MainActivity.java

package com.mihir.expandablelist;



import java.util.ArrayList;

import java.util.HashMap;

import java.util.List;

import android.app.Activity;

import android.os.Bundle;

import android.view.View;

import android.widget.ExpandableListView;

import android.widget.ExpandableListView.OnChildClickListener;

import android.widget.ExpandableListView.OnGroupClickListener;

import android.widget.ExpandableListView.OnGroupCollapseListener;

import android.widget.ExpandableListView.OnGroupExpandListener;

import android.widget.Toast;



public class MainActivity extends Activity {



   ExpandableListAdapter listAdapter;

   ExpandableListView expListView;

   List<String> listDataHeader;

   HashMap<String, List<String>> listDataChild;



   @Override

   protected void onCreate(Bundle savedInstanceState) {

      super.onCreate(savedInstanceState);

      setContentView(R.layout.activity_main);



      // get the listview

      expListView = (ExpandableListView) findViewById(R.id.lvExp);



      // preparing list data

      prepareListData();



      listAdapter = new ExpandableListAdapter(this, listDataHeader, listDataChild);



      // setting list adapter

      expListView.setAdapter(listAdapter);



      // Listview Group click listener

      expListView.setOnGroupClickListener(new OnGroupClickListener() {



         @Override

         public boolean onGroupClick(ExpandableListView parent, View v,

               int groupPosition, long id) {

             Toast.makeText(getApplicationContext(),

            "Group Clicked " + listDataHeader.get(groupPosition),

            Toast.LENGTH_SHORT).show();

            return false;

         }

      });



      // Listview Group expanded listener

      expListView.setOnGroupExpandListener(new OnGroupExpandListener() {



         @Override

         public void onGroupExpand(int groupPosition) {

            Toast.makeText(getApplicationContext(),

                  listDataHeader.get(groupPosition) + " Expanded",

                  Toast.LENGTH_SHORT).show();

         }

      });



      // Listview Group collasped listener

      expListView.setOnGroupCollapseListener(new OnGroupCollapseListener() {



         @Override

         public void onGroupCollapse(int groupPosition) {

            Toast.makeText(getApplicationContext(),

                  listDataHeader.get(groupPosition) + " Collapsed",

                  Toast.LENGTH_SHORT).show();

         }

      });



      // Listview on child click listener

      expListView.setOnChildClickListener(new OnChildClickListener() {



         @Override

         public boolean onChildClick(ExpandableListView parent, View v,

               int groupPosition, int childPosition, long id) {

            // TODO Auto-generated method stub

            Toast.makeText(

                  getApplicationContext(),

                  listDataHeader.get(groupPosition)

                        + " : "

                        + listDataChild.get(

                              listDataHeader.get(groupPosition)).get(

                              childPosition), Toast.LENGTH_SHORT)

                  .show();

            return false;

         }

      });

   }



   /*Preparing the list data*/

   private void prepareListData() {

      listDataHeader = new ArrayList<String>();

      listDataChild = new HashMap<String, List<String>>();



      // Adding child data

      listDataHeader.add("expandable header 1");

      listDataHeader.add("expandable header 2");

      listDataHeader.add("expandable header 3");



      // Adding child data

      List<String> exphead1 = new ArrayList<String>();

      exphead1.add("item a");

      exphead1.add("item b");

      exphead1.add("item c");

      exphead1.add("item d");

      



      List<String> exphead2 = new ArrayList<String>();

      exphead2.add("item 1");

      exphead2.add("item 2");

      exphead2.add("item 3");

      exphead2.add("item 4");

      

      List<String> exphead3 = new ArrayList<String>();

      exphead3.add("item q");

      exphead3.add("item w");

      exphead3.add("item e");

      exphead3.add("item r");

      exphead3.add("item t");

      exphead3.add("item y");



      listDataChild.put(listDataHeader.get(0), exphead1); // Header, Child data

      listDataChild.put(listDataHeader.get(1), exphead2);

      listDataChild.put(listDataHeader.get(2), exphead3);

   }

}

ExpandableListAdapter.java

package com.mihir.expandablelist;



import java.util.HashMap;

import java.util.List;

import android.content.Context;

import android.graphics.Typeface;

import android.view.LayoutInflater;

import android.view.View;

import android.view.ViewGroup;

import android.widget.BaseExpandableListAdapter;

import android.widget.TextView;



public class ExpandableListAdapter extends BaseExpandableListAdapter {



   private Context _context;

   private List<String> _listDataHeader; // header titles

   // child data in format of header title, child title

   private HashMap<String, List<String>> _listDataChild;



   public ExpandableListAdapter(Context context, List<String> listDataHeader,

         HashMap<String, List<String>> listChildData) {

      this._context = context;

      this._listDataHeader = listDataHeader;

      this._listDataChild = listChildData;

   }



   @Override

   public Object getChild(int groupPosition, int childPosititon) {

      return this._listDataChild.get(this._listDataHeader.get(groupPosition))

            .get(childPosititon);

   }



   @Override

   public long getChildId(int groupPosition, int childPosition) {

      return childPosition;

   }



   @Override

   public View getChildView(int groupPosition, final int childPosition,

         boolean isLastChild, View convertView, ViewGroup parent) {



      final String childText = (String) getChild(groupPosition, childPosition);



      if (convertView == null) {

         LayoutInflater infalInflater = (LayoutInflater) this._context

               .getSystemService(Context.LAYOUT_INFLATER_SERVICE);

         convertView = infalInflater.inflate(R.layout.list_item, null);

      }



      TextView txtListChild = (TextView) convertView

            .findViewById(R.id.lblListItem);



      txtListChild.setText(childText);

      return convertView;

   }



   @Override

   public int getChildrenCount(int groupPosition) {

      return this._listDataChild.get(this._listDataHeader.get(groupPosition))

            .size();

   }



   @Override

   public Object getGroup(int groupPosition) {

      return this._listDataHeader.get(groupPosition);

   }



   @Override

   public int getGroupCount() {

      return this._listDataHeader.size();

   }



   @Override

   public long getGroupId(int groupPosition) {

      return groupPosition;

   }



   @Override

   public View getGroupView(int groupPosition, boolean isExpanded,

         View convertView, ViewGroup parent) {

      String headerTitle = (String) getGroup(groupPosition);

      if (convertView == null) {

         LayoutInflater infalInflater = (LayoutInflater) this._context

               .getSystemService(Context.LAYOUT_INFLATER_SERVICE);

         convertView = infalInflater.inflate(R.layout.list_group, null);

      }



      TextView lblListHeader = (TextView) convertView

            .findViewById(R.id.lblListHeader);

      lblListHeader.setTypeface(null, Typeface.BOLD);

      lblListHeader.setText(headerTitle);



      return convertView;

   }



   @Override

   public boolean hasStableIds() {

      return false;

   }



   @Override

   public boolean isChildSelectable(int groupPosition, int childPosition) {

      return true;

   }



}

activity_main.xml

<?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="fill_parent"

    android:orientation="vertical"

    android:background="#f4f4f4" >



    <ExpandableListView

        android:id="@+id/lvExp"

        android:layout_height="match_parent"

        android:layout_width="match_parent"

        android:cacheColorHint="#000000" />



</LinearLayout>

list_group.xml

<?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="vertical"

    android:padding="8dp" 

    android:background="#000000">



    <TextView

        android:id="@+id/lblListHeader"

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"

        android:paddingLeft="?android:attr/expandableListPreferredItemPaddingLeft"

        android:textSize="17dp"

        android:textColor="#ffffff" />



</LinearLayout>
list_item.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="55dip"

    android:orientation="vertical" >



    <TextView

        android:id="@+id/lblListItem"

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"

        android:textSize="17dip"

        android:paddingTop="5dp"

        android:paddingBottom="5dp"

        android:textColor="#000000"

        android:paddingLeft="?android:attr/expandableListPreferredChildPaddingLeft" />



</LinearLayout>

Friday, 4 November 2016

Android ViewPager Eaxmple

Android View Pager Example

Take dependencies in buid.gradle file

compile 'com.android.support:design:23.1.1'

MainActivity.java
package com.example.admin.imageview;



import android.app.Activity;

import android.os.Bundle;

import android.support.v4.view.PagerAdapter;

import android.support.v4.view.ViewPager;

import android.view.Menu;



public class MainActivity extends Activity {



    ViewPager viewPager;



    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);



        viewPager = (ViewPager) findViewById(R.id.viewPager);

        PagerAdapter adapter = new CustomAdapter(MainActivity.this);

        viewPager.setAdapter(adapter);

    }

    @Override

    public boolean onCreateOptionsMenu(Menu menu) {

        // Inflate the menu; this adds items to the action bar if it is present.

        getMenuInflater().inflate(R.menu.main, menu);

        return true;

    }

}

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

<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="com.example.admin.imageview.MainActivity">



    <android.support.v4.view.ViewPager

        android:layout_width="match_parent"

        android:layout_height="match_parent"

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

    </android.support.v4.view.ViewPager>



</RelativeLayout>

CustomAdapter.java
package com.example.admin.imageview;



import android.app.Activity;

import android.content.Context;

import android.support.v4.view.PagerAdapter;

import android.support.v4.view.ViewPager;

import android.view.LayoutInflater;

import android.view.View;

import android.view.ViewGroup;

import android.widget.ImageView;



public class CustomAdapter extends PagerAdapter {

    Context context;

    int[] imageId = {R.drawable.image1, R.drawable.image2, R.drawable.image3};

    public CustomAdapter(Context context){

        this.context = context;

    }

    @Override

    public Object instantiateItem(ViewGroup container, int position) {

        // TODO Auto-generated method stub

        LayoutInflater inflater = ((Activity)context).getLayoutInflater();



        View viewItem = inflater.inflate(R.layout.image_item, container, false);

        ImageView imageView = (ImageView) viewItem.findViewById(R.id.imageView);

        imageView.setImageResource(imageId[position]);

        ((ViewPager)container).addView(viewItem);

        return viewItem;

    }



    @Override

    public int getCount() {

        // TODO Auto-generated method stub

        return imageId.length;

    }

    @Override

    public boolean isViewFromObject(View view, Object object) {

        // TODO Auto-generated method stub

        return view == ((View)object);

    }



    @Override

    public void destroyItem(ViewGroup container, int position, Object object) {

        // TODO Auto-generated method stub

        ((ViewPager) container).removeView((View) object);

    }



}

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

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

    android:orientation="vertical" android:layout_width="match_parent"

    android:layout_height="match_parent">



    <ImageView

        android:layout_width="match_parent"

        android:layout_height="match_parent"

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

</LinearLayout>


Now your viewpager is ready to run.  Thank you!

CCAvenue Payment Gateway Android Integration

CCAvenue Payment Gateway Android Integration CCAvenue payment gateway android integration using PHP RSA and Response Handling. An...