diff --git a/src/main/AndroidManifest.xml b/src/main/AndroidManifest.xml index f96e9d3..4389266 100644 --- a/src/main/AndroidManifest.xml +++ b/src/main/AndroidManifest.xml @@ -16,12 +16,7 @@ - - - - + people1 = new ArrayList<>(); + + int MODE = 1; + SQLiteDatabase.CursorFactory cursorFactory; + SimpleCursorAdapter adapter; + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_list); + Button buttonName = (Button)findViewById(R.id.button_name); + + buttonName.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + + } + }); + + + + SQLiteDatabase db = getBaseContext().openOrCreateDatabase("members", MODE, cursorFactory); + + db.execSQL("DROP TABLE members"); + + db.execSQL("CREATE TABLE members (firstName TEXT, lastName TEXT, house TEXT)"); + + for (Person person: PEOPLE) { + db.execSQL("INSERT INTO members VALUES ( '" + person.getFirstName() + "' , '" + person.getLastName() + + "' , '" + person.getHouse() + "')"); + people1.add(person.getLastName() +", "+ person.getFirstName() + ": " + person.getHouse().toString() ); + + } + Collections.sort(people1); + + //get entire db back + Cursor query = db.rawQuery("SELECT * from members", null); + + if (query.moveToFirst()){ + do { + String firstName = query.getString(0); + String lastName = query.getString(1); + String house = query.getString(2); + } while (query.moveToNext()); + } + else { + Toast.makeText(getBaseContext(), "Error retriveing data", Toast.LENGTH_SHORT).show(); + } + + db.close(); + + + ArrayAdapter adapter = new ArrayAdapter(this, + android.R.layout.simple_list_item_1, android.R.id.text1, people1); list = (ListView) findViewById(R.id.list); + + list.setAdapter(adapter); } -} +public static Comparator alphatetizer = new Comparator() { + @Override + public int compare(String lhs, String rhs) { + String name1 = lhs; + String name2 = rhs; + + return name1.compareTo(name2); + } + + public Comparator dealphatetizer = new Comparator() { + @Override + public int compare(String lhs, String rhs) { + String name1 = lhs; + String name2 = rhs; + + return name2.compareTo(name1); + } +}; + + + //Now, populate listview with db items. + +};} diff --git a/src/main/java/nyc/c4q/ListAdapter.java b/src/main/java/nyc/c4q/ListAdapter.java new file mode 100644 index 0000000..fb230e0 --- /dev/null +++ b/src/main/java/nyc/c4q/ListAdapter.java @@ -0,0 +1,42 @@ +package nyc.c4q; + +import android.content.Context; +import android.widget.ArrayAdapter; + +import java.util.ArrayList; + +/** + * Created by charlynbuchanan on 8/30/15. + */ +public class ListAdapter extends ArrayAdapter { + + Context context; + ArrayList people1; + int resource; + + public ListAdapter(Context context, int resource, ArrayList PEOPLE) { + super(context, resource, PEOPLE); + this.context = context; + this.people1 = people1; + this.resource = resource; + } + +// +// @Override +// public View getView(int position, View convertView, ViewGroup parent) { +// View rowView = convertView; +// +// Person p = PEOPLE.get(position); +// +// if (rowView == null) { +// LayoutInflater inflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); +// rowView = inflater.inflate(R.layout.activity_list, null); +// } +// } + + + + + + +} diff --git a/src/main/java/nyc/c4q/MembersDataSource.java b/src/main/java/nyc/c4q/MembersDataSource.java new file mode 100644 index 0000000..029ebab --- /dev/null +++ b/src/main/java/nyc/c4q/MembersDataSource.java @@ -0,0 +1,31 @@ +package nyc.c4q; + +import android.content.Context; +import android.database.sqlite.SQLiteDatabase; + +import java.sql.SQLException; + +/** + * Created by charlynbuchanan on 8/30/15. + */ +public class MembersDataSource { + // Database fields + private SQLiteDatabase database; + private MySQLiteHelper dbHelper; + private String[] allColumns = { MySQLiteHelper.COLUMN_ID, + MySQLiteHelper.COLUMN_FIRST_NAME, MySQLiteHelper.COLUMN_LAST_NAME, MySQLiteHelper.COLUMN_HOUSE }; + + public MembersDataSource(Context context) { + dbHelper = new MySQLiteHelper(context); + } + + public void open() throws SQLException { + database = dbHelper.getWritableDatabase(); + } + + //Maintains closure of connection + public void close() { + dbHelper.close(); + } + +} diff --git a/src/main/java/nyc/c4q/MySQLiteHelper.java b/src/main/java/nyc/c4q/MySQLiteHelper.java new file mode 100644 index 0000000..d9b2c04 --- /dev/null +++ b/src/main/java/nyc/c4q/MySQLiteHelper.java @@ -0,0 +1,43 @@ +package nyc.c4q; + +import android.content.Context; +import android.database.sqlite.SQLiteDatabase; +import android.database.sqlite.SQLiteOpenHelper; + +/** + * Created by charlynbuchanan on 8/30/15. + */ +public class MySQLiteHelper extends SQLiteOpenHelper { + + public static final String DATABASE_NAME = "members.db"; + private static final int DATABASE_VERSION = 1; + + //Set up columns + public static final String TABLE_MEMBERS = "members"; + public static final String COLUMN_ID = "_id"; + public static final String COLUMN_FIRST_NAME = "first"; + public static final String COLUMN_LAST_NAME = "last"; + public static final String COLUMN_HOUSE = "house"; + + //Database creation sql statement + public static final String DATABASE_CREATE = "create table " + + TABLE_MEMBERS + "(" + COLUMN_FIRST_NAME + "integer primary key autoincrement, " + + "text not null);" + COLUMN_LAST_NAME + COLUMN_HOUSE; + + public MySQLiteHelper(Context context) { + super(context, DATABASE_NAME, null, DATABASE_VERSION); + } + + + @Override + public void onCreate(SQLiteDatabase db) { + //make table with previously made create string. + getReadableDatabase().execSQL(DATABASE_CREATE); + } + + @Override + public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { + db.execSQL("DROP TABLE IF EXISTS " + TABLE_MEMBERS); + + } +} diff --git a/src/main/java/nyc/c4q/PaceCalculatorActivity.java b/src/main/java/nyc/c4q/PaceCalculatorActivity.java index 5c0616e..f04de29 100644 --- a/src/main/java/nyc/c4q/PaceCalculatorActivity.java +++ b/src/main/java/nyc/c4q/PaceCalculatorActivity.java @@ -1,14 +1,22 @@ package nyc.c4q; -import android.support.v4.app.FragmentActivity; import android.os.Bundle; +import android.support.v4.app.FragmentActivity; public class PaceCalculatorActivity extends FragmentActivity { + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_pace_calculator); - } + android.support.v4.app.FragmentManager fragmentManager = getSupportFragmentManager(); + android.support.v4.app.Fragment paceCalculator = new PaceCalculatorFragment(); + android.support.v4.app.FragmentTransaction transaction = fragmentManager.beginTransaction(); + transaction.replace(R.id.activity_pace_calculator, paceCalculator); + transaction.addToBackStack(null); + transaction.commit(); + + } } diff --git a/src/main/java/nyc/c4q/PaceCalculatorFragment.java b/src/main/java/nyc/c4q/PaceCalculatorFragment.java new file mode 100644 index 0000000..c4fd6aa --- /dev/null +++ b/src/main/java/nyc/c4q/PaceCalculatorFragment.java @@ -0,0 +1,119 @@ +package nyc.c4q; + +import android.os.Bundle; +import android.support.annotation.Nullable; +import android.support.v4.app.Fragment; +import android.util.Log; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.Button; +import android.widget.EditText; + +/** + * Created by charlynbuchanan on 8/30/15. + */ +public class PaceCalculatorFragment extends Fragment { + + EditText inputDistance; + EditText inputTimeMin; + EditText inputTimeSec; + EditText inputPaceMin; + EditText inputPaceSec; + Button calculate; + int timeMin; + int timeSec; + double distance; + double paceMin; + double paceSec; + + + + @Nullable + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { + View view = inflater.inflate(R.layout.fragment_pace_calculator, container, false); + + inputDistance = (EditText)view.findViewById(R.id.input_distance); + inputTimeMin = (EditText)view.findViewById(R.id.input_time_min); + inputTimeSec = (EditText)view.findViewById(R.id.input_time_sec); + inputPaceMin = (EditText)view.findViewById(R.id.input_pace_min); + inputPaceSec = (EditText)view.findViewById(R.id.input_pace_sec); + calculate = (Button)view.findViewById(R.id.button_calculate); + + + + + + inputTimeMin.getText(); + + + + calculate.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + Log.i("distance", String.valueOf(inputDistance.getText())); + Log.i("timeMin", String.valueOf(inputTimeMin.getText())); + Log.i("timeSec", String.valueOf(inputTimeSec.getText())); + Log.i("paceMin", String.valueOf(inputPaceMin.getText())); + Log.i("paceSec", String.valueOf(inputPaceSec.getText())); + + Log.i("timesec new", String.valueOf(timeSec)); +// Log.i("possible for method", String.valueOf(Integer.parseInt(inputDistance.getText().toString()))); + +// timeSec = Integer.valueOf(String.valueOf(inputTimeSec.getText())); +// timeMin = Integer.valueOf(String.valueOf(inputTimeMin.getText())); +// distance = Double.valueOf(String.valueOf(inputDistance.getText())); +// paceMin = Double.valueOf(String.valueOf(inputPaceMin.getText())); +// paceSec = Double.valueOf(String.valueOf(inputPaceSec.getText())); + + + if (inputDistance == null) { + timeSec = Integer.parseInt(inputTimeSec.getText().toString()); + timeMin = Integer.parseInt(inputTimeMin.getText().toString()); + paceMin = Integer.parseInt(inputPaceMin.getText().toString()); + paceSec = Integer.parseInt(inputPaceSec.getText().toString()); + int totalTime = ((timeMin + timeSec)/60); + double totalPace = ((paceMin + paceSec)/60); + double distance = totalTime/totalPace; + + inputDistance.setText(String.valueOf(distance)); + + } else if ((inputTimeMin == null) && (inputTimeSec == null)){ + distance = Integer.parseInt(inputDistance.getText().toString()); + paceMin = Integer.parseInt(inputPaceMin.getText().toString()); + paceSec = Integer.parseInt(inputPaceSec.getText().toString()); + double totalPace = ((paceMin + paceSec)/60); + + double time = totalPace*distance; + inputTimeMin.setText(String.valueOf(time)); + + + + + } else if ((inputPaceMin == null) && (inputPaceSec == null)) { + timeSec = Integer.parseInt(inputTimeSec.getText().toString()); + timeMin = Integer.parseInt(inputTimeMin.getText().toString()); + distance = Integer.parseInt(inputDistance.getText().toString()); + + int totalTime = ((timeMin + timeSec)/60); + Log.d("totalTime", String.valueOf(totalTime)); + double pace = totalTime/distance; + inputPaceMin.setText((String.valueOf(pace) + "minute/mile")); + } + } + }); + + return view; + } + + +// public double getDistance() { +// //d=min/distance +// +// } +// +// public double getTime() { +// //t=pace*distance +// } +} diff --git a/src/main/java/nyc/c4q/Person.java b/src/main/java/nyc/c4q/Person.java index 2f2f167..b8a4061 100644 --- a/src/main/java/nyc/c4q/Person.java +++ b/src/main/java/nyc/c4q/Person.java @@ -5,9 +5,41 @@ public class Person { public String lastName; public House house; + + + public void setId(long id) { + this.id = id; + } + + long id; + public Person(String firstName, String lastName, House house) { this.firstName = firstName; this.lastName = lastName; this.house = house; } + + public String getFirstName() { + return firstName; + } + + public void setFirstName(String firstName) { + this.firstName = firstName; + } + + public House getHouse() { + return house; + } + + public void setHouse(House house) { + this.house = house; + } + + public String getLastName() { + return lastName; + } + + public void setLastName(String lastName) { + this.lastName = lastName; + } } diff --git a/src/main/res/layout/activity_pace_calculator.xml b/src/main/res/layout/activity_pace_calculator.xml index ed76b3e..98619b0 100644 --- a/src/main/res/layout/activity_pace_calculator.xml +++ b/src/main/res/layout/activity_pace_calculator.xml @@ -5,4 +5,5 @@ android:layout_width="match_parent" android:layout_height="match_parent" tools:context="nyc.c4q.PaceCalculatorActivity" + /> diff --git a/src/main/res/layout/fragment_pace_calculator.xml b/src/main/res/layout/fragment_pace_calculator.xml index a56410f..da43e83 100644 --- a/src/main/res/layout/fragment_pace_calculator.xml +++ b/src/main/res/layout/fragment_pace_calculator.xml @@ -27,6 +27,7 @@ android:layout_weight="6" android:inputType="numberDecimal" android:hint="@string/hint_distance" + /> diff --git a/src/main/res/values/strings.xml b/src/main/res/values/strings.xml index b6a349a..b67749d 100644 --- a/src/main/res/values/strings.xml +++ b/src/main/res/values/strings.xml @@ -24,4 +24,7 @@ Show Color Hide Color + + Hello blank fragment +