diff --git a/src/main/AndroidManifest.xml b/src/main/AndroidManifest.xml index f96e9d3..47056e3 100644 --- a/src/main/AndroidManifest.xml +++ b/src/main/AndroidManifest.xml @@ -16,12 +16,6 @@ - - - - >(){}.getType(); + List memberInfos = (List) gson.fromJson(jsonOutput, listType); + return memberInfos; + } + + public static String convertToJsonUsingGson(MemberInfo memberInfo) { + Gson gson = new Gson(); + String json = gson.toJson(memberInfo); + return json; + } + + + public static BookInfo loadStaticBookJsonRawUsingGson(Context context, int jsonResource) { + + InputStream raw = context.getResources().openRawResource(jsonResource); + Reader rd = new BufferedReader(new InputStreamReader(raw)); + Gson gson = new Gson(); + BookInfo bookInfo = gson.fromJson(rd, BookInfo.class); + return bookInfo; + } + + public static String convertToJsonUsingGson(BookInfo bookInfo) { + Gson gson = new Gson(); + String json = gson.toJson(bookInfo); + return json; + } +} diff --git a/src/main/java/nyc/c4q/LibraryActivity.java b/src/main/java/nyc/c4q/LibraryActivity.java index ca2a050..67cb282 100644 --- a/src/main/java/nyc/c4q/LibraryActivity.java +++ b/src/main/java/nyc/c4q/LibraryActivity.java @@ -3,12 +3,21 @@ import android.app.Activity; import android.os.Bundle; import android.view.View; +import android.widget.Button; import android.widget.EditText; +import android.widget.TextView; public class LibraryActivity extends Activity { public EditText inputParameter; + private TextView display; + private Button buttonMemberInfo; + private Button buttonBookInfo; + private Button buttonCheckedOut; + + + private static final String TAG = LibraryActivity.class.getSimpleName(); @Override protected void onCreate(Bundle savedInstanceState) { @@ -16,12 +25,27 @@ protected void onCreate(Bundle savedInstanceState) { setContentView(R.layout.activity_library); inputParameter = (EditText) findViewById(R.id.input_parameter); + display = (TextView) findViewById(R.id.text_display); + buttonMemberInfo = (Button) findViewById(R.id.button_getMember); + buttonBookInfo = (Button) findViewById(R.id.button_getBook); + buttonCheckedOut = (Button) findViewById(R.id.button_getCheckedOut); + +// // MemberInfo memberInfo = JSONHelperVerison.loadStaticMemberJsonRawUsingGson(this, R.raw.members); +// // Log.d(TAG, "membersJSON:\n" + memberInfo); +// +// String memberResponse = JSONHelperVerison.convertToJsonUsingGson(memberInfo); +// Log.d(TAG, "membersjson:" + memberResponse); } public void checkOut(int memberId, int bookId) { // TODO This method is called when the member with the given ID checks // out the book with the given ID. Update the system accordingly. // The due date for the book is two weeks from today. + + + + + } public boolean checkIn(int memberId, int bookId) { @@ -36,6 +60,7 @@ public boolean checkIn(int memberId, int bookId) { public void button_getMember_onClick(View view) { String name = inputParameter.getText().toString(); + // TODO Display member information for the member with the given name. } @@ -53,4 +78,12 @@ public void button_getCheckedOut_onClick(View view) { // earliest due first. } + + + + + + + + } diff --git a/src/main/java/nyc/c4q/ListActivity.java b/src/main/java/nyc/c4q/ListActivity.java index 08894ac..ffefadc 100644 --- a/src/main/java/nyc/c4q/ListActivity.java +++ b/src/main/java/nyc/c4q/ListActivity.java @@ -2,14 +2,24 @@ import android.app.Activity; import android.os.Bundle; -import android.view.Menu; -import android.view.MenuItem; +import android.view.View; +import android.widget.ArrayAdapter; +import android.widget.Button; import android.widget.ListView; +import java.util.Arrays; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + public class ListActivity extends Activity { public ListView list; + Button namebt; + Button colorbt; + ArrayAdapter adapter; public static final Person[] PEOPLE = { new Person("Hannah", "Abbott", House.Hufflepuff), @@ -47,7 +57,59 @@ protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_list); + final PersonsAdapter adapter = new PersonsAdapter(this,PEOPLE); list = (ListView) findViewById(R.id.list); + + final List memberList = Arrays.asList(PEOPLE); + + list.setAdapter(adapter); + + namebt = (Button) findViewById(R.id.button_name); + colorbt = (Button) findViewById(R.id.button_color); + + + + namebt.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + list.setAdapter(adapter); + if(namebt.isPressed()) { + Collections.sort(memberList); + adapter.notifyDataSetChanged(); + } +// else{ +// Collections.reverse(memberList); +// adapter.notifyDataSetChanged(); +// } + } + }); + + + + + colorbt.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + + Map housecolors = new HashMap(); + housecolors.put("Gryffindor", R.color.gryffindor_red); + housecolors.put("Ravenclaw", R.color.ravenclaw_blue); + housecolors.put("Hufflepuff", R.color.hufflepuff_yellow); + housecolors.put("Slytherin", R.color.slytherin_green); + + + for(int i=0;i{ public String firstName; public String lastName; public House house; @@ -10,4 +10,14 @@ public Person(String firstName, String lastName, House house) { this.lastName = lastName; this.house = house; } + + + @Override + public int compareTo(Person person) { + return firstName.compareTo(person.firstName); + } + + public int compareToFirstName(Person person) { + return lastName.compareTo(person.lastName); + } } diff --git a/src/main/java/nyc/c4q/PersonsAdapter.java b/src/main/java/nyc/c4q/PersonsAdapter.java new file mode 100644 index 0000000..74d4335 --- /dev/null +++ b/src/main/java/nyc/c4q/PersonsAdapter.java @@ -0,0 +1,38 @@ +package nyc.c4q; + +import android.content.Context; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.ArrayAdapter; +import android.widget.TextView; + +/** + * Created by c4q-marbella on 8/30/15. + */ +public class PersonsAdapter extends ArrayAdapter { + + public PersonsAdapter(Context context, Person[] persons) { + super(context, 0, persons); + } + + @Override + public View getView(int position, View convertView, ViewGroup parent) { + + Person person = getItem(position); + + if(convertView == null){ + convertView = LayoutInflater.from(getContext()).inflate(R.layout.listitem_member, parent,false); + } + + TextView tvName= (TextView) convertView.findViewById(R.id.text_name); + TextView tvHouse = (TextView) convertView.findViewById(R.id.text_house); + + tvName.setText(person.firstName +" " + person.lastName); + tvHouse.setText(person.house.name()); + //Todo: set house color + // convertView.setBackgroundColor(); + + return convertView; + } +} diff --git a/src/main/res/raw/books.json b/src/main/res/raw/books.json index 8cc9673..79b378e 100644 --- a/src/main/res/raw/books.json +++ b/src/main/res/raw/books.json @@ -838,7 +838,7 @@ "isbn": "0439554934", "isbn13": "9780439554930", "publisher": "Scholastic", - "publishyear": 2003. + "publishyear": 2003, "checkedout": true, "checkedoutby": 38, "checkoutdateyear": 2015,