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
6 changes: 6 additions & 0 deletions starter-code/ShoppingListVer2/.idea/encodings.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
Expand Up @@ -2,17 +2,26 @@

import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
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;
import ly.generalassemb.drewmahrt.shoppinglistver2.setup.ShoppingSQLiteOpenHelper;

public class MainActivity extends AppCompatActivity {

ShoppingSQLiteOpenHelper helper;
Cursor cursor;
SimpleCursorAdapter simpleCursorAdapter;

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

helper = new ShoppingSQLiteOpenHelper(MainActivity.this);
cursor = helper.getShoppingList();


String[] colomnNames = ShoppingSQLiteOpenHelper.COLUMN_NAMES;
//String[] colomnNames = new String[]{ShoppingSQLiteOpenHelper.ITEM_NAME};

int[] layoutIds = new int[]{ R.id.item_id_textview, R.id.item_name_textview, R.id.item_description_textview, R.id.item_price_textview, R.id.item_type_textview};

simpleCursorAdapter = new SimpleCursorAdapter(MainActivity.this, R.layout.shopping_list_item, cursor, colomnNames, layoutIds, 0);

ListView listView = (ListView)findViewById(R.id.shopping_list_view);
listView.setAdapter(simpleCursorAdapter);

listView.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
@Override
public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) {

helper.deleteRow(position);
simpleCursorAdapter.swapCursor(helper.getShoppingList());
return true;
}
});

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

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

/**
* Created by Wasabi on 2/2/2016.
*/
public class ShoppingSQLiteOpenHelper extends SQLiteOpenHelper {

private static final int DATABASE_VERSION = 7;
public static final String DATABASE_NAME = "SHOPPING_DB";
public static final String TABLE_NAME = "SHOPPING_LIST";

public static final String ITEM_ID = "_id";
public static final String ITEM_NAME = "ITEM_NAME";
public static final String ITEM_DESCRIPTION = "DESCRIPTION";
public static final String ITEM_PRICE = "PRICE";
public static final String ITEM_TYPE = "TYPE";

public static final String[] COLUMN_NAMES = new String[]{ITEM_ID, ITEM_NAME, ITEM_DESCRIPTION, ITEM_PRICE, ITEM_TYPE};


public ShoppingSQLiteOpenHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}

@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("CREATE TABLE " + TABLE_NAME +
"(" +
ITEM_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " +
ITEM_NAME + " TEXT, " +
ITEM_DESCRIPTION + " TEXT, " +
ITEM_PRICE + " TEXT, " +
ITEM_TYPE + " TEXT)");
}

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

public Cursor getShoppingList(){

SQLiteDatabase db = this.getReadableDatabase();

Cursor cursor = db.query(TABLE_NAME,
COLUMN_NAMES,
null,
null,
null,
null,
null,
null);
return cursor;
}

public void deleteRow(int position){
SQLiteDatabase db = this.getWritableDatabase();
Cursor cursor = db.query(TABLE_NAME,
COLUMN_NAMES,
null,
null,
null,
null,
null,
null);

cursor.moveToPosition(position);
int idToDelete = cursor.getInt(cursor.getColumnIndex(ITEM_ID));

String selection = ITEM_ID + " = ?";
String[] itemIds = new String[]{ String.valueOf(idToDelete) };

db.delete(TABLE_NAME, selection, itemIds);

}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
<?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">

<TextView
android:id="@+id/item_id_textview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="8sp"/>

<TextView
android:id="@+id/item_name_textview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textStyle="bold"/>

<TextView
android:id="@+id/item_description_textview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="12sp"/>

<TextView
android:id="@+id/item_price_textview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="12sp"/>

<TextView
android:id="@+id/item_type_textview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="12sp"/>

</LinearLayout>