How to the Data locally in Android Studio.
[
{"ID":1,"name":"A"},
{"ID":2,"name":"B"},
{"ID":3,"name":"C"},
{"ID":4,"name":"D"},
{"ID":5,"name":"E"},
{"ID":6,"name":"F"},
{"ID":7,"name":"G"}
]
First we need to add Volley Library to our project.
compile 'com.mcxiaoke.volley:library-aar:1.0.0'
Creating New Project.
Open android studio and create a new project.
File => New => New Project => Configure your new project => Select the form factor yours app will run on => Add an Activity to Mobile => Customize the Activity => Finish.
Create the Java file in project.
Open app => main => src = MainActivity.java
TimeAdapter timeAdapter;
final ArrayList<TimeItem> timeArrayList = new ArrayList<>();
DataBaseHandler handler = new DataBaseHandler(this);
NetworkUtils utils = new NetworkUtils(MainActivity.this);
if (handler.getMenuCount() == 0 && utils.isConnectingToInternet()) {
//Execute the AsyncTask
customDialog();
} else {
ListView popListView = (ListView) findViewById(R.id.popList);
final ArrayList<TimeItem> menuList = handler.getAllMenu();
timeAdapter = new TimeAdapter(MainActivity.this, menuList);
popListView.setAdapter(timeAdapter);
}
}
});
private void customDialog() {
String GET_URL = "http://clientdemo.mayaitsolution.com/upload/getallmenus";
StringRequest stringRequest = new StringRequest(Request.Method.GET, GET_URL,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
try {
JSONArray jsonArray = new JSONArray(response);
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject jsonObject = jsonArray.getJSONObject(i);
String mID=jsonObject.getString("ID");
String menu_id=jsonObject.getString("ID");
String mDay = jsonObject.getString("name");
TimeItem timeItem = new TimeItem();
timeItem.setDay(mDay);
//set the data in database
handler.addMenu(timeItem);
//deleiveryEditText.setText(mDelivery);
timeAdapter = new TimeAdapter(MainActivity.this, timeArrayList);
// set the adapter object to the Recyclerview
timeAdapter.notifyDataSetChanged();
popListView.setAdapter(timeAdapter);
}
} catch (JSONException e) {
e.printStackTrace();
}
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
}
});
RequestQueue requestQueue = Volley.newRequestQueue(MainActivity.this);
requestQueue.add(stringRequest);
}
Create Xml file in project.
Open => app => res => layout - activity_main.xml.
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<ListView
android:id="@+id/popList"
android:layout_width="match_parent"
android:layout_height="match_parent">
</ListView>
</LinearLayout>
Create Xml file in project.
Open => app => res => layout - time_row_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="match_parent"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="start|center"
android:orientation="horizontal"
android:padding="12dp">
<TextView
android:id="@+id/txtTime"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="22dp"
android:text="Day"
android:textColor="#000"
android:textSize="16dp"
android:textStyle="bold" />
</LinearLayout>
</LinearLayout>
Create the Java file in project.
Open app => main => src = TimeAdapter.java
public class TimeAdapter extends BaseAdapter {
ArrayList<TimeItem> items = new ArrayList<TimeItem>();
Activity con;
public TimeAdapter(Activity con, ArrayList<TimeItem> items) {
this.con = con;
this.items = items;
}
@Override
public int getCount() {
return items.size();
}
@Override
public Object getItem(int pos) {
return items.get(pos);
}
@Override
public long getItemId(int pos) {
return pos;
}
@Override
public View getView(final int pos, View view, ViewGroup viewGroup) {
LayoutInflater inflator = con.getLayoutInflater();
View listItem = inflator.inflate(R.layout.time_row_item, null, true);
//TextView
TextView dayTextView = (TextView) listItem.findViewById(R.id.txtTime);
//Typeface childFont = Typeface.createFromAsset(listItem.getContext().getAssets(),"fonts/Titillium-Regular.otf");
//dayTextView.setTypeface(childFont);
//Get and set the data here
dayTextView.setText(items.get(pos).getDay());
return listItem;
}
}
Create the Java file in project.
Open app => main => src = TimeItem.java
public class TimeItem {
String day;
public String getDay() {
return day;
}
public void setDay(String day) {
this.day = day;
}
}
Create the Java file in project.
Open app => main => src = NetworkUtils.java
public class NetworkUtils {
private Context context;
public NetworkUtils(Context context) {
this.context = context;
}
public boolean isConnectingToInternet() {
ConnectivityManager connectivity = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
if (connectivity != null) {
NetworkInfo[] info = connectivity.getAllNetworkInfo();
if (info != null)
for (int i = 0; i < info.length; i++)
if (info[i].getState() == NetworkInfo.State.CONNECTED) {
return true;
}
}
return false;
}
}
Create the Java file in project.
Open app => main => src = Listener.java
interface Listener {
//Main image
public void addItem(TimeItem city);
public ArrayList<TimeItem> getAllItem();
public int getItemCount();
//Main Menu List
public void addMenu(TimeItem city);
public ArrayList<TimeItem> getAllMenu();
public int getMenuCount();
// Category
public void SaveJsonSubCat(String data, JSONArray jsonObject);
public boolean isItemAvailable(String url);
JSONArray GetSubCat(String data);
// Gallery Image
public void SaveImage(String data, JSONArray jsonObject);
public boolean isItemImage(String url);
JSONArray GetImage(String data);
}
Create the Java file in project.
Open app => main => src = DataBaseHandler .java
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;
import com.easy.cube.customitem.TimeItem;
import org.json.JSONArray;
import java.util.ArrayList;
/**
* Created by Shobhna on 16-Mar-16.
*/
public class DataBaseHandler extends SQLiteOpenHelper implements Listener {
private static final int DB_VERSION = 1;
private static final String DB_NAME = "Database.db";
//Main category Activity
public static final String TABLE_NAME = "item_table";
public static final String TABLE_MENU = "item_list";
public static final String TABLE_ALL_IMAGE = "all_image";
//SubCatgory Activity
public static final String TABLE_FOOD_ForJson = "cate_menu";
public static final String TABLE_IMAGE_ForJson = "cate_image";
private static final String KEY_ID = "_id";
private static final String KEY_MENU = "_name";
private static final String KEY_MENU_ID = "_menu_id";
private static final String KEY_ALL_IMAGE = "url_image";
private static final String KEY_IMAGE = "_image";
///************************START*********************************//
//All Catogory Table
String CREATE_TABLE = "CREATE TABLE " + TABLE_NAME + " (" + KEY_ID + " INTEGER PRIMARY KEY," + KEY_IMAGE + " TEXT)";
String CREATE_TABLE_MENU = "CREATE TABLE " + TABLE_MENU + " (" + KEY_ID + " INTEGER PRIMARY KEY," + KEY_MENU + " TEXT,"+KEY_MENU_ID +" TEXT)";
String CREATE_TABLE_ALLIMAGE = "CREATE TABLE " + TABLE_ALL_IMAGE + " (" + KEY_ID + " INTEGER PRIMARY KEY," + KEY_ALL_IMAGE + " TEXT)";
//SubCatogry Table
String CREATE_FOODForJson = "CREATE TABLE " + TABLE_FOOD_ForJson + " (" + "url" + " TEXT, " + " array " + " TEXT)";
String CREATE_IMAGEForJson = "CREATE TABLE " + TABLE_IMAGE_ForJson + " (" + "url_image" + " TEXT, " + " array_image" + " TEXT)";
//Main Category
String DROP_TABLE = "DROP TABLE IF EXISTS " + TABLE_NAME;
String DROP_TABLE_MENU = "DROP TABLE IF EXISTS " + TABLE_MENU;
String DROP_TABLE_ALLIMAGE = "DROP TABLE IF EXISTS " + TABLE_ALL_IMAGE;
String DROP_TABLE_FOOD_ForJson = "DROP TABLE IF EXISTS " + TABLE_FOOD_ForJson;
String DROP_TABLE_IMAGE_ForJson = "DROP TABLE IF EXISTS " + TABLE_IMAGE_ForJson;
public DataBaseHandler(Context context) {
super(context, DB_NAME, null, DB_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
//Main Catgory
db.execSQL(CREATE_TABLE);
db.execSQL(CREATE_TABLE_MENU);
db.execSQL(CREATE_TABLE_ALLIMAGE);
db.execSQL(CREATE_FOODForJson);
db.execSQL(CREATE_IMAGEForJson);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
//Main Catgory
db.execSQL(DROP_TABLE);
db.execSQL(DROP_TABLE_MENU);
db.execSQL(DROP_TABLE_ALLIMAGE);
//Catogry
db.execSQL(DROP_TABLE_FOOD_ForJson);
db.execSQL(DROP_TABLE_IMAGE_ForJson);
onCreate(db);
}
//Get All Image
@Override
public void addItem(TimeItem item) {
SQLiteDatabase db = this.getWritableDatabase();
try {
ContentValues values = new ContentValues();
values.put(KEY_IMAGE, item.getImage_url());
db.insert(TABLE_NAME, null, values);
db.close();
} catch (Exception e) {
Log.e("problem", e + "");
}
}
@Override
public ArrayList<TimeItem> getAllItem() {
SQLiteDatabase db = this.getReadableDatabase();
ArrayList<TimeItem> itemList = null;
try {
itemList = new ArrayList<TimeItem>();
String QUERY = "SELECT * FROM " + TABLE_NAME;
Cursor cursor = db.rawQuery(QUERY, null);
if (cursor.moveToFirst()) {
do {
TimeItem item = new TimeItem();
item.setId(cursor.getString(0));
item.setImage_url(cursor.getString(1));
itemList.add(item);
} while (cursor.moveToNext());
}
db.close();
} catch (Exception e) {
Log.e("error", e + "");
}
return itemList;
}
@Override
public int getItemCount() {
int num = 0;
SQLiteDatabase db = this.getReadableDatabase();
try {
String QUERY = "SELECT * FROM " + TABLE_NAME;
Cursor cursor = db.rawQuery(QUERY, null);
num = cursor.getCount();
db.close();
return num;
} catch (Exception e) {
Log.e("error", e + "");
}
return 0;
}
///////////////////////////////////
//////////////////////////////////
//Get All Menu
@Override
public void addMenu(TimeItem item) {
SQLiteDatabase db = this.getWritableDatabase();
try {
ContentValues values = new ContentValues();
values.put(KEY_MENU, item.getDay());
values.put(KEY_MENU_ID, item.getMenu_id());
db.insert(TABLE_MENU, null, values);
db.close();
} catch (Exception e) {
Log.e("problem", e + "");
}
}
@Override
public ArrayList<TimeItem> getAllMenu() {
SQLiteDatabase db = this.getReadableDatabase();
ArrayList<TimeItem> itemList = null;
try {
itemList = new ArrayList<TimeItem>();
String QUERY = "SELECT * FROM " + TABLE_MENU;
Cursor cursor = db.rawQuery(QUERY, null);
if (cursor.moveToFirst()) {
do {
TimeItem item = new TimeItem();
item.setId(cursor.getString(0));
item.setDay(cursor.getString(1));
item.setMenu_id(cursor.getString(2));
itemList.add(item);
} while (cursor.moveToNext());
}
db.close();
} catch (Exception e) {
Log.e("error", e + "");
}
return itemList;
}
@Override
public int getMenuCount() {
int num = 0;
SQLiteDatabase db = this.getReadableDatabase();
try {
String QUERY = "SELECT * FROM " + TABLE_MENU;
Cursor cursor = db.rawQuery(QUERY, null);
num = cursor.getCount();
db.close();
return num;
} catch (Exception e) {
Log.e("error", e + "");
}
return 0;
}
//////////////////
//////////////
////////////end
//All SubCatory Table
//Food catogory
///////////////////////////////////////////////////////
//////////////////////
@Override
public void SaveJsonSubCat(String data, JSONArray jsonObject) {
SQLiteDatabase db = this.getWritableDatabase();
try {
ContentValues values = new ContentValues();
values.put("url", data);
values.put("array", jsonObject.toString());
db.insert(TABLE_FOOD_ForJson, null, values);
db.close();
} catch (Exception e) {
Log.e("problem", e + "");
}
}
@Override
public JSONArray GetSubCat(String data) {
SQLiteDatabase db = this.getReadableDatabase();
try {
// String QUERY = "SELECT * FROM " + TABLE_FOOD_ForJson;
Cursor cursor = db.rawQuery("SELECT * FROM "+TABLE_FOOD_ForJson+" WHERE url = '"+data+"'", null);
if (cursor.getCount()> 0){
while (cursor.moveToNext()){
if (cursor.getString(cursor.getColumnIndex("url")).equals(data)){
JSONArray obj = new JSONArray(cursor.getString(cursor.getColumnIndex("array")));
db.close();
return obj;
}
}
}
db.close();
} catch (Exception e) {
Log.e("error", e + "");
}
return null;
}
@Override
public boolean isItemAvailable(String url) {
SQLiteDatabase db = this.getReadableDatabase();
try {
// String QUERY = "SELECT * FROM " + TABLE_FOOD_ForJson;
Cursor cursor = db.rawQuery("SELECT * FROM "+TABLE_FOOD_ForJson,null);//+" WHERE url = '"+url+"'", null);
if (cursor.getCount()> 0){
while (cursor.moveToNext()){
if (cursor.getString(cursor.getColumnIndex("url")).equals(url)){
db.close();
return true;
}
}
}
db.close();
} catch (Exception e) {
Log.e("error", e + "");
}
return false;
}
//**************************************************************************End*****************************************//
//////Gallary Image////////////////
/////save images///////
@Override
public void SaveImage(String data, JSONArray jsonObject) {
SQLiteDatabase db = this.getWritableDatabase();
try {
ContentValues values = new ContentValues();
values.put("url_image", data);
values.put("array_image", jsonObject.toString());
db.insert(TABLE_IMAGE_ForJson, null, values);
db.close();
} catch (Exception e) {
Log.e("problem", e + "");
}
}
@Override
public JSONArray GetImage(String data) {
SQLiteDatabase db = this.getReadableDatabase();
try {
// String QUERY = "SELECT * FROM " + TABLE_FOOD_ForJson;
Cursor cursor = db.rawQuery("SELECT * FROM "+TABLE_IMAGE_ForJson+" WHERE url_image = '"+data+"'", null);
if (cursor.getCount()> 0){
while (cursor.moveToNext()){
if (cursor.getString(cursor.getColumnIndex("url_image")).equals(data)){
JSONArray obj = new JSONArray(cursor.getString(cursor.getColumnIndex("array_image")));
db.close();
return obj;
}
}
}
db.close();
} catch (Exception e) {
Log.e("error", e + "");
}
return null;
}
@Override
public boolean isItemImage(String url) {
SQLiteDatabase db = this.getReadableDatabase();
try {
// String QUERY = "SELECT * FROM " + TABLE_FOOD_ForJson;
Cursor cursor = db.rawQuery("SELECT * FROM "+TABLE_IMAGE_ForJson,null);//+" WHERE url = '"+url+"'", null);
if (cursor.getCount()> 0){
while (cursor.moveToNext()){
if (cursor.getString(cursor.getColumnIndex("url_image")).equals(url)){
db.close();
return true;
}
}
}
db.close();
} catch (Exception e) {
Log.e("error", e + "");
}
return false;
}
}
Add Internet permission in your manifest
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>
[
{"ID":1,"name":"A"},
{"ID":2,"name":"B"},
{"ID":3,"name":"C"},
{"ID":4,"name":"D"},
{"ID":5,"name":"E"},
{"ID":6,"name":"F"},
{"ID":7,"name":"G"}
]
First we need to add Volley Library to our project.
compile 'com.mcxiaoke.volley:library-aar:1.0.0'
Creating New Project.
Open android studio and create a new project.
File => New => New Project => Configure your new project => Select the form factor yours app will run on => Add an Activity to Mobile => Customize the Activity => Finish.
Create the Java file in project.
Open app => main => src = MainActivity.java
TimeAdapter timeAdapter;
final ArrayList<TimeItem> timeArrayList = new ArrayList<>();
DataBaseHandler handler = new DataBaseHandler(this);
NetworkUtils utils = new NetworkUtils(MainActivity.this);
if (handler.getMenuCount() == 0 && utils.isConnectingToInternet()) {
//Execute the AsyncTask
customDialog();
} else {
ListView popListView = (ListView) findViewById(R.id.popList);
final ArrayList<TimeItem> menuList = handler.getAllMenu();
timeAdapter = new TimeAdapter(MainActivity.this, menuList);
popListView.setAdapter(timeAdapter);
}
}
});
private void customDialog() {
String GET_URL = "http://clientdemo.mayaitsolution.com/upload/getallmenus";
StringRequest stringRequest = new StringRequest(Request.Method.GET, GET_URL,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
try {
JSONArray jsonArray = new JSONArray(response);
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject jsonObject = jsonArray.getJSONObject(i);
String mID=jsonObject.getString("ID");
String menu_id=jsonObject.getString("ID");
String mDay = jsonObject.getString("name");
TimeItem timeItem = new TimeItem();
timeItem.setDay(mDay);
//set the data in database
handler.addMenu(timeItem);
//deleiveryEditText.setText(mDelivery);
timeAdapter = new TimeAdapter(MainActivity.this, timeArrayList);
// set the adapter object to the Recyclerview
timeAdapter.notifyDataSetChanged();
popListView.setAdapter(timeAdapter);
}
} catch (JSONException e) {
e.printStackTrace();
}
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
}
});
RequestQueue requestQueue = Volley.newRequestQueue(MainActivity.this);
requestQueue.add(stringRequest);
}
Create Xml file in project.
Open => app => res => layout - activity_main.xml.
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<ListView
android:id="@+id/popList"
android:layout_width="match_parent"
android:layout_height="match_parent">
</ListView>
</LinearLayout>
Create Xml file in project.
Open => app => res => layout - time_row_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="match_parent"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="start|center"
android:orientation="horizontal"
android:padding="12dp">
<TextView
android:id="@+id/txtTime"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="22dp"
android:text="Day"
android:textColor="#000"
android:textSize="16dp"
android:textStyle="bold" />
</LinearLayout>
</LinearLayout>
Create the Java file in project.
Open app => main => src = TimeAdapter.java
public class TimeAdapter extends BaseAdapter {
ArrayList<TimeItem> items = new ArrayList<TimeItem>();
Activity con;
public TimeAdapter(Activity con, ArrayList<TimeItem> items) {
this.con = con;
this.items = items;
}
@Override
public int getCount() {
return items.size();
}
@Override
public Object getItem(int pos) {
return items.get(pos);
}
@Override
public long getItemId(int pos) {
return pos;
}
@Override
public View getView(final int pos, View view, ViewGroup viewGroup) {
LayoutInflater inflator = con.getLayoutInflater();
View listItem = inflator.inflate(R.layout.time_row_item, null, true);
//TextView
TextView dayTextView = (TextView) listItem.findViewById(R.id.txtTime);
//Typeface childFont = Typeface.createFromAsset(listItem.getContext().getAssets(),"fonts/Titillium-Regular.otf");
//dayTextView.setTypeface(childFont);
//Get and set the data here
dayTextView.setText(items.get(pos).getDay());
return listItem;
}
}
Create the Java file in project.
Open app => main => src = TimeItem.java
public class TimeItem {
String day;
public String getDay() {
return day;
}
public void setDay(String day) {
this.day = day;
}
}
Create the Java file in project.
Open app => main => src = NetworkUtils.java
public class NetworkUtils {
private Context context;
public NetworkUtils(Context context) {
this.context = context;
}
public boolean isConnectingToInternet() {
ConnectivityManager connectivity = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
if (connectivity != null) {
NetworkInfo[] info = connectivity.getAllNetworkInfo();
if (info != null)
for (int i = 0; i < info.length; i++)
if (info[i].getState() == NetworkInfo.State.CONNECTED) {
return true;
}
}
return false;
}
}
Create the Java file in project.
Open app => main => src = Listener.java
interface Listener {
//Main image
public void addItem(TimeItem city);
public ArrayList<TimeItem> getAllItem();
public int getItemCount();
//Main Menu List
public void addMenu(TimeItem city);
public ArrayList<TimeItem> getAllMenu();
public int getMenuCount();
// Category
public void SaveJsonSubCat(String data, JSONArray jsonObject);
public boolean isItemAvailable(String url);
JSONArray GetSubCat(String data);
// Gallery Image
public void SaveImage(String data, JSONArray jsonObject);
public boolean isItemImage(String url);
JSONArray GetImage(String data);
}
Create the Java file in project.
Open app => main => src = DataBaseHandler .java
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;
import com.easy.cube.customitem.TimeItem;
import org.json.JSONArray;
import java.util.ArrayList;
/**
* Created by Shobhna on 16-Mar-16.
*/
public class DataBaseHandler extends SQLiteOpenHelper implements Listener {
private static final int DB_VERSION = 1;
private static final String DB_NAME = "Database.db";
//Main category Activity
public static final String TABLE_NAME = "item_table";
public static final String TABLE_MENU = "item_list";
public static final String TABLE_ALL_IMAGE = "all_image";
//SubCatgory Activity
public static final String TABLE_FOOD_ForJson = "cate_menu";
public static final String TABLE_IMAGE_ForJson = "cate_image";
private static final String KEY_ID = "_id";
private static final String KEY_MENU = "_name";
private static final String KEY_MENU_ID = "_menu_id";
private static final String KEY_ALL_IMAGE = "url_image";
private static final String KEY_IMAGE = "_image";
///************************START*********************************//
//All Catogory Table
String CREATE_TABLE = "CREATE TABLE " + TABLE_NAME + " (" + KEY_ID + " INTEGER PRIMARY KEY," + KEY_IMAGE + " TEXT)";
String CREATE_TABLE_MENU = "CREATE TABLE " + TABLE_MENU + " (" + KEY_ID + " INTEGER PRIMARY KEY," + KEY_MENU + " TEXT,"+KEY_MENU_ID +" TEXT)";
String CREATE_TABLE_ALLIMAGE = "CREATE TABLE " + TABLE_ALL_IMAGE + " (" + KEY_ID + " INTEGER PRIMARY KEY," + KEY_ALL_IMAGE + " TEXT)";
//SubCatogry Table
String CREATE_FOODForJson = "CREATE TABLE " + TABLE_FOOD_ForJson + " (" + "url" + " TEXT, " + " array " + " TEXT)";
String CREATE_IMAGEForJson = "CREATE TABLE " + TABLE_IMAGE_ForJson + " (" + "url_image" + " TEXT, " + " array_image" + " TEXT)";
//Main Category
String DROP_TABLE = "DROP TABLE IF EXISTS " + TABLE_NAME;
String DROP_TABLE_MENU = "DROP TABLE IF EXISTS " + TABLE_MENU;
String DROP_TABLE_ALLIMAGE = "DROP TABLE IF EXISTS " + TABLE_ALL_IMAGE;
String DROP_TABLE_FOOD_ForJson = "DROP TABLE IF EXISTS " + TABLE_FOOD_ForJson;
String DROP_TABLE_IMAGE_ForJson = "DROP TABLE IF EXISTS " + TABLE_IMAGE_ForJson;
public DataBaseHandler(Context context) {
super(context, DB_NAME, null, DB_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
//Main Catgory
db.execSQL(CREATE_TABLE);
db.execSQL(CREATE_TABLE_MENU);
db.execSQL(CREATE_TABLE_ALLIMAGE);
db.execSQL(CREATE_FOODForJson);
db.execSQL(CREATE_IMAGEForJson);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
//Main Catgory
db.execSQL(DROP_TABLE);
db.execSQL(DROP_TABLE_MENU);
db.execSQL(DROP_TABLE_ALLIMAGE);
//Catogry
db.execSQL(DROP_TABLE_FOOD_ForJson);
db.execSQL(DROP_TABLE_IMAGE_ForJson);
onCreate(db);
}
//Get All Image
@Override
public void addItem(TimeItem item) {
SQLiteDatabase db = this.getWritableDatabase();
try {
ContentValues values = new ContentValues();
values.put(KEY_IMAGE, item.getImage_url());
db.insert(TABLE_NAME, null, values);
db.close();
} catch (Exception e) {
Log.e("problem", e + "");
}
}
@Override
public ArrayList<TimeItem> getAllItem() {
SQLiteDatabase db = this.getReadableDatabase();
ArrayList<TimeItem> itemList = null;
try {
itemList = new ArrayList<TimeItem>();
String QUERY = "SELECT * FROM " + TABLE_NAME;
Cursor cursor = db.rawQuery(QUERY, null);
if (cursor.moveToFirst()) {
do {
TimeItem item = new TimeItem();
item.setId(cursor.getString(0));
item.setImage_url(cursor.getString(1));
itemList.add(item);
} while (cursor.moveToNext());
}
db.close();
} catch (Exception e) {
Log.e("error", e + "");
}
return itemList;
}
@Override
public int getItemCount() {
int num = 0;
SQLiteDatabase db = this.getReadableDatabase();
try {
String QUERY = "SELECT * FROM " + TABLE_NAME;
Cursor cursor = db.rawQuery(QUERY, null);
num = cursor.getCount();
db.close();
return num;
} catch (Exception e) {
Log.e("error", e + "");
}
return 0;
}
///////////////////////////////////
//////////////////////////////////
//Get All Menu
@Override
public void addMenu(TimeItem item) {
SQLiteDatabase db = this.getWritableDatabase();
try {
ContentValues values = new ContentValues();
values.put(KEY_MENU, item.getDay());
values.put(KEY_MENU_ID, item.getMenu_id());
db.insert(TABLE_MENU, null, values);
db.close();
} catch (Exception e) {
Log.e("problem", e + "");
}
}
@Override
public ArrayList<TimeItem> getAllMenu() {
SQLiteDatabase db = this.getReadableDatabase();
ArrayList<TimeItem> itemList = null;
try {
itemList = new ArrayList<TimeItem>();
String QUERY = "SELECT * FROM " + TABLE_MENU;
Cursor cursor = db.rawQuery(QUERY, null);
if (cursor.moveToFirst()) {
do {
TimeItem item = new TimeItem();
item.setId(cursor.getString(0));
item.setDay(cursor.getString(1));
item.setMenu_id(cursor.getString(2));
itemList.add(item);
} while (cursor.moveToNext());
}
db.close();
} catch (Exception e) {
Log.e("error", e + "");
}
return itemList;
}
@Override
public int getMenuCount() {
int num = 0;
SQLiteDatabase db = this.getReadableDatabase();
try {
String QUERY = "SELECT * FROM " + TABLE_MENU;
Cursor cursor = db.rawQuery(QUERY, null);
num = cursor.getCount();
db.close();
return num;
} catch (Exception e) {
Log.e("error", e + "");
}
return 0;
}
//////////////////
//////////////
////////////end
//All SubCatory Table
//Food catogory
///////////////////////////////////////////////////////
//////////////////////
@Override
public void SaveJsonSubCat(String data, JSONArray jsonObject) {
SQLiteDatabase db = this.getWritableDatabase();
try {
ContentValues values = new ContentValues();
values.put("url", data);
values.put("array", jsonObject.toString());
db.insert(TABLE_FOOD_ForJson, null, values);
db.close();
} catch (Exception e) {
Log.e("problem", e + "");
}
}
@Override
public JSONArray GetSubCat(String data) {
SQLiteDatabase db = this.getReadableDatabase();
try {
// String QUERY = "SELECT * FROM " + TABLE_FOOD_ForJson;
Cursor cursor = db.rawQuery("SELECT * FROM "+TABLE_FOOD_ForJson+" WHERE url = '"+data+"'", null);
if (cursor.getCount()> 0){
while (cursor.moveToNext()){
if (cursor.getString(cursor.getColumnIndex("url")).equals(data)){
JSONArray obj = new JSONArray(cursor.getString(cursor.getColumnIndex("array")));
db.close();
return obj;
}
}
}
db.close();
} catch (Exception e) {
Log.e("error", e + "");
}
return null;
}
@Override
public boolean isItemAvailable(String url) {
SQLiteDatabase db = this.getReadableDatabase();
try {
// String QUERY = "SELECT * FROM " + TABLE_FOOD_ForJson;
Cursor cursor = db.rawQuery("SELECT * FROM "+TABLE_FOOD_ForJson,null);//+" WHERE url = '"+url+"'", null);
if (cursor.getCount()> 0){
while (cursor.moveToNext()){
if (cursor.getString(cursor.getColumnIndex("url")).equals(url)){
db.close();
return true;
}
}
}
db.close();
} catch (Exception e) {
Log.e("error", e + "");
}
return false;
}
//**************************************************************************End*****************************************//
//////Gallary Image////////////////
/////save images///////
@Override
public void SaveImage(String data, JSONArray jsonObject) {
SQLiteDatabase db = this.getWritableDatabase();
try {
ContentValues values = new ContentValues();
values.put("url_image", data);
values.put("array_image", jsonObject.toString());
db.insert(TABLE_IMAGE_ForJson, null, values);
db.close();
} catch (Exception e) {
Log.e("problem", e + "");
}
}
@Override
public JSONArray GetImage(String data) {
SQLiteDatabase db = this.getReadableDatabase();
try {
// String QUERY = "SELECT * FROM " + TABLE_FOOD_ForJson;
Cursor cursor = db.rawQuery("SELECT * FROM "+TABLE_IMAGE_ForJson+" WHERE url_image = '"+data+"'", null);
if (cursor.getCount()> 0){
while (cursor.moveToNext()){
if (cursor.getString(cursor.getColumnIndex("url_image")).equals(data)){
JSONArray obj = new JSONArray(cursor.getString(cursor.getColumnIndex("array_image")));
db.close();
return obj;
}
}
}
db.close();
} catch (Exception e) {
Log.e("error", e + "");
}
return null;
}
@Override
public boolean isItemImage(String url) {
SQLiteDatabase db = this.getReadableDatabase();
try {
// String QUERY = "SELECT * FROM " + TABLE_FOOD_ForJson;
Cursor cursor = db.rawQuery("SELECT * FROM "+TABLE_IMAGE_ForJson,null);//+" WHERE url = '"+url+"'", null);
if (cursor.getCount()> 0){
while (cursor.moveToNext()){
if (cursor.getString(cursor.getColumnIndex("url_image")).equals(url)){
db.close();
return true;
}
}
}
db.close();
} catch (Exception e) {
Log.e("error", e + "");
}
return false;
}
}
Add Internet permission in your manifest
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>
No comments:
Post a Comment