Wednesday, 9 April 2014

SqLite Samle



        private SQLiteDatabase db;
private static final String DATABASE_NAME = "Sample.db";
private static final int DATABASE_VERSION = 1;
        private static final String TABLE_NAME = "sample_table";
         private static String DB_PATH = "";
        private static final String CREATE_TABLE = "create table TABLE_NAME (id integer primary key             autoincrement, name text, surname text);";
        private static final String DROP_TABLE = "drop table TABLE_NAME if exist");";


public DBHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
           DB_PATH = "/data/data/" + context.getPackageName() + "/databases/";

}
public void onCreate(SQLiteDatabase db) {
db.execSQL(CREATE_TABLE);


}
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        db.execSQL(DROP_TABLE);
        db.onCreate();
         }

private static boolean isDataBaseExist(){
File file =new File(DB_PATH + DATABASE_NAME);
return file.exists();
}
public DBHelper open() throws SQLException {
isDataBaseExist();
if (isDataBaseExist() == false) {
db=getWritableDatabase();
if (db.isOpen())
db.close();
}
db = getWritableDatabase();
return this;
}
public void closedb() {
db.close();
}



public void addMethod(String id, String name) {
try {
ContentValues initialValues = new ContentValues();
initialValues.put("id", id);
initialValues.put("name", name);
db.insert(TABLE_NAME, null, initialValues);

} catch (Exception e) {
e.printStackTrace();
}
}

public ArrayList<SampleData> viewMethod(){
ArrayList<SampleData> sampleData=new ArrayList<SampleData>();
sampleData.clear();
db=this.getWritableDatabase();
String[] columns={"id", "name"};
Cursor cursor=db.query(TABLE_NAME, columns, null, null, null, null, null);
while(cursor.moveToNext()){
sampleData.add(new sampleData(cursor.getString(0), cursor.getString(1)));
}
cursor.close();
return sampleData;

}

public void removeMethod(){
db.delete(TABLE_NAME, null, null);
}

LisView Using Gson

SampleActivity.java


import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.Reader;
import java.util.ArrayList;
import java.util.List;

import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.StatusLine;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;

import android.app.Activity;
import android.app.ProgressDialog;
import android.content.Context;
import android.os.AsyncTask;
import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ListView;
import android.widget.TextView;

import com.google.myjson.Gson;
import com.google.myjson.GsonBuilder;

public class SampleActivity extends Activity {
private String SERVER_URL = "";
private ListView lv;
private ProgressDialog progressDialog;
private List<SampleData> sampleData;
private ArrayList<SampleData> sampleList;
private SampleAdapter sampleAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
lv=(ListView) findViewById(R.id.listView1);

BackGroundTask bt = new BackGroundTask();
bt.execute();
}

private class BackGroundTask extends AsyncTask<Void, Void, String> {
private static final String TAG = "Error";

@Override
protected void onPreExecute(){
  super.onPreExecute();
       progressDialog = new ProgressDialog(SampleActivity.this);
       progressDialog.setCancelable(false);
       progressDialog.setMessage("Loading...");
       progressDialog.show();  
}


@Override
protected String doInBackground(Void... arg0) {


try {
HttpClient client = new DefaultHttpClient();

HttpPost post = new HttpPost( SERVER_URL);

HttpResponse response = client.execute(post);
StatusLine statusLine = response.getStatusLine();

if(statusLine.getStatusCode()==200)
{

HttpEntity entity = response.getEntity();
InputStream content = entity.getContent();

try {
//Read the server response and attempt to parse it as JSON
Reader reader = new InputStreamReader(content);

GsonBuilder gsonBuilder = new GsonBuilder();
Gson gson = gsonBuilder.create();

SampleHeader sampleHeader = gson.fromJson(reader, SampleHeader.class);
content.close();



sampleData= sampleHeader.getSampleData();

handlePostsList(sampleData);

} catch (Exception ex) {
Log.e(TAG, "Failed to parse JSON due to: " + ex);
}

}else
{
Log.e(TAG, "Server responded with status code: " + statusLine.getStatusCode());


}
}  catch (Exception e) {
Log.e(TAG, "Failed to parse JSON due to: " + e);

}

return null;
}


@Override
protected void onPostExecute(String result){
  super.onPostExecute(result);
       progressDialog.dismiss();
}
}// End of Background AsyncTask


private void handlePostsList(final List<SampleData> sampleData) {
this.sampleData = sampleData;
runOnUiThread(new Runnable() {
public void run() {
try {
// logic for retrieve data first time in list view.
sampleList = new ArrayList<SampleData>();

for (int i = 0; i < sampleData.size(); i++) {

sampleList.add(new SampleData(sampleData.get(i).getId().toString()));
}

sampleAdapter= new SampleAdapter(SampleActivity.this, sampleList);
lv.setAdapter(sampleAdapter);

} catch (Exception e) {
e.printStackTrace();
}
}
});
}


public class SampleAdapter extends BaseAdapter
{
Context context;
   List<SampleData> sampleData;
   LayoutInflater inflater;



public SampleAdapter(Context context, List<SampleData> sampleData) {
        this.context = context;
        this.sampleData = sampleData;
    }


public class ViewHolder {
TextView txtSample;

}

public int getCount() {

return sampleData.size();
}

public Object getItem(int position) {
return sampleData.get(position);
}

public long getItemId(int position) {
return sampleData.indexOf(getItem(position));
}

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

final ViewHolder holder;
LayoutInflater mInflater = (LayoutInflater)
           context.getSystemService(Activity.LAYOUT_INFLATER_SERVICE);
       if (convertView == null) {
           convertView = mInflater.inflate(R.layout.custom_row, null);
           holder = new ViewHolder();
           holder.txtSample = (TextView) convertView.findViewById(R.id.textView1);
   
           convertView.setTag(holder);
       }
       else
       {
           holder = (ViewHolder) convertView.getTag();
       }


       holder.txtSample.setText(sampleData.get(position).getId());


     
return convertView;
}

}
}





SampleData.java



import com.google.myjson.annotations.SerializedName;

public class SampleData 
{

@SerializedName("id")
private String id;

public String getId() {
return id;
}

public void setId(String id) {
this.id = id;
}

public SampleData(String id) {
super();
this.id = id;
}

}





SampleHeader.java



import java.util.List;

import com.google.myjson.annotations.SerializedName;

public class SampleHeader {

@SerializedName("students")
private List<SampleData> sampleData;

public List<SampleData> getSampleData() {
return sampleData;
}

public void setSampleData(List<SampleData> sampleData) {
this.sampleData = sampleData;
}



}