Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion starter-code/ShoppingListVer2/.idea/gradle.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

18 changes: 17 additions & 1 deletion starter-code/ShoppingListVer2/.idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
package ly.generalassemb.drewmahrt.shoppinglistver2;

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

/**
* Created by JHADI on 2/2/16.
*/


public class GrocerySQLiteOpenHelper extends SQLiteOpenHelper {
public static final int DATABASE_VERSION = 7;
public static final String DATABASE__NAME = "SHOPPING_DB";
public static final String GROCERY_TABLE_NAME = "SHOPPING_LIST";

public static final String COL_ID = "_id";
public static final String COL_ITEM_NAME = "ITEM_NAME";
public static final String COL_DESCRIPTION = "DESCRIPTION";
public static final String COL_PRICE = "PRICE";
public static final String COL_TYPE = "TYPE";

public static final String[] GROCERY_COLUMNS = {COL_ID, COL_ITEM_NAME, COL_DESCRIPTION, COL_PRICE, COL_TYPE};

public GrocerySQLiteOpenHelper(Context context) {
super(context, DATABASE__NAME, null, DATABASE_VERSION);
}


@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("CREATE TABLE " + GROCERY_TABLE_NAME + "("
+ COL_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, "
+ COL_ITEM_NAME + " TEXT, "
+ COL_DESCRIPTION + " TEXT, "
+ COL_PRICE + " TEXT, "
+ COL_TYPE + " TEXT )");
}

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

public Cursor getGroceryList(){
SQLiteDatabase db = this.getReadableDatabase();

Cursor cursor = db.query(GROCERY_TABLE_NAME, // a. table
GROCERY_COLUMNS, // b. column names
null, // c. selections
null, // d. selections args
null, // e. group by
null, // f. having
null, // g. order by
null); // h. limit
return cursor;
}
public void removeItem(long row){
SQLiteDatabase db = this.getWritableDatabase();
db.execSQL("DELETE FROM "+ GROCERY_TABLE_NAME+ " WHERE "+ COL_ID+" = " + (int)(row));
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,13 @@
import android.database.Cursor;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.CursorAdapter;
import android.widget.ListView;
import android.widget.SimpleCursorAdapter;
import android.widget.TextView;

import ly.generalassemb.drewmahrt.shoppinglistver2.setup.DBAssetHelper;

Expand All @@ -22,5 +24,42 @@ protected void onCreate(Bundle savedInstanceState) {
DBAssetHelper dbSetup = new DBAssetHelper(MainActivity.this);
dbSetup.getReadableDatabase();

final GrocerySQLiteOpenHelper helper = new GrocerySQLiteOpenHelper(MainActivity.this);

final Cursor cursor = helper.getGroceryList();

final CursorAdapter cursorAdapter = new CursorAdapter(MainActivity.this, cursor, 0) {
@Override
public View newView(Context context, Cursor cursor, ViewGroup parent) {
return LayoutInflater.from(MainActivity.this).inflate(R.layout.grocery_list_layout,parent,false);
}
@Override
public void bindView(View view, Context context, Cursor cursor) {
TextView typeTextView = (TextView)view.findViewById(R.id.item_type);
TextView nameTextView = (TextView)view.findViewById(R.id.item_name);
TextView descTextView = (TextView)view.findViewById(R.id.item_desc);
TextView priceTextView = (TextView)view.findViewById(R.id.item_price);

typeTextView.setText(cursor.getString(cursor.getColumnIndex(GrocerySQLiteOpenHelper.COL_TYPE)));
nameTextView.setText(cursor.getString(cursor.getColumnIndex(GrocerySQLiteOpenHelper.COL_ITEM_NAME)));
descTextView.setText(cursor.getString(cursor.getColumnIndex(GrocerySQLiteOpenHelper.COL_DESCRIPTION)));
priceTextView.setText(cursor.getString(cursor.getColumnIndex(GrocerySQLiteOpenHelper.COL_PRICE)));

}
};

ListView groceryListView = (ListView) findViewById(R.id.shopping_list_view);
groceryListView.setAdapter(cursorAdapter);

groceryListView.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
@Override
public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) {
helper.removeItem(id);
Cursor c = helper.getGroceryList();
cursorAdapter.swapCursor(c);
return true;
}
});

}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
<?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:orientation="horizontal">

<TextView
android:id="@+id/item_type"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:text="TYPE"
android:textStyle="bold"
android:textSize="20sp"/>

<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_marginLeft="20dp"
android:layout_gravity="center_horizontal">

<TextView
android:id="@+id/item_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="2"
android:text="ITEM NAME"
android:textSize="15sp"/>

<TextView
android:id="@+id/item_desc"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="2"
android:text="ITEM DESCRIPTION"
android:textSize="15sp"/>
</LinearLayout>
<View
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_weight="1"
/>

<TextView
android:id="@+id/item_price"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="ITEM PRICE"
android:textSize="20sp"
android:layout_marginLeft="20dp"
/>


</LinearLayout>