@@ -25,4 +25,6 @@ dependencies { | |||
testImplementation 'junit:junit:4.12' | |||
androidTestImplementation 'com.android.support.test:runner:1.0.2' | |||
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2' | |||
debugImplementation 'com.idescout.sql:sqlscout-server:4.1' | |||
releaseImplementation 'com.idescout.sql:sqlscout-server-noop:4.1' | |||
} |
@@ -2,6 +2,7 @@ package at.ac.perg.htl.bhif16.coffeeapp; | |||
import android.app.Activity; | |||
import android.content.Context; | |||
import android.util.Log; | |||
import android.view.LayoutInflater; | |||
import android.view.View; | |||
import android.view.ViewGroup; | |||
@@ -19,6 +20,7 @@ public class DrinkAdapter extends ArrayAdapter<Student> { | |||
Context context; | |||
int layoutResourceId; | |||
int i; | |||
ArrayList<Student> students = new ArrayList<Student>(); | |||
public DrinkAdapter(Context context, int layoutResourceId, | |||
@@ -27,8 +29,11 @@ public class DrinkAdapter extends ArrayAdapter<Student> { | |||
this.layoutResourceId = layoutResourceId; | |||
this.context = context; | |||
this.students = studs; | |||
} | |||
@Override | |||
public View getView(int position, View convertView, ViewGroup parent) { | |||
View item = convertView; | |||
@@ -61,6 +66,10 @@ public class DrinkAdapter extends ArrayAdapter<Student> { | |||
finalStudentWrapper.consumedDrinks.setText(student.getConsumedDrinks()+""); | |||
student.setConsumedDrinks(student.getConsumedDrinks()+1); | |||
} | |||
}); | |||
@@ -1,69 +0,0 @@ | |||
package at.ac.perg.htl.bhif16.coffeeapp; | |||
import android.content.Context; | |||
import android.os.Environment; | |||
import android.util.Log; | |||
import java.io.BufferedReader; | |||
import java.io.File; | |||
import java.io.FileInputStream; | |||
import java.io.FileNotFoundException; | |||
import java.io.FileOutputStream; | |||
import java.io.IOException; | |||
import java.io.InputStreamReader; | |||
public class FileHelper { | |||
final static String fileName = "data.txt"; | |||
final static String path = Environment.getExternalStorageDirectory().getAbsolutePath() + "/coffeeapp/readwrite/" ; | |||
final static String TAG = FileHelper.class.getName(); | |||
public static String ReadFile( Context context){ | |||
String line = null; | |||
try { | |||
FileInputStream fileInputStream = new FileInputStream (new File(path + fileName)); | |||
InputStreamReader inputStreamReader = new InputStreamReader(fileInputStream); | |||
BufferedReader bufferedReader = new BufferedReader(inputStreamReader); | |||
StringBuilder stringBuilder = new StringBuilder(); | |||
while ( (line = bufferedReader.readLine()) != null ) | |||
{ | |||
stringBuilder.append(line + System.getProperty("line.separator")); | |||
} | |||
fileInputStream.close(); | |||
line = stringBuilder.toString(); | |||
bufferedReader.close(); | |||
} | |||
catch(FileNotFoundException ex) { | |||
Log.d(TAG, ex.getMessage()); | |||
} | |||
catch(IOException ex) { | |||
Log.d(TAG, ex.getMessage()); | |||
} | |||
return line; | |||
} | |||
public static boolean saveToFile( String data){ | |||
try { | |||
new File(path ).mkdir(); | |||
File file = new File(path+ fileName); | |||
if (!file.exists()) { | |||
file.createNewFile(); | |||
} | |||
FileOutputStream fileOutputStream = new FileOutputStream(file,true); | |||
fileOutputStream.write((data + System.getProperty("line.separator")).getBytes()); | |||
return true; | |||
} catch(FileNotFoundException ex) { | |||
Log.d(TAG, ex.getMessage()); | |||
} catch(IOException ex) { | |||
Log.d(TAG, ex.getMessage()); | |||
} | |||
return false; | |||
} | |||
} | |||
@@ -8,6 +8,7 @@ import android.graphics.drawable.Drawable; | |||
import android.media.Image; | |||
import android.support.v7.app.AppCompatActivity; | |||
import android.os.Bundle; | |||
import android.util.Log; | |||
import android.view.LayoutInflater; | |||
import android.view.Menu; | |||
import android.view.MenuItem; | |||
@@ -17,17 +18,12 @@ import android.widget.AdapterView; | |||
import android.widget.ArrayAdapter; | |||
import android.widget.BaseAdapter; | |||
import android.widget.Button; | |||
import android.widget.ImageView; | |||
import android.widget.ListView; | |||
import android.widget.SimpleAdapter; | |||
import android.widget.TextView; | |||
import android.widget.Toast; | |||
import org.w3c.dom.Text; | |||
import java.util.ArrayList; | |||
import java.util.HashMap; | |||
import java.util.List; | |||
public class MainActivity extends Activity { | |||
@@ -45,13 +41,16 @@ public class MainActivity extends Activity { | |||
//TODO | |||
//add students | |||
studentArray.add(new Student("Achleitner",0,R.drawable.achleitner)); | |||
studentArray.add(new Student("Aichinger",0,R.drawable.aichinger)); | |||
studentArray.add(new Student("Bodingbauer",0,R.drawable.bodingbauer)); | |||
studentArray.add(new Student("Bogdan",0,R.drawable.bogdan)); | |||
studentArray.add(new Student("Derntl",0,R.drawable.derntl)); | |||
studentArray.add(new Student("Diesenreiter",0,R.drawable.unknown)); | |||
studentArray.add(new Student("Forthofer",0,R.drawable.forthofer)); | |||
studentArray.add(new Student(0,"Achleitner",0,R.drawable.achleitner)); | |||
studentArray.add(new Student(1,"Aichinger",0,R.drawable.aichinger)); | |||
studentArray.add(new Student(2,"Bodingbauer",0,R.drawable.bodingbauer)); | |||
studentArray.add(new Student(3,"Bogdan",0,R.drawable.bogdan)); | |||
studentArray.add(new Student(4,"Derntl",0,R.drawable.derntl)); | |||
studentArray.add(new Student(5,"Diesenreiter",0,R.drawable.unknown)); | |||
studentArray.add(new Student(6,"Forthofer",0,R.drawable.forthofer)); | |||
UserDB db = new UserDB(this); | |||
db.createDefaultNotesIfNeed(); | |||
studentArrayAdapter = new DrinkAdapter(MainActivity.this, R.layout.listview_activity, studentArray); | |||
listview= (ListView) findViewById(R.id.list_view); | |||
@@ -1,16 +1,29 @@ | |||
package at.ac.perg.htl.bhif16.coffeeapp; | |||
public class Student { | |||
import java.io.Serializable; | |||
public class Student implements Serializable { | |||
private int studentId; | |||
private String name; | |||
private int img; | |||
private int consumedDrinks; | |||
public Student(String name, int consumedDrinks, int img) { | |||
public Student(int studentId, String name, int consumedDrinks, int img) { | |||
this.name = name; | |||
this.consumedDrinks = consumedDrinks; | |||
this.img = img; | |||
this.studentId = studentId; | |||
} | |||
public int getStudentId() { | |||
return studentId; | |||
} | |||
public void setStudentId(int studentId) { | |||
this.studentId = studentId; | |||
} | |||
public int getImage() { | |||
@@ -27,6 +40,8 @@ public class Student { | |||
} | |||
public int getConsumedDrinks() { | |||
return consumedDrinks; | |||
} | |||
@@ -34,4 +49,9 @@ public class Student { | |||
public void setConsumedDrinks(int consumedDrinks) { | |||
this.consumedDrinks = consumedDrinks; | |||
} | |||
@Override | |||
public String toString(){ | |||
return this.name; | |||
} | |||
} |
@@ -1,6 +1,8 @@ | |||
package at.ac.perg.htl.bhif16.coffeeapp; | |||
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; | |||
@@ -10,28 +12,120 @@ import static android.content.Context.MODE_PRIVATE; | |||
public class UserDB extends SQLiteOpenHelper { | |||
private static final String DATABASE_NAME = "USERS.db"; | |||
private static final int DATABASE_VERSION = 1; | |||
private static final String TABLE_STUDENTS = "STUDENTS"; | |||
// Database creation sql statement | |||
private static final String create_table = "CREATE TABLE IF NOT EXISTS students(id INTEGER PRIMARY KEY AUTOINCREMENT,name TEXT, drink INTEGER);"; | |||
private static final String COLUMN_STUDENT_ID = "Student_Id"; | |||
private static final String COLUMN_STUDENT_NAME = "Student_Name"; | |||
private static final String COLUMN_STUDENT_COUNT_DRINKS = "Student_Count"; | |||
public UserDB(Context context) { | |||
super(context, DATABASE_NAME, null, DATABASE_VERSION); | |||
public UserDB(Context context){ | |||
super(context, DATABASE_NAME,null,DATABASE_VERSION); | |||
} | |||
// Method is called during creation of the database | |||
//create Table | |||
@Override | |||
public void onCreate(SQLiteDatabase database) { | |||
database.execSQL(create_table); | |||
public void onCreate(SQLiteDatabase db) { | |||
Log.i("SQLite","GOOO..."); | |||
String query = "CREATE TABLE " + TABLE_STUDENTS + "(" | |||
+ COLUMN_STUDENT_ID + " INTEGER PRIMARY KEY," + COLUMN_STUDENT_NAME + " TEXT," | |||
+ COLUMN_STUDENT_COUNT_DRINKS + " INTEGER" + ")"; | |||
db.execSQL(query); | |||
} | |||
// Method is called during an upgrade of the database, | |||
@Override | |||
public void onUpgrade(SQLiteDatabase database,int oldVersion,int newVersion){ | |||
Log.w(UserDB.class.getName(),"Upgrading database from version " + oldVersion + " to " | |||
+ newVersion + ", which will destroy all old data"); | |||
database.execSQL("DROP TABLE IF EXISTS FridgeItem"); | |||
onCreate(database); | |||
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { | |||
Log.i("SQLite", "MyDatabaseHelper.onUpgrade ... "); | |||
// Drop older table if existed | |||
db.execSQL("DROP TABLE IF EXISTS " + TABLE_STUDENTS); | |||
// Create tables again | |||
onCreate(db); | |||
} | |||
public void createDefaultNotesIfNeed() { | |||
int count = this.getNotesCount(); | |||
if(count ==0 ) { | |||
Student s1 = new Student(0,"Achleitner",0,0); | |||
Student s2 = new Student(1,"Aichinger",2,0); | |||
this.addNote(s1); | |||
this.addNote(s2); | |||
this.updateStudent(s1); | |||
} | |||
} | |||
public int getNotesCount() { | |||
Log.i("SQLite", "MyDatabaseHelper.getNotesCount ... " ); | |||
String countQuery = "SELECT * FROM " + TABLE_STUDENTS; | |||
SQLiteDatabase db = this.getReadableDatabase(); | |||
Cursor cursor = db.rawQuery(countQuery, null); | |||
int count = cursor.getCount(); | |||
cursor.close(); | |||
// return count | |||
return count; | |||
} | |||
public Student getNote(int id) { | |||
Log.i("SQLite", "MyDatabaseHelper.getNote ... " + id); | |||
SQLiteDatabase db = this.getReadableDatabase(); | |||
Cursor cursor = db.query(TABLE_STUDENTS, new String[] { COLUMN_STUDENT_ID, | |||
COLUMN_STUDENT_NAME, COLUMN_STUDENT_COUNT_DRINKS }, COLUMN_STUDENT_ID + "=?", | |||
new String[] { String.valueOf(id) }, null, null, null, null); | |||
if (cursor != null) | |||
cursor.moveToFirst(); | |||
Student note = new Student(Integer.parseInt(cursor.getString(0)),cursor.getString(1),Integer.parseInt(cursor.getString(2)),Integer.parseInt(cursor.getString(3))); | |||
// return note | |||
return note; | |||
} | |||
public void addNote(Student note) { | |||
Log.i("SQLite", "MyDatabaseHelper.addNote ... " + note.getName()); | |||
SQLiteDatabase db = this.getWritableDatabase(); | |||
ContentValues values = new ContentValues(); | |||
values.put(COLUMN_STUDENT_ID, note.getStudentId()); | |||
values.put(COLUMN_STUDENT_NAME, note.getName()); | |||
values.put(COLUMN_STUDENT_COUNT_DRINKS, note.getConsumedDrinks()); | |||
// Inserting Row | |||
db.insert(TABLE_STUDENTS, null, values); | |||
// Closing database connection | |||
db.close(); | |||
} | |||
public void updateStudent(Student note) { | |||
Log.i("SQLite", "MyDatabaseHelper.update ... " + note.getName()); | |||
SQLiteDatabase db = this.getWritableDatabase(); | |||
ContentValues values = new ContentValues(); | |||
values.put(COLUMN_STUDENT_ID, note.getStudentId()); | |||
values.put(COLUMN_STUDENT_NAME, note.getName()); | |||
values.put(COLUMN_STUDENT_COUNT_DRINKS, note.getConsumedDrinks()); | |||
// Inserting Row | |||
db.update(TABLE_STUDENTS,values,"Student_Id="+note.getStudentId(),null); | |||
Log.i("SQLite", "ANAL ... "); | |||
// Closing database connection | |||
db.close(); | |||
} | |||
} |
@@ -18,7 +18,11 @@ allprojects { | |||
repositories { | |||
google() | |||
jcenter() | |||
maven { | |||
url 'http://www.idescout.com/maven/repo/' | |||
name 'IDEScout, Inc.' | |||
} | |||
} | |||
} | |||