BulkInsert Using SQLite

Xml Files:-

mainactivity.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/LinearLayout01"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="#199967"
    android:orientation="vertical" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:layout_marginBottom="10dp"
        android:layout_marginLeft="10dp"
        android:layout_marginRight="10dp"
        android:layout_marginTop="10dp"
        android:orientation="vertical" >

        <EditText
            android:id="@+id/EditText01"
            android:layout_width="match_parent"
            android:layout_height="40dp"
            android:layout_marginLeft="10dp"
            android:layout_marginRight="10dp"
            android:layout_marginTop="10dp"
            android:background="@drawable/roundedittext"
            android:ems="10"
            android:hint="SEARCH"
            android:paddingLeft="10dp"
            android:singleLine="true"
            android:textColor="#000"
            android:textColorHint="#000"
            android:textCursorDrawable="@drawable/color_cursor"
            android:textSize="12dp" >
        </EditText>
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical" >

        <ListView
            android:id="@+id/android:list"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginBottom="20dp"
            android:layout_marginLeft="10dp"
            android:layout_marginRight="10dp"
            android:layout_marginTop="5dp"
            android:layout_weight="2"
            android:cacheColorHint="#00000000"
            android:divider="#F5F5F5"
            android:dividerHeight="0.1dp" />

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="50dp"
            android:layout_marginLeft="5dp"
            android:layout_marginRight="5dp"
            android:background="@drawable/greenborders"
            android:orientation="vertical" >

            <TextView
                android:id="@+id/fav"
                android:layout_width="wrap_content"
                android:layout_height="50dp"
                android:layout_gravity="center"
                android:gravity="center"
                android:text="CLICK TO REFRESH ANDROID VERSIONS"
                android:textColor="#fff"
                android:textSize="15dp" />
        </LinearLayout>
    </LinearLayout>


</LinearLayout>

mainactivity_item.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:background="#199967"
    android:orientation="vertical"
    android:padding="8dp" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >

        <TextView
            android:id="@+id/hospitalname"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="10dp"
            android:text="hospitalname"
            android:textAllCaps="true"
            android:textColor="#fff"
            android:textSize="16dp"
            android:textStyle="bold" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >

        <TextView
            android:id="@+id/address"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="10dp"
            android:layout_marginTop="5dp"
            android:layout_weight="2"
            android:text="address"
            android:textAllCaps="true"
            android:textColor="#F5F5F5"
            android:textSize="16dp"
            android:textStyle="bold" />
    </LinearLayout>


</LinearLayout>

fillallfield.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center_horizontal"
    android:layout_margin="5px"
    android:background="@drawable/toastround"
    android:orientation="horizontal"
    android:padding="10dp" >

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@null" >

        <TextView
            android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_vertical"
            android:padding="3dp"
            android:text="Invalid..."
            android:textAllCaps="true"
            android:textColor="#fff"
            android:textSize="16dp" />
    </LinearLayout>


</LinearLayout>

Java Files:-

AndroidVersionsListDatabase.java

package com.parthiv.bulkinsert.in;

import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

public class AndroidVersionsListDatabase extends SQLiteOpenHelper {
    static String DATABASE_NAME="custosc2d";
    public static final String TABLE_NAME="custota2bleaaxsc";
    public static final String KEY_TITLE="cusname";
    public static final String KEY_LINK="customeraddress";
 
    public static final String KEY_ID="id";
    public AndroidVersionsListDatabase(Context context) {
        super(context, DATABASE_NAME, null, 1);
       
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        String CREATE_TABLE="CREATE TABLE "+TABLE_NAME+" ("+KEY_ID+" TEXT, "+KEY_TITLE+" TEXT, "+KEY_LINK+" TEXT)";
        db.execSQL(CREATE_TABLE);


    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        db.execSQL("DROP TABLE IF EXISTS "+TABLE_NAME);
        onCreate(db);

    }
    public int getProfilesCount() {
        String countQuery = "SELECT  * FROM " + TABLE_NAME+" GROUP BY cusname";
        SQLiteDatabase db = this.getReadableDatabase();
        Cursor cursor = db.rawQuery(countQuery, null);
        int cnt = cursor.getCount();
        cursor.close();
        return cnt;
    }

}

BulkInsertActivity.java

package com.parthiv.bulkinsert.in;


import java.util.ArrayList;
import java.util.Arrays;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import com.android.volley.Response;
import com.android.volley.VolleyError;
import com.android.volley.toolbox.JsonArrayRequest;
import android.os.AsyncTask;
import android.os.Build;
import android.os.Bundle;
import android.annotation.TargetApi;
import android.app.Activity;
import android.app.Dialog;
import android.app.ListActivity;
import android.app.ProgressDialog;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteStatement;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Typeface;
import android.text.Editable;
import android.text.TextWatcher;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.view.Window;
import android.view.WindowManager;
import android.widget.BaseAdapter;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.ProgressBar;
import android.widget.TextView;
import android.widget.Toast;


public class BulkInsertActivity extends ListActivity {

String jsonResponse;
private String[] titlestr;
private String[] linkstr;
private String[] idstr;
int totallength=0;
ProgressBar progressBar;
Typeface tf;
String fontPath = "fonts/Smoolthan Bold.otf";
     int totallength1=0;
     private ListView lv;
private EditText et;
     private ArrayList<String> title;
private ArrayList<String> link;
private ArrayList<String> id;
ProgressDialog mProgressDialog;

int textlength = 0;
TextView fav;
SQLiteDatabase dataBase1;
AndroidVersionsListDatabase mHelper;
int lengthvalue;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.mainactivity);


  tf = Typeface.createFromAsset(getAssets(),
    fontPath);
lv = (ListView) findViewById(android.R.id.list);
et = (EditText) findViewById(R.id.EditText01);
fav = (TextView) findViewById(R.id.fav);
et.setTypeface(tf);
fav.setTypeface(tf);


mHelper = new AndroidVersionsListDatabase(getApplicationContext());
int yui=mHelper.getProfilesCount();

if(yui==0)
{
new androidversion().execute("");
}
else
{
displayversion();

}



fav.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
BulkInsertActivity.this.deleteDatabase(AndroidVersionsListDatabase.DATABASE_NAME);

mHelper = new AndroidVersionsListDatabase(getApplicationContext());
int yui=mHelper.getProfilesCount();

if(yui==0)
{
new androidversion().execute("");
}
else
{
displayversion();
}
}
});



et.addTextChangedListener(new TextWatcher() {
public void afterTextChanged(Editable s) {
// Abstract Method of TextWatcher Interface.
}

public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
// Abstract Method of TextWatcher Interface.
}

public void onTextChanged(CharSequence s, int start, int before,
int count) {
textlength = et.getText().length();



title.clear();
link.clear();



for (int i = 0; i < titlestr.length; i++) {
if (textlength <= titlestr[i].length()) {

if (titlestr[i].toLowerCase().contains(
et.getText().toString().toLowerCase().trim())) {



title.add(titlestr[i]);
link.add(linkstr[i]);


}
}
}

AppendList(id,title, link);
}
});


}

class androidversion extends AsyncTask<String, String, String> {
@SuppressWarnings("deprecation")
protected void onPreExecute() {
super.onPreExecute();

mProgressDialog = new ProgressDialog(BulkInsertActivity.this);
mProgressDialog.setMessage("Please wait.....");
mProgressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
mProgressDialog.setCancelable(false);
mProgressDialog.show();


}

protected String doInBackground(String... params) {



String urlJsonArry1;


urlJsonArry1 = "http://androidblog.esy.es/ImageJsonData.php";


try {
JsonArrayRequest req = new JsonArrayRequest(urlJsonArry1,
new Response.Listener<JSONArray>() {
public void onResponse(JSONArray response) {
try
{
jsonResponse = "";
totallength1=response.length();


mHelper = new AndroidVersionsListDatabase(getApplicationContext());
dataBase1=mHelper.getWritableDatabase();
String sql = "INSERT INTO "+ mHelper.TABLE_NAME +" VALUES (?,?,?);";
        SQLiteStatement statement = dataBase1.compileStatement(sql);
        dataBase1.beginTransaction();

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

JSONObject person = (JSONObject) response
.get(i);


String iddd=person.getString("id");
String locaddresss=person.getString("image_title");

String sectioid=person.getString("image_url");

statement.clearBindings();
            statement.bindString(1,iddd);
            statement.bindString(2,locaddresss);
            statement.bindString(3,sectioid);
            statement.execute();
       

     
}

dataBase1.setTransactionSuccessful();
dataBase1.endTransaction();

if(totallength1==0)
{

Context context=getApplicationContext();
LayoutInflater inflater=getLayoutInflater();
View customToastroot =inflater.inflate(R.layout.fillallfield, null);
    TextView validate=(TextView)customToastroot.findViewById(R.id.textView1);    
validate.setText("No data has been found...");
validate.setTypeface(tf);
validate.setTextColor(Color.WHITE);
Toast customtoast=new Toast(context);
customtoast.setView(customToastroot);
customtoast.setGravity(Gravity.BOTTOM |                                                                                                                            Gravity.BOTTOM,0, 0);
customtoast.setDuration(1000);
customtoast.show();
mProgressDialog.dismiss();
finish();


}
else
{

ShowAllContent();
}
}
   catch (JSONException e)
       {

   Context context=getApplicationContext();
LayoutInflater inflater=getLayoutInflater();
View customToastroot =inflater.inflate(R.layout.fillallfield, null);
    TextView validate=(TextView)customToastroot.findViewById(R.id.textView1);    
validate.setText("Problem with internet...");
validate.setTypeface(tf);
validate.setTextColor(Color.WHITE);
Toast customtoast=new Toast(context);
customtoast.setView(customToastroot);
customtoast.setGravity(Gravity.BOTTOM | Gravity.BOTTOM,0, 0);
customtoast.setDuration(1000);
customtoast.show();
mProgressDialog.dismiss();

}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {

Context context=getApplicationContext();
LayoutInflater inflater=getLayoutInflater();
View customToastroot =inflater.inflate(R.layout.fillallfield, null);
    TextView validate=(TextView)customToastroot.findViewById(R.id.textView1);    
validate.setText("Problem with internet...");
validate.setTypeface(tf);
validate.setTextColor(Color.WHITE);
Toast customtoast=new Toast(context);
customtoast.setView(customToastroot);
customtoast.setGravity(Gravity.BOTTOM | Gravity.BOTTOM,0, 0);
customtoast.setDuration(1000);
customtoast.show();
mProgressDialog.dismiss();

}
});

AppController.getInstance().addToRequestQueue(req);
}
catch (Exception e)
{
System.out.println("Exception : " + e.getMessage());
}

return null;
}



private void ShowAllContent()
{
mProgressDialog.dismiss();

displayversion();

}



}

public void AppendList(ArrayList<String> str,
ArrayList<String> array_sort2,ArrayList<String> str3) {
setListAdapter(new bsAdapter(this));
}

public class bsAdapter extends BaseAdapter {
Activity cntx;

public bsAdapter(Activity context) {
// TODO Auto-generated constructor stub
this.cntx = context;
}

public int getCount() {
// TODO Auto-generated method stub
return title.size();
}

public Object getItem(int position) {
// TODO Auto-generated method stub
return title.get(position);
}

public long getItemId(int position) {
// TODO Auto-generated method stub
return title.size();
}

public View getView(final int position, View convertView,
ViewGroup parent) {
View row = null;

LayoutInflater inflater = cntx.getLayoutInflater();
row = inflater.inflate(R.layout.mainactivity_item, null);

TextView titlename = (TextView) row.findViewById(R.id.hospitalname);

TextView linkaddress = (TextView) row.findViewById(R.id.address);

titlename.setText(title.get(position));
titlename.setPaintFlags(titlename.getPaintFlags() | Paint.UNDERLINE_TEXT_FLAG);
titlename.setTypeface(tf);

linkaddress.setText(""+link.get(position));
linkaddress.setTypeface(tf);






return row;
}
}

private void displayversion() {
// TODO Auto-generated method stub
mHelper=new AndroidVersionsListDatabase(getApplicationContext());
dataBase1=mHelper.getReadableDatabase();


int i=0;

lengthvalue=mHelper.getProfilesCount();

titlestr=new String[lengthvalue];
linkstr=new String[lengthvalue];


Cursor mCursor=dataBase1.rawQuery("SELECT * FROM "+AndroidVersionsListDatabase.TABLE_NAME+" GROUP BY cusname",null);

if(mCursor.moveToFirst()){

do{

String titleestr=mCursor.getString(mCursor.getColumnIndex(AndroidVersionsListDatabase.KEY_TITLE));
String linkkstr=mCursor.getString(mCursor.getColumnIndex(AndroidVersionsListDatabase.KEY_LINK));


titlestr[i]=titleestr;
linkstr[i]=linkkstr;


i++;

} while(mCursor.moveToNext());
}

Context context=getApplicationContext();
LayoutInflater inflater=getLayoutInflater();
View customToastroot =inflater.inflate(R.layout.fillallfield, null);
    TextView validate=(TextView)customToastroot.findViewById(R.id.textView1);    
validate.setText("COUNT : "+lengthvalue);
validate.setTypeface(tf);
validate.setTextColor(Color.WHITE);
Toast customtoast=new Toast(context);
customtoast.setView(customToastroot);
customtoast.setGravity(Gravity.CENTER | Gravity.CENTER,0, 0);
customtoast.setDuration(1000);
customtoast.show();


title = new ArrayList<String>(Arrays.asList(titlestr));
link = new ArrayList<String>(Arrays.asList(linkstr));



setListAdapter(new bsAdapter(BulkInsertActivity.this));
}

}



Screenshots:-









No comments:

Post a Comment

back to top