diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..bfb3c577 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +.DS_Store +out/ +*.class diff --git a/exercises/5_OOP-and-Intents/oop/.idea/.name b/exercises/5_OOP-and-Intents/oop/.idea/.name new file mode 100644 index 00000000..d85a74a5 --- /dev/null +++ b/exercises/5_OOP-and-Intents/oop/.idea/.name @@ -0,0 +1 @@ +oop \ No newline at end of file diff --git a/exercises/5_OOP-and-Intents/oop/.idea/compiler.xml b/exercises/5_OOP-and-Intents/oop/.idea/compiler.xml new file mode 100644 index 00000000..a8523149 --- /dev/null +++ b/exercises/5_OOP-and-Intents/oop/.idea/compiler.xml @@ -0,0 +1,23 @@ + + + + + \ No newline at end of file diff --git a/exercises/5_OOP-and-Intents/oop/.idea/copyright/profiles_settings.xml b/exercises/5_OOP-and-Intents/oop/.idea/copyright/profiles_settings.xml new file mode 100644 index 00000000..e7bedf33 --- /dev/null +++ b/exercises/5_OOP-and-Intents/oop/.idea/copyright/profiles_settings.xml @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/exercises/5_OOP-and-Intents/oop/.idea/dictionaries/c4q_marbella.xml b/exercises/5_OOP-and-Intents/oop/.idea/dictionaries/c4q_marbella.xml new file mode 100644 index 00000000..9f640208 --- /dev/null +++ b/exercises/5_OOP-and-Intents/oop/.idea/dictionaries/c4q_marbella.xml @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/exercises/5_OOP-and-Intents/oop/.idea/encodings.xml b/exercises/5_OOP-and-Intents/oop/.idea/encodings.xml new file mode 100644 index 00000000..d8210482 --- /dev/null +++ b/exercises/5_OOP-and-Intents/oop/.idea/encodings.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/exercises/5_OOP-and-Intents/oop/.idea/misc.xml b/exercises/5_OOP-and-Intents/oop/.idea/misc.xml new file mode 100644 index 00000000..12bf3f9b --- /dev/null +++ b/exercises/5_OOP-and-Intents/oop/.idea/misc.xml @@ -0,0 +1,284 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + General + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1.7 + + + + + + + + 1.7 + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/exercises/5_OOP-and-Intents/oop/.idea/modules.xml b/exercises/5_OOP-and-Intents/oop/.idea/modules.xml new file mode 100644 index 00000000..b67b02b8 --- /dev/null +++ b/exercises/5_OOP-and-Intents/oop/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/exercises/5_OOP-and-Intents/oop/.idea/scopes/scope_settings.xml b/exercises/5_OOP-and-Intents/oop/.idea/scopes/scope_settings.xml new file mode 100644 index 00000000..922003b8 --- /dev/null +++ b/exercises/5_OOP-and-Intents/oop/.idea/scopes/scope_settings.xml @@ -0,0 +1,5 @@ + + + + \ No newline at end of file diff --git a/exercises/5_OOP-and-Intents/oop/.idea/vcs.xml b/exercises/5_OOP-and-Intents/oop/.idea/vcs.xml new file mode 100644 index 00000000..6564d52d --- /dev/null +++ b/exercises/5_OOP-and-Intents/oop/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/exercises/5_OOP-and-Intents/oop/.idea/workspace.xml b/exercises/5_OOP-and-Intents/oop/.idea/workspace.xml new file mode 100644 index 00000000..146fe915 --- /dev/null +++ b/exercises/5_OOP-and-Intents/oop/.idea/workspace.xml @@ -0,0 +1,598 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1430441776099 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/exercises/5_OOP-and-Intents/oop/oop.iml b/exercises/5_OOP-and-Intents/oop/oop.iml new file mode 100644 index 00000000..c90834f2 --- /dev/null +++ b/exercises/5_OOP-and-Intents/oop/oop.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/exercises/5_OOP-and-Intents/oop/src/Clarinet.java b/exercises/5_OOP-and-Intents/oop/src/Clarinet.java new file mode 100644 index 00000000..d67bca2f --- /dev/null +++ b/exercises/5_OOP-and-Intents/oop/src/Clarinet.java @@ -0,0 +1,13 @@ +/** + * Created by c4q-marbella on 4/30/15. + * Access Code 2-1 + * Marbella Vidals + */ +public class Clarinet extends ReedInstrument { + + @Override + public String play() + { + return null; + } +} diff --git a/exercises/5_OOP-and-Intents/oop/src/ClarinetPlayer.java b/exercises/5_OOP-and-Intents/oop/src/ClarinetPlayer.java new file mode 100644 index 00000000..3bf2eecb --- /dev/null +++ b/exercises/5_OOP-and-Intents/oop/src/ClarinetPlayer.java @@ -0,0 +1,17 @@ +/** + * Created by c4q-marbella on 4/30/15. + * Access Code 2-1 + * Marbella Vidals + */ +public class ClarinetPlayer extends ReedPlayer +{ + public ClarinetPlayer(Clarinet myClarinet) { + super.myReedInstrument = myClarinet; + } + + @Override + public String play_instrument() + { + return null; + } +} diff --git a/exercises/5_OOP-and-Intents/oop/src/ReedInstrument.java b/exercises/5_OOP-and-Intents/oop/src/ReedInstrument.java new file mode 100644 index 00000000..195d144a --- /dev/null +++ b/exercises/5_OOP-and-Intents/oop/src/ReedInstrument.java @@ -0,0 +1,21 @@ +/** + * Created by c4q-marbella on 4/30/15. + * Access Code 2-1 + * Marbella Vidals + */ +public abstract class ReedInstrument implements Instrument +{ + boolean reed= false; + + public boolean has_reed(){ + return true; + } + + public boolean place_reed(){ + return false; + } + + public void remove_reed() { + reed = false; + } +} diff --git a/exercises/5_OOP-and-Intents/oop/src/ReedPlayer.java b/exercises/5_OOP-and-Intents/oop/src/ReedPlayer.java new file mode 100644 index 00000000..ddf0df89 --- /dev/null +++ b/exercises/5_OOP-and-Intents/oop/src/ReedPlayer.java @@ -0,0 +1,20 @@ +/** + * Created by c4q-marbella on 5/1/15. + * Access Code 2-1 + * Marbella Vidals + */ +public abstract class ReedPlayer extends Musician { + ReedInstrument myReedInstrument; + + public void toggle_reed(){ + myReedInstrument.reed =!myReedInstrument.has_reed(); + } + + public String play_Instrument(){ + if(myReedInstrument.has_reed()){ + return "playing sound"; + }else { + return null; + } + } +} diff --git a/exercises/AC_05-02/.idea/compiler.xml b/exercises/AC_05-02/.idea/compiler.xml new file mode 100644 index 00000000..a8523149 --- /dev/null +++ b/exercises/AC_05-02/.idea/compiler.xml @@ -0,0 +1,23 @@ + + + + + \ No newline at end of file diff --git a/exercises/AC_05-02/.idea/copyright/profiles_settings.xml b/exercises/AC_05-02/.idea/copyright/profiles_settings.xml new file mode 100644 index 00000000..e7bedf33 --- /dev/null +++ b/exercises/AC_05-02/.idea/copyright/profiles_settings.xml @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/exercises/AC_05-02/.idea/description.html b/exercises/AC_05-02/.idea/description.html new file mode 100644 index 00000000..db5f1295 --- /dev/null +++ b/exercises/AC_05-02/.idea/description.html @@ -0,0 +1 @@ +Simple Java application that includes a class with main() method \ No newline at end of file diff --git a/exercises/AC_05-02/.idea/encodings.xml b/exercises/AC_05-02/.idea/encodings.xml new file mode 100644 index 00000000..d8210482 --- /dev/null +++ b/exercises/AC_05-02/.idea/encodings.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/exercises/AC_05-02/.idea/misc.xml b/exercises/AC_05-02/.idea/misc.xml new file mode 100644 index 00000000..ccf24ce4 --- /dev/null +++ b/exercises/AC_05-02/.idea/misc.xml @@ -0,0 +1,12 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/exercises/AC_05-02/.idea/modules.xml b/exercises/AC_05-02/.idea/modules.xml new file mode 100644 index 00000000..ef1d9421 --- /dev/null +++ b/exercises/AC_05-02/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/exercises/AC_05-02/.idea/project-template.xml b/exercises/AC_05-02/.idea/project-template.xml new file mode 100644 index 00000000..1f08b887 --- /dev/null +++ b/exercises/AC_05-02/.idea/project-template.xml @@ -0,0 +1,3 @@ + \ No newline at end of file diff --git a/exercises/AC_05-02/.idea/scopes/scope_settings.xml b/exercises/AC_05-02/.idea/scopes/scope_settings.xml new file mode 100644 index 00000000..922003b8 --- /dev/null +++ b/exercises/AC_05-02/.idea/scopes/scope_settings.xml @@ -0,0 +1,5 @@ + + + + \ No newline at end of file diff --git a/exercises/AC_05-02/.idea/uiDesigner.xml b/exercises/AC_05-02/.idea/uiDesigner.xml new file mode 100644 index 00000000..e96534fb --- /dev/null +++ b/exercises/AC_05-02/.idea/uiDesigner.xml @@ -0,0 +1,124 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/exercises/AC_05-02/.idea/vcs.xml b/exercises/AC_05-02/.idea/vcs.xml new file mode 100644 index 00000000..6564d52d --- /dev/null +++ b/exercises/AC_05-02/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/exercises/AC_05-02/.idea/workspace.xml b/exercises/AC_05-02/.idea/workspace.xml new file mode 100644 index 00000000..d899c1f4 --- /dev/null +++ b/exercises/AC_05-02/.idea/workspace.xml @@ -0,0 +1,513 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1430576353577 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/exercises/AC_05-02/AC_05-02.iml b/exercises/AC_05-02/AC_05-02.iml new file mode 100644 index 00000000..d5c07432 --- /dev/null +++ b/exercises/AC_05-02/AC_05-02.iml @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/exercises/AC_05-02/src/nyc/c4q/m47bell/CargoShip.java b/exercises/AC_05-02/src/nyc/c4q/m47bell/CargoShip.java new file mode 100644 index 00000000..e5538720 --- /dev/null +++ b/exercises/AC_05-02/src/nyc/c4q/m47bell/CargoShip.java @@ -0,0 +1,36 @@ +package nyc.c4q.m47bell; +import nyc.c4q.m47bell.Ship; + +/** + * Created by c4q-marbella on 5/2/15. + * Access Code 2-1 + * Marbella Vidals + */ +public class CargoShip extends Ship +{ + private int cargoCapacity; + + public CargoShip(String shipName, String builtYear, int cargoCapacity) + { + super(shipName, builtYear); + this.cargoCapacity = cargoCapacity; + } + + public int getCargoCapacity() + { + return cargoCapacity; + } + + public void setCargoCapacity(int cargoCapacity) + { + this.cargoCapacity = cargoCapacity; + } + + @Override + public String toString() + { + return "Cargo ship name: " + getShipName()+ + ", built year: " + getBuiltYear()+ + ", cargo capacity: " + cargoCapacity; + } +} diff --git a/exercises/AC_05-02/src/nyc/c4q/m47bell/CruiseShip.java b/exercises/AC_05-02/src/nyc/c4q/m47bell/CruiseShip.java new file mode 100644 index 00000000..af1b963d --- /dev/null +++ b/exercises/AC_05-02/src/nyc/c4q/m47bell/CruiseShip.java @@ -0,0 +1,37 @@ +package nyc.c4q.m47bell; +import nyc.c4q.m47bell.Ship; + +/** + * Created by c4q-marbella on 5/2/15. + * Access Code 2-1 + * Marbella Vidals + */ +public class CruiseShip extends Ship +{ + private int maxPassengers; + + public CruiseShip(String shipName, String builtYear, int maxPassengers) + { + super(shipName, builtYear); + this.maxPassengers = maxPassengers; + } + + public int getMaxPassengers() + { + return maxPassengers; + } + + public void setMaxPassengers(int maxPassengers) + { + this.maxPassengers = maxPassengers; + } + + @Override + public String toString() + { + + return "Cruise ship name: "+ getShipName() + + ", built year: " + getBuiltYear() + + ", maximum number of passengers: " + maxPassengers; + } +} diff --git a/exercises/AC_05-02/src/nyc/c4q/m47bell/Main.java b/exercises/AC_05-02/src/nyc/c4q/m47bell/Main.java new file mode 100644 index 00000000..0c318c78 --- /dev/null +++ b/exercises/AC_05-02/src/nyc/c4q/m47bell/Main.java @@ -0,0 +1,24 @@ +package nyc.c4q.m47bell; + +public class Main { + + public static void main(String[] args) { + + // declares an array of string + Ship [] typesOfShips; + + // allocates memory for 3 ship objects + typesOfShips = new Ship[3]; + + // initialize the elements + typesOfShips[0] = new Ship("Titanic","1940"); + typesOfShips[1] = new CruiseShip("Thomas","2001",345); + typesOfShips[2] = new CargoShip("Benny","2003",3789); + + //polymorphism + for(Ship i: typesOfShips){ + System.out.println(i); + } + + } +} diff --git a/exercises/AC_05-02/src/nyc/c4q/m47bell/Ship.java b/exercises/AC_05-02/src/nyc/c4q/m47bell/Ship.java new file mode 100644 index 00000000..7377bf5b --- /dev/null +++ b/exercises/AC_05-02/src/nyc/c4q/m47bell/Ship.java @@ -0,0 +1,46 @@ +package nyc.c4q.m47bell; +/** + * Created by c4q-marbella on 5/2/15. + * Access Code 2-1 + * Marbella Vidals + */ +public class Ship +{ + private String shipName; + private String builtYear; + + public Ship(String shipName, String builtYear) + { + this.shipName = shipName; + this.builtYear = builtYear; + } + + public String getShipName() + { + return shipName; + } + + public String getBuiltYear() + { + return builtYear; + } + + public void setShipName(String shipName) + { + this.shipName = shipName; + } + + public void setBuiltYear(String builtYear) + { + this.builtYear = builtYear; + } + + + @Override + public String toString() + { + return "Ship name: " + getShipName() + + ", built year: " + getBuiltYear(); + } +} + diff --git a/homework/.idea/compiler.xml b/homework/.idea/compiler.xml new file mode 100644 index 00000000..a8523149 --- /dev/null +++ b/homework/.idea/compiler.xml @@ -0,0 +1,23 @@ + + + + + \ No newline at end of file diff --git a/homework/.idea/copyright/profiles_settings.xml b/homework/.idea/copyright/profiles_settings.xml new file mode 100644 index 00000000..e7bedf33 --- /dev/null +++ b/homework/.idea/copyright/profiles_settings.xml @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/homework/.idea/description.html b/homework/.idea/description.html new file mode 100644 index 00000000..db5f1295 --- /dev/null +++ b/homework/.idea/description.html @@ -0,0 +1 @@ +Simple Java application that includes a class with main() method \ No newline at end of file diff --git a/homework/.idea/encodings.xml b/homework/.idea/encodings.xml new file mode 100644 index 00000000..d8210482 --- /dev/null +++ b/homework/.idea/encodings.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/homework/.idea/misc.xml b/homework/.idea/misc.xml new file mode 100644 index 00000000..ccf24ce4 --- /dev/null +++ b/homework/.idea/misc.xml @@ -0,0 +1,12 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/homework/.idea/modules.xml b/homework/.idea/modules.xml new file mode 100644 index 00000000..b5cd19b6 --- /dev/null +++ b/homework/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/homework/.idea/project-template.xml b/homework/.idea/project-template.xml new file mode 100644 index 00000000..1f08b887 --- /dev/null +++ b/homework/.idea/project-template.xml @@ -0,0 +1,3 @@ + \ No newline at end of file diff --git a/homework/.idea/scopes/scope_settings.xml b/homework/.idea/scopes/scope_settings.xml new file mode 100644 index 00000000..922003b8 --- /dev/null +++ b/homework/.idea/scopes/scope_settings.xml @@ -0,0 +1,5 @@ + + + + \ No newline at end of file diff --git a/homework/.idea/uiDesigner.xml b/homework/.idea/uiDesigner.xml new file mode 100644 index 00000000..e96534fb --- /dev/null +++ b/homework/.idea/uiDesigner.xml @@ -0,0 +1,124 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/homework/.idea/vcs.xml b/homework/.idea/vcs.xml new file mode 100644 index 00000000..6564d52d --- /dev/null +++ b/homework/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/homework/.idea/workspace.xml b/homework/.idea/workspace.xml new file mode 100644 index 00000000..f2dc4c2f --- /dev/null +++ b/homework/.idea/workspace.xml @@ -0,0 +1,402 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1430533493838 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/homework/HW_05-01/.idea/.name b/homework/HW_05-01/.idea/.name new file mode 100644 index 00000000..fbe9ac96 --- /dev/null +++ b/homework/HW_05-01/.idea/.name @@ -0,0 +1 @@ +HW_05-01 \ No newline at end of file diff --git a/homework/HW_05-01/.idea/compiler.xml b/homework/HW_05-01/.idea/compiler.xml new file mode 100644 index 00000000..a8523149 --- /dev/null +++ b/homework/HW_05-01/.idea/compiler.xml @@ -0,0 +1,23 @@ + + + + + \ No newline at end of file diff --git a/homework/HW_05-01/.idea/copyright/profiles_settings.xml b/homework/HW_05-01/.idea/copyright/profiles_settings.xml new file mode 100644 index 00000000..e7bedf33 --- /dev/null +++ b/homework/HW_05-01/.idea/copyright/profiles_settings.xml @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/homework/HW_05-01/.idea/description.html b/homework/HW_05-01/.idea/description.html new file mode 100644 index 00000000..db5f1295 --- /dev/null +++ b/homework/HW_05-01/.idea/description.html @@ -0,0 +1 @@ +Simple Java application that includes a class with main() method \ No newline at end of file diff --git a/homework/HW_05-01/.idea/dictionaries/c4q_marbella.xml b/homework/HW_05-01/.idea/dictionaries/c4q_marbella.xml new file mode 100644 index 00000000..9f640208 --- /dev/null +++ b/homework/HW_05-01/.idea/dictionaries/c4q_marbella.xml @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/homework/HW_05-01/.idea/encodings.xml b/homework/HW_05-01/.idea/encodings.xml new file mode 100644 index 00000000..d8210482 --- /dev/null +++ b/homework/HW_05-01/.idea/encodings.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/homework/HW_05-01/.idea/misc.xml b/homework/HW_05-01/.idea/misc.xml new file mode 100644 index 00000000..71f96f96 --- /dev/null +++ b/homework/HW_05-01/.idea/misc.xml @@ -0,0 +1,246 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + General + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1.7 + + + + + + + + 1.7 + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/homework/HW_05-01/.idea/modules.xml b/homework/HW_05-01/.idea/modules.xml new file mode 100644 index 00000000..6a6258ba --- /dev/null +++ b/homework/HW_05-01/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/homework/HW_05-01/.idea/project-template.xml b/homework/HW_05-01/.idea/project-template.xml new file mode 100644 index 00000000..1f08b887 --- /dev/null +++ b/homework/HW_05-01/.idea/project-template.xml @@ -0,0 +1,3 @@ + \ No newline at end of file diff --git a/homework/HW_05-01/.idea/scopes/scope_settings.xml b/homework/HW_05-01/.idea/scopes/scope_settings.xml new file mode 100644 index 00000000..922003b8 --- /dev/null +++ b/homework/HW_05-01/.idea/scopes/scope_settings.xml @@ -0,0 +1,5 @@ + + + + \ No newline at end of file diff --git a/homework/HW_05-01/.idea/vcs.xml b/homework/HW_05-01/.idea/vcs.xml new file mode 100644 index 00000000..def3818f --- /dev/null +++ b/homework/HW_05-01/.idea/vcs.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/homework/HW_05-01/.idea/workspace.xml b/homework/HW_05-01/.idea/workspace.xml new file mode 100644 index 00000000..3b737489 --- /dev/null +++ b/homework/HW_05-01/.idea/workspace.xml @@ -0,0 +1,559 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1430347635606 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/homework/HW_05-01/src/nyc/c4q/m47bell/Animal.java b/homework/HW_05-01/src/nyc/c4q/m47bell/Animal.java new file mode 100644 index 00000000..6b59fba7 --- /dev/null +++ b/homework/HW_05-01/src/nyc/c4q/m47bell/Animal.java @@ -0,0 +1,43 @@ +package nyc.c4q.m47bell; +/** + * Created by c4q-marbella on 4/29/15. + * Access Code 2-1 + * Marbella Vidals + * Create an Animal class that includes a "species name" field and + * implements the Comparable interface. Compare two animals by species + * name, alphabetically. + */ +public class Animal implements Comparable +{ + public String speciesName; + + + public Animal(String speciesName) + { + this.speciesName = speciesName; + } + + public String getSpeciesName() + { + return speciesName; + } + + public void setSpeciesName(String speciesName) + { + this.speciesName = speciesName; + } + + + public boolean equals(Animal o) + { + + return (this.speciesName.equals(o.getSpeciesName())); + } + + + @Override + public int compareTo(Animal o) + { + return (this.speciesName.compareTo(o.getSpeciesName())); + } +} diff --git a/homework/HW_05-01/src/nyc/c4q/m47bell/Card.java b/homework/HW_05-01/src/nyc/c4q/m47bell/Card.java new file mode 100644 index 00000000..6f223373 --- /dev/null +++ b/homework/HW_05-01/src/nyc/c4q/m47bell/Card.java @@ -0,0 +1,43 @@ +package nyc.c4q.m47bell; +/** + * Created by c4q-marbella on 5/1/15. + * Access Code 2-1 + * Marbella Vidals + */ +public class Card +{ + String suitType; + String cardValue; + + public Card(String suitType, String cardValue) + { + this.suitType = suitType; + this.cardValue = cardValue; + } + + public String getSuitType() + { + return suitType; + } + + public void setSuitType(String suitType) + { + this.suitType = suitType; + } + + public String getCardValue() + { + return cardValue; + } + + public void setCardValue(String cardValue) + { + this.cardValue = cardValue; + } + + @Override + public String toString() + { + return suitType + cardValue; + } +} diff --git a/homework/HW_05-01/src/nyc/c4q/m47bell/Character.java b/homework/HW_05-01/src/nyc/c4q/m47bell/Character.java new file mode 100644 index 00000000..5c66b054 --- /dev/null +++ b/homework/HW_05-01/src/nyc/c4q/m47bell/Character.java @@ -0,0 +1,52 @@ +package nyc.c4q.m47bell; +/** + * Created by c4q-marbella on 5/5/15. + * Access Code 2-1 + * Marbella Vidals + */ +public abstract class Character +{ + + int lifePoints; + + String name; + + + public Character(String name, int lifePoints) + { + this.name = name; + this.lifePoints = lifePoints; + } + + public int getLifePoints() + { + return lifePoints; + } + + public void setLifePoints(int lifePoints) + { + this.lifePoints = lifePoints; + } + + public String getName() + { + return name; + } + + public void setName(String name) + { + this.name = name; + } + + public void play() + { + + } + +} + + + + + + diff --git a/homework/HW_05-01/src/nyc/c4q/m47bell/Domestic.java b/homework/HW_05-01/src/nyc/c4q/m47bell/Domestic.java new file mode 100644 index 00000000..3ea9266b --- /dev/null +++ b/homework/HW_05-01/src/nyc/c4q/m47bell/Domestic.java @@ -0,0 +1,13 @@ +package nyc.c4q.m47bell; +/** + * Created by c4q-marbella on 5/1/15. + * Access Code 2-1 + * Marbella Vidals + */ +public interface Domestic { + + public void getName(String name); + + public String setName(); + +} diff --git a/homework/HW_05-01/src/nyc/c4q/m47bell/DomesticAnimal.java b/homework/HW_05-01/src/nyc/c4q/m47bell/DomesticAnimal.java new file mode 100644 index 00000000..ddf7bb24 --- /dev/null +++ b/homework/HW_05-01/src/nyc/c4q/m47bell/DomesticAnimal.java @@ -0,0 +1,40 @@ +package nyc.c4q.m47bell; +/** + * Created by c4q-marbella on 5/1/15. + * Access Code 2-1 + * Marbella Vidals + *Create a class for a Domestic Animal, perhaps a DomesticCat, that both + * inherits from Animal and implements the Domesitc interface. + */ +public abstract class DomesticAnimal extends Animal implements Domestic +{ + private String name; + + public String getName() + { + return name; + } + + public void setName(String name) + { + this.name = name; + } + + public DomesticAnimal(String speciesName, String name) + { + super(speciesName); + this.name = name; + } + + + public boolean equals(DomesticAnimal o) + { + return (this.name).equals(o.getName()); + } + + + public int compareTo(DomesticAnimal o) + { + return (this.name.compareTo(o.getName())); + } +} diff --git a/homework/HW_05-01/src/nyc/c4q/m47bell/Game.java b/homework/HW_05-01/src/nyc/c4q/m47bell/Game.java new file mode 100644 index 00000000..0adda818 --- /dev/null +++ b/homework/HW_05-01/src/nyc/c4q/m47bell/Game.java @@ -0,0 +1,12 @@ +package nyc.c4q.m47bell; +import java.util.ArrayList; + +/** + * Created by c4q-marbella on 5/1/15. + * Access Code 2-1 + * Marbella Vidals + */ +public abstract class Game +{ + public abstract ArrayListgetpieces(int numCards); +} diff --git a/homework/HW_05-01/src/nyc/c4q/m47bell/MagicalHammer.java b/homework/HW_05-01/src/nyc/c4q/m47bell/MagicalHammer.java new file mode 100644 index 00000000..a83861bc --- /dev/null +++ b/homework/HW_05-01/src/nyc/c4q/m47bell/MagicalHammer.java @@ -0,0 +1,12 @@ +package nyc.c4q.m47bell; +/** + * Created by c4q-marbella on 5/5/15. + * Access Code 2-1 + * Marbella Vidals + */ +public class MagicalHammer implements Weapon +{ + + + +} diff --git a/homework/HW_05-01/src/nyc/c4q/m47bell/Main.java b/homework/HW_05-01/src/nyc/c4q/m47bell/Main.java new file mode 100644 index 00000000..8feab34a --- /dev/null +++ b/homework/HW_05-01/src/nyc/c4q/m47bell/Main.java @@ -0,0 +1,24 @@ +package nyc.c4q.m47bell; + +public class Main { + + public static void main(String[] args) { + // declares an array of integers + Animal [] listAnimal; + + // allocates memory for 5 Animal objects + listAnimal = new Animal[5]; + + // initialize the elements + listAnimal[0] = new Animal("dog"); + listAnimal[1] = new Animal("tiger"); + listAnimal[2] = new Animal("cat"); + listAnimal[3] = new Animal("elephant"); + listAnimal[4] = new Animal("dolphin"); + + + + + + } +} diff --git a/homework/HW_05-01/src/nyc/c4q/m47bell/PlayingCards.java b/homework/HW_05-01/src/nyc/c4q/m47bell/PlayingCards.java new file mode 100644 index 00000000..3877bbbc --- /dev/null +++ b/homework/HW_05-01/src/nyc/c4q/m47bell/PlayingCards.java @@ -0,0 +1,52 @@ +package nyc.c4q.m47bell; +import java.util.ArrayList; + +/** + * Created by c4q-marbella on 5/1/15. + * Access Code 2-1 + * Marbella Vidals + */ +public class PlayingCards extends Game +{ + + ArrayList deckOfCards; + String [] suitTypes = {"Hearts","Diamonds","Spades", "Clubs"}; + String [] cardValue = {"A","K","Q","J","10","9","8","7","6","5","4","3","2"}; + + public int numCards = 52; + + + //constructor to generate new cards + public PlayingCards() + { + this.deckOfCards = getpieces(numCards); + + for (int suit = 0; suit < suitTypes.length; suit++) + { + for(int value = 1; value < cardValue.length; value++){ + + //adds a new card with a suit and value at each iteration + //this line returns an error, can't figure out how to fix it + this.deckOfCards.add(new Card(suitTypes[suit],cardValue[value])); + } + } + + } + + public PlayingCards(ArrayList deckOfCards) + { + this.deckOfCards = deckOfCards; + } + + @Override + public ArrayList getpieces(int numCards) + { + return null; + } + + @Override + public String toString() + { + return String.valueOf(deckOfCards); + } +} diff --git a/homework/HW_05-01/src/nyc/c4q/m47bell/Room.java b/homework/HW_05-01/src/nyc/c4q/m47bell/Room.java new file mode 100644 index 00000000..c3d3a7f8 --- /dev/null +++ b/homework/HW_05-01/src/nyc/c4q/m47bell/Room.java @@ -0,0 +1,9 @@ +package nyc.c4q.m47bell; +/** + * Created by c4q-marbella on 5/5/15. + * Access Code 2-1 + * Marbella Vidals + */ +public class Room +{ +} diff --git a/homework/HW_05-01/src/nyc/c4q/m47bell/Superhero.java b/homework/HW_05-01/src/nyc/c4q/m47bell/Superhero.java new file mode 100644 index 00000000..4fc3ce58 --- /dev/null +++ b/homework/HW_05-01/src/nyc/c4q/m47bell/Superhero.java @@ -0,0 +1,29 @@ +package nyc.c4q.m47bell; +/** + * Created by c4q-marbella on 5/5/15. + * Access Code 2-1 + * Marbella Vidals + */ +public class Superhero extends Character +{ + private String heroeName; + + public Superhero(String name, int lifePoints) + { + super(name, lifePoints); + heroeName = heroeName; + } + + public String getHeroeName() + { + return heroeName; + } + + public void setHeroeName(String heroeName) + { + this.heroeName = heroeName; + } + + + +} diff --git a/homework/HW_05-01/src/nyc/c4q/m47bell/Weapon.java b/homework/HW_05-01/src/nyc/c4q/m47bell/Weapon.java new file mode 100644 index 00000000..c8c5b282 --- /dev/null +++ b/homework/HW_05-01/src/nyc/c4q/m47bell/Weapon.java @@ -0,0 +1,13 @@ +package nyc.c4q.m47bell; +/** + * Created by c4q-marbella on 5/5/15. + * Access Code 2-1 + * Marbella Vidals + */ +public interface Weapon +{ + + String weaponType = null; + + +} diff --git a/homework/HW_05-08/.gitignore b/homework/HW_05-08/.gitignore new file mode 100644 index 00000000..afbdab33 --- /dev/null +++ b/homework/HW_05-08/.gitignore @@ -0,0 +1,6 @@ +.gradle +/local.properties +/.idea/workspace.xml +/.idea/libraries +.DS_Store +/build diff --git a/homework/HW_05-08/HoroscopeApp-copy/.gitignore b/homework/HW_05-08/HoroscopeApp-copy/.gitignore new file mode 100644 index 00000000..afbdab33 --- /dev/null +++ b/homework/HW_05-08/HoroscopeApp-copy/.gitignore @@ -0,0 +1,6 @@ +.gradle +/local.properties +/.idea/workspace.xml +/.idea/libraries +.DS_Store +/build diff --git a/homework/HW_05-08/HoroscopeApp-copy/.idea/.name b/homework/HW_05-08/HoroscopeApp-copy/.idea/.name new file mode 100644 index 00000000..06bcb2e4 --- /dev/null +++ b/homework/HW_05-08/HoroscopeApp-copy/.idea/.name @@ -0,0 +1 @@ +HoroscopeApp \ No newline at end of file diff --git a/homework/HW_05-08/HoroscopeApp-copy/.idea/compiler.xml b/homework/HW_05-08/HoroscopeApp-copy/.idea/compiler.xml new file mode 100644 index 00000000..217af471 --- /dev/null +++ b/homework/HW_05-08/HoroscopeApp-copy/.idea/compiler.xml @@ -0,0 +1,23 @@ + + + + + + diff --git a/homework/HW_05-08/HoroscopeApp-copy/.idea/copyright/profiles_settings.xml b/homework/HW_05-08/HoroscopeApp-copy/.idea/copyright/profiles_settings.xml new file mode 100644 index 00000000..e7bedf33 --- /dev/null +++ b/homework/HW_05-08/HoroscopeApp-copy/.idea/copyright/profiles_settings.xml @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/homework/HW_05-08/HoroscopeApp-copy/.idea/encodings.xml b/homework/HW_05-08/HoroscopeApp-copy/.idea/encodings.xml new file mode 100644 index 00000000..e206d70d --- /dev/null +++ b/homework/HW_05-08/HoroscopeApp-copy/.idea/encodings.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/homework/HW_05-08/HoroscopeApp-copy/.idea/gradle.xml b/homework/HW_05-08/HoroscopeApp-copy/.idea/gradle.xml new file mode 100644 index 00000000..736c7b5c --- /dev/null +++ b/homework/HW_05-08/HoroscopeApp-copy/.idea/gradle.xml @@ -0,0 +1,18 @@ + + + + + + + diff --git a/homework/HW_05-08/HoroscopeApp-copy/.idea/misc.xml b/homework/HW_05-08/HoroscopeApp-copy/.idea/misc.xml new file mode 100644 index 00000000..59436c98 --- /dev/null +++ b/homework/HW_05-08/HoroscopeApp-copy/.idea/misc.xml @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/homework/HW_05-08/HoroscopeApp-copy/.idea/modules.xml b/homework/HW_05-08/HoroscopeApp-copy/.idea/modules.xml new file mode 100644 index 00000000..a8d97057 --- /dev/null +++ b/homework/HW_05-08/HoroscopeApp-copy/.idea/modules.xml @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/homework/HW_05-08/HoroscopeApp-copy/.idea/scopes/scope_settings.xml b/homework/HW_05-08/HoroscopeApp-copy/.idea/scopes/scope_settings.xml new file mode 100644 index 00000000..922003b8 --- /dev/null +++ b/homework/HW_05-08/HoroscopeApp-copy/.idea/scopes/scope_settings.xml @@ -0,0 +1,5 @@ + + + + \ No newline at end of file diff --git a/homework/HW_05-08/HoroscopeApp-copy/.idea/vcs.xml b/homework/HW_05-08/HoroscopeApp-copy/.idea/vcs.xml new file mode 100644 index 00000000..def6a6a1 --- /dev/null +++ b/homework/HW_05-08/HoroscopeApp-copy/.idea/vcs.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/homework/HW_05-08/HoroscopeApp-copy/HoroscopeApp.iml b/homework/HW_05-08/HoroscopeApp-copy/HoroscopeApp.iml new file mode 100644 index 00000000..0bb6048a --- /dev/null +++ b/homework/HW_05-08/HoroscopeApp-copy/HoroscopeApp.iml @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + diff --git a/homework/HW_05-08/HoroscopeApp-copy/app/.gitignore b/homework/HW_05-08/HoroscopeApp-copy/app/.gitignore new file mode 100644 index 00000000..796b96d1 --- /dev/null +++ b/homework/HW_05-08/HoroscopeApp-copy/app/.gitignore @@ -0,0 +1 @@ +/build diff --git a/homework/HW_05-08/HoroscopeApp-copy/app/app.iml b/homework/HW_05-08/HoroscopeApp-copy/app/app.iml new file mode 100644 index 00000000..efd36d62 --- /dev/null +++ b/homework/HW_05-08/HoroscopeApp-copy/app/app.iml @@ -0,0 +1,92 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/homework/HW_05-08/HoroscopeApp-copy/app/build.gradle b/homework/HW_05-08/HoroscopeApp-copy/app/build.gradle new file mode 100644 index 00000000..23c3f0b6 --- /dev/null +++ b/homework/HW_05-08/HoroscopeApp-copy/app/build.gradle @@ -0,0 +1,25 @@ +apply plugin: 'com.android.application' + +android { + compileSdkVersion 22 + buildToolsVersion "22.0.1" + + defaultConfig { + applicationId "m47bell.c4q.nyc.horoscopeapp" + minSdkVersion 15 + targetSdkVersion 22 + versionCode 1 + versionName "1.0" + } + buildTypes { + release { + minifyEnabled false + proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' + } + } +} + +dependencies { + compile fileTree(dir: 'libs', include: ['*.jar']) + compile 'com.android.support:appcompat-v7:22.1.1' +} diff --git a/homework/HW_05-08/HoroscopeApp-copy/app/proguard-rules.pro b/homework/HW_05-08/HoroscopeApp-copy/app/proguard-rules.pro new file mode 100644 index 00000000..e9a31ff1 --- /dev/null +++ b/homework/HW_05-08/HoroscopeApp-copy/app/proguard-rules.pro @@ -0,0 +1,17 @@ +# Add project specific ProGuard rules here. +# By default, the flags in this file are appended to flags specified +# in /Users/c4q-marbella/Library/Android/sdk/tools/proguard/proguard-android.txt +# You can edit the include path and order by changing the proguardFiles +# directive in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# Add any project specific keep options here: + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} diff --git a/homework/HW_05-08/HoroscopeApp-copy/app/src/androidTest/java/m47bell/c4q/nyc/horoscopeapp/ApplicationTest.java b/homework/HW_05-08/HoroscopeApp-copy/app/src/androidTest/java/m47bell/c4q/nyc/horoscopeapp/ApplicationTest.java new file mode 100644 index 00000000..33e8700e --- /dev/null +++ b/homework/HW_05-08/HoroscopeApp-copy/app/src/androidTest/java/m47bell/c4q/nyc/horoscopeapp/ApplicationTest.java @@ -0,0 +1,13 @@ +package m47bell.c4q.nyc.horoscopeapp; + +import android.app.Application; +import android.test.ApplicationTestCase; + +/** + * Testing Fundamentals + */ +public class ApplicationTest extends ApplicationTestCase { + public ApplicationTest() { + super(Application.class); + } +} \ No newline at end of file diff --git a/homework/HW_05-08/HoroscopeApp-copy/app/src/main/AndroidManifest.xml b/homework/HW_05-08/HoroscopeApp-copy/app/src/main/AndroidManifest.xml new file mode 100644 index 00000000..27fcf5ca --- /dev/null +++ b/homework/HW_05-08/HoroscopeApp-copy/app/src/main/AndroidManifest.xml @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + diff --git a/homework/HW_05-08/HoroscopeApp-copy/app/src/main/java/m47bell/c4q/nyc/horoscopeapp/MainActivity.java b/homework/HW_05-08/HoroscopeApp-copy/app/src/main/java/m47bell/c4q/nyc/horoscopeapp/MainActivity.java new file mode 100644 index 00000000..e163a65b --- /dev/null +++ b/homework/HW_05-08/HoroscopeApp-copy/app/src/main/java/m47bell/c4q/nyc/horoscopeapp/MainActivity.java @@ -0,0 +1,191 @@ +package m47bell.c4q.nyc.horoscopeapp; + +import android.app.Activity; +import android.support.v7.app.ActionBarActivity; +import android.support.v7.app.ActionBar; +import android.support.v4.app.Fragment; +import android.support.v4.app.FragmentManager; +import android.content.Context; +import android.os.Build; +import android.os.Bundle; +import android.view.Gravity; +import android.view.LayoutInflater; +import android.view.Menu; +import android.view.MenuItem; +import android.view.View; +import android.view.ViewGroup; +import android.support.v4.widget.DrawerLayout; +import android.widget.ArrayAdapter; +import android.widget.TextView; + + +public class MainActivity extends ActionBarActivity + implements NavigationDrawerFragment.NavigationDrawerCallbacks { + + /** + * Fragment managing the behaviors, interactions and presentation of the navigation drawer. + */ + private NavigationDrawerFragment mNavigationDrawerFragment; + + /** + * Used to store the last screen title. For use in {@link #restoreActionBar()}. + */ + private CharSequence mTitle; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_main); + + mNavigationDrawerFragment = (NavigationDrawerFragment) + getSupportFragmentManager().findFragmentById(R.id.navigation_drawer); + mTitle = getTitle(); + + // Set up the drawer. + mNavigationDrawerFragment.setUp( + R.id.navigation_drawer, + (DrawerLayout) findViewById(R.id.drawer_layout)); + } + + @Override + public void onNavigationDrawerItemSelected(int position) { + // update the main content by replacing fragments + FragmentManager fragmentManager = getSupportFragmentManager(); + fragmentManager.beginTransaction() + .replace(R.id.container, PlaceholderFragment.newInstance(position + 1)) + .commit(); + } + + public void onSectionAttached(int number) { + + android.app.Fragment objectFragment = null; + + switch (number) { + + case 1: + objectFragment = new main1_fragment(); + break; + case 2: + objectFragment = new main2_fragment(); + break; + case 3: + objectFragment = new main3_fragment(); + break; + case 4: + objectFragment = new main4_fragment(); + + } + } + + public void restoreActionBar() { + ActionBar actionBar = getSupportActionBar(); + actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD); + actionBar.setDisplayShowTitleEnabled(true); + actionBar.setTitle(mTitle); + } + + + @Override + public boolean onCreateOptionsMenu(Menu menu) { + if (!mNavigationDrawerFragment.isDrawerOpen()) { + // Only show items in the action bar relevant to this screen + // if the drawer is not showing. Otherwise, let the drawer + // decide what to show in the action bar. + getMenuInflater().inflate(R.menu.main, menu); + restoreActionBar(); + return true; + } + return super.onCreateOptionsMenu(menu); + } + + @Override + public boolean onOptionsItemSelected(MenuItem item) { + // Handle action bar item clicks here. The action bar will + // automatically handle clicks on the Home/Up button, so long + // as you specify a parent activity in AndroidManifest.xml. + int id = item.getItemId(); + + //noinspection SimplifiableIfStatement + if (id == R.id.action_settings) { + return true; + } + + return super.onOptionsItemSelected(item); + } + + /** + * A placeholder fragment containing a simple view. + */ + public static class PlaceholderFragment extends Fragment { + /** + * The fragment argument representing the section number for this + * fragment. + */ + private static final String ARG_SECTION_NUMBER = "section_number"; + + /** + * Returns a new instance of this fragment for the given section + * number. + */ + public static PlaceholderFragment newInstance(int sectionNumber) { + PlaceholderFragment fragment = new PlaceholderFragment(); + Bundle args = new Bundle(); + args.putInt(ARG_SECTION_NUMBER, sectionNumber); + fragment.setArguments(args); + return fragment; + } + + public PlaceholderFragment() { + } + + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, + Bundle savedInstanceState) { + View rootView = inflater.inflate(R.layout.fragment_main, container, false); + return rootView; + } + + @Override + public void onAttach(Activity activity) { + super.onAttach(activity); + ((MainActivity) activity).onSectionAttached( + getArguments().getInt(ARG_SECTION_NUMBER)); + } + } + + // method to generate proper sign + public String getSignType(double birthMonth, double birthDate){ + + if (birthMonth==12 && birthDate >=23 && birthDate <=31 || birthMonth==01 && birthDate >=1 && birthDate <= 17 ) + return "Capricon"; + else if ((birthMonth == 1 && birthDate >= 20 && birthDate <= 31) || (birthMonth == 2 && birthDate >= 1 && birthDate <= 17)) + return "Aquarius"; + else if ((birthMonth == 2 && birthDate >= 18 && birthDate <= 29) || (birthMonth == 3 && birthDate >= 1 && birthDate <= 19)) + return "Pisces"; + else if ((birthMonth == 3 && birthDate >= 20 && birthDate <= 31) || (birthMonth == 4 && birthDate >= 1 && birthDate <= 19)) + return "Aries"; + else if ((birthMonth == 4 && birthDate >= 20 && birthDate <= 30) || (birthMonth == 5 && birthDate >= 1 && birthDate <= 20)) + return "Taurus"; + else if ((birthMonth == 5 && birthDate >= 21 && birthDate <= 31) || (birthMonth == 6 && birthDate >= 1 && birthDate <= 20)) + return "Gemini"; + else if ((birthMonth == 6 && birthDate >= 21 && birthDate <= 30) || (birthMonth == 7 && birthDate >= 1 && birthDate <= 22)) + return"Cancer"; + else if ((birthMonth == 7 && birthDate >= 23 && birthDate <= 31) || (birthMonth == 8 && birthDate >= 1 && birthDate <= 22)) + return "Leo"; + else if ((birthMonth == 8 && birthDate >= 23 && birthDate <= 31) || (birthMonth == 9 && birthDate >= 1 && birthDate <= 22)) + return "Virgo"; + else if ((birthMonth == 9 && birthDate >= 23 && birthDate <= 30) || (birthMonth == 10 && birthDate >= 1 && birthDate <= 22)) + return "Libra"; + else if ((birthMonth == 10 && birthDate >= 23 && birthDate <= 31) || (birthMonth == 11 && birthDate >= 1 && birthDate <= 21)) + return "Scorpio"; + else if ((birthMonth == 11 && birthDate >= 22 && birthDate <= 30) || (birthMonth == 12 && birthDate >= 1 && birthDate <= 21)) + return "Sagittarius"; + else + return "Invalid date"; + } + + + + + +} diff --git a/homework/HW_05-08/HoroscopeApp-copy/app/src/main/java/m47bell/c4q/nyc/horoscopeapp/NavigationDrawerFragment.java b/homework/HW_05-08/HoroscopeApp-copy/app/src/main/java/m47bell/c4q/nyc/horoscopeapp/NavigationDrawerFragment.java new file mode 100644 index 00000000..f3ff666b --- /dev/null +++ b/homework/HW_05-08/HoroscopeApp-copy/app/src/main/java/m47bell/c4q/nyc/horoscopeapp/NavigationDrawerFragment.java @@ -0,0 +1,283 @@ +package m47bell.c4q.nyc.horoscopeapp; + +import android.support.v7.app.ActionBarActivity; +import android.app.Activity; +import android.support.v7.app.ActionBar; +import android.support.v4.app.Fragment; +import android.support.v4.app.ActionBarDrawerToggle; +import android.support.v4.view.GravityCompat; +import android.support.v4.widget.DrawerLayout; +import android.content.SharedPreferences; +import android.content.res.Configuration; +import android.os.Bundle; +import android.preference.PreferenceManager; +import android.view.LayoutInflater; +import android.view.Menu; +import android.view.MenuInflater; +import android.view.MenuItem; +import android.view.View; +import android.view.ViewGroup; +import android.widget.AdapterView; +import android.widget.ArrayAdapter; +import android.widget.ListView; +import android.widget.Toast; + +/** + * Fragment used for managing interactions for and presentation of a navigation drawer. + * See the + * design guidelines for a complete explanation of the behaviors implemented here. + */ +public class NavigationDrawerFragment extends Fragment { + + /** + * Remember the position of the selected item. + */ + private static final String STATE_SELECTED_POSITION = "selected_navigation_drawer_position"; + + /** + * Per the design guidelines, you should show the drawer on launch until the user manually + * expands it. This shared preference tracks this. + */ + private static final String PREF_USER_LEARNED_DRAWER = "navigation_drawer_learned"; + + /** + * A pointer to the current callbacks instance (the Activity). + */ + private NavigationDrawerCallbacks mCallbacks; + + /** + * Helper component that ties the action bar to the navigation drawer. + */ + private ActionBarDrawerToggle mDrawerToggle; + + private DrawerLayout mDrawerLayout; + private ListView mDrawerListView; + private View mFragmentContainerView; + + private int mCurrentSelectedPosition = 0; + private boolean mFromSavedInstanceState; + private boolean mUserLearnedDrawer; + + public NavigationDrawerFragment() { + } + + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + + // Read in the flag indicating whether or not the user has demonstrated awareness of the + // drawer. See PREF_USER_LEARNED_DRAWER for details. + SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(getActivity()); + mUserLearnedDrawer = sp.getBoolean(PREF_USER_LEARNED_DRAWER, false); + + if (savedInstanceState != null) { + mCurrentSelectedPosition = savedInstanceState.getInt(STATE_SELECTED_POSITION); + mFromSavedInstanceState = true; + } + + // Select either the default item (0) or the last selected item. + selectItem(mCurrentSelectedPosition); + } + + @Override + public void onActivityCreated(Bundle savedInstanceState) { + super.onActivityCreated(savedInstanceState); + // Indicate that this fragment would like to influence the set of actions in the action bar. + setHasOptionsMenu(true); + } + + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, + Bundle savedInstanceState) { + mDrawerListView = (ListView) inflater.inflate( + R.layout.fragment_navigation_drawer, container, false); + mDrawerListView.setOnItemClickListener(new AdapterView.OnItemClickListener() { + @Override + public void onItemClick(AdapterView parent, View view, int position, long id) { + selectItem(position); + } + }); + mDrawerListView.setAdapter(new ArrayAdapter( + getActionBar().getThemedContext(), + android.R.layout.simple_list_item_activated_1, + android.R.id.text1, + new String[]{ + getString(R.string.title_section1), + getString(R.string.title_section2), + getString(R.string.title_section3), + "Section 4" + })); + mDrawerListView.setItemChecked(mCurrentSelectedPosition, true); + return mDrawerListView; + } + + public boolean isDrawerOpen() { + return mDrawerLayout != null && mDrawerLayout.isDrawerOpen(mFragmentContainerView); + } + + /** + * Users of this fragment must call this method to set up the navigation drawer interactions. + * + * @param fragmentId The android:id of this fragment in its activity's layout. + * @param drawerLayout The DrawerLayout containing this fragment's UI. + */ + public void setUp(int fragmentId, DrawerLayout drawerLayout) { + mFragmentContainerView = getActivity().findViewById(fragmentId); + mDrawerLayout = drawerLayout; + + // set a custom shadow that overlays the main content when the drawer opens + mDrawerLayout.setDrawerShadow(R.drawable.drawer_shadow, GravityCompat.START); + // set up the drawer's list view with items and click listener + + ActionBar actionBar = getActionBar(); + actionBar.setDisplayHomeAsUpEnabled(true); + actionBar.setHomeButtonEnabled(true); + + // ActionBarDrawerToggle ties together the the proper interactions + // between the navigation drawer and the action bar app icon. + mDrawerToggle = new ActionBarDrawerToggle( + getActivity(), /* host Activity */ + mDrawerLayout, /* DrawerLayout object */ + R.drawable.ic_drawer, /* nav drawer image to replace 'Up' caret */ + R.string.navigation_drawer_open, /* "open drawer" description for accessibility */ + R.string.navigation_drawer_close /* "close drawer" description for accessibility */ + ) { + @Override + public void onDrawerClosed(View drawerView) { + super.onDrawerClosed(drawerView); + if (!isAdded()) { + return; + } + + getActivity().supportInvalidateOptionsMenu(); // calls onPrepareOptionsMenu() + } + + @Override + public void onDrawerOpened(View drawerView) { + super.onDrawerOpened(drawerView); + if (!isAdded()) { + return; + } + + if (!mUserLearnedDrawer) { + // The user manually opened the drawer; store this flag to prevent auto-showing + // the navigation drawer automatically in the future. + mUserLearnedDrawer = true; + SharedPreferences sp = PreferenceManager + .getDefaultSharedPreferences(getActivity()); + sp.edit().putBoolean(PREF_USER_LEARNED_DRAWER, true).apply(); + } + + getActivity().supportInvalidateOptionsMenu(); // calls onPrepareOptionsMenu() + } + }; + + // If the user hasn't 'learned' about the drawer, open it to introduce them to the drawer, + // per the navigation drawer design guidelines. + if (!mUserLearnedDrawer && !mFromSavedInstanceState) { + mDrawerLayout.openDrawer(mFragmentContainerView); + } + + // Defer code dependent on restoration of previous instance state. + mDrawerLayout.post(new Runnable() { + @Override + public void run() { + mDrawerToggle.syncState(); + } + }); + + mDrawerLayout.setDrawerListener(mDrawerToggle); + } + + private void selectItem(int position) { + mCurrentSelectedPosition = position; + if (mDrawerListView != null) { + mDrawerListView.setItemChecked(position, true); + } + if (mDrawerLayout != null) { + mDrawerLayout.closeDrawer(mFragmentContainerView); + } + if (mCallbacks != null) { + mCallbacks.onNavigationDrawerItemSelected(position); + } + } + + @Override + public void onAttach(Activity activity) { + super.onAttach(activity); + try { + mCallbacks = (NavigationDrawerCallbacks) activity; + } catch (ClassCastException e) { + throw new ClassCastException("Activity must implement NavigationDrawerCallbacks."); + } + } + + @Override + public void onDetach() { + super.onDetach(); + mCallbacks = null; + } + + @Override + public void onSaveInstanceState(Bundle outState) { + super.onSaveInstanceState(outState); + outState.putInt(STATE_SELECTED_POSITION, mCurrentSelectedPosition); + } + + @Override + public void onConfigurationChanged(Configuration newConfig) { + super.onConfigurationChanged(newConfig); + // Forward the new configuration the drawer toggle component. + mDrawerToggle.onConfigurationChanged(newConfig); + } + + @Override + public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { + // If the drawer is open, show the global app actions in the action bar. See also + // showGlobalContextActionBar, which controls the top-left area of the action bar. + if (mDrawerLayout != null && isDrawerOpen()) { + inflater.inflate(R.menu.global, menu); + showGlobalContextActionBar(); + } + super.onCreateOptionsMenu(menu, inflater); + } + + @Override + public boolean onOptionsItemSelected(MenuItem item) { + if (mDrawerToggle.onOptionsItemSelected(item)) { + return true; + } + + if (item.getItemId() == R.id.action_example) { + Toast.makeText(getActivity(), "Example action.", Toast.LENGTH_SHORT).show(); + return true; + } + + return super.onOptionsItemSelected(item); + } + + /** + * Per the navigation drawer design guidelines, updates the action bar to show the global app + * 'context', rather than just what's in the current screen. + */ + private void showGlobalContextActionBar() { + ActionBar actionBar = getActionBar(); + actionBar.setDisplayShowTitleEnabled(true); + actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD); + actionBar.setTitle(R.string.app_name); + } + + private ActionBar getActionBar() { + return ((ActionBarActivity) getActivity()).getSupportActionBar(); + } + + /** + * Callbacks interface that all activities using this fragment must implement. + */ + public static interface NavigationDrawerCallbacks { + /** + * Called when an item in the navigation drawer is selected. + */ + void onNavigationDrawerItemSelected(int position); + } +} diff --git a/homework/HW_05-08/HoroscopeApp-copy/app/src/main/java/m47bell/c4q/nyc/horoscopeapp/Signs.java b/homework/HW_05-08/HoroscopeApp-copy/app/src/main/java/m47bell/c4q/nyc/horoscopeapp/Signs.java new file mode 100644 index 00000000..4fd9ca5b --- /dev/null +++ b/homework/HW_05-08/HoroscopeApp-copy/app/src/main/java/m47bell/c4q/nyc/horoscopeapp/Signs.java @@ -0,0 +1,64 @@ +package m47bell.c4q.nyc.horoscopeapp; + +/** + * Created by c4q-marbella on 5/7/15. + * A feature where a user can enter their birthdate + * and receive information about what their sign is. + */ +public class Signs implements Comparable { + + + private String sign; + + + public Signs(String sign) { + this.sign = sign; + } + + public String getSign() { + return sign; + } + + public void setSign(String sign) { + this.sign = sign; + } + + public String getSignType(double birthMonth, double birthDate){ + + if (birthMonth==12 && birthDate >=23 && birthDate <=31 || birthMonth==01 && birthDate >=1 && birthDate <= 17 ) + return "Capricon"; + else if ((birthMonth == 1 && birthDate >= 20 && birthDate <= 31) || (birthMonth == 2 && birthDate >= 1 && birthDate <= 17)) + return "Aquarius"; + else if ((birthMonth == 2 && birthDate >= 18 && birthDate <= 29) || (birthMonth == 3 && birthDate >= 1 && birthDate <= 19)) + return "Pisces"; + else if ((birthMonth == 3 && birthDate >= 20 && birthDate <= 31) || (birthMonth == 4 && birthDate >= 1 && birthDate <= 19)) + return "Aries"; + else if ((birthMonth == 4 && birthDate >= 20 && birthDate <= 30) || (birthMonth == 5 && birthDate >= 1 && birthDate <= 20)) + return "Taurus"; + else if ((birthMonth == 5 && birthDate >= 21 && birthDate <= 31) || (birthMonth == 6 && birthDate >= 1 && birthDate <= 20)) + return "Gemini"; + else if ((birthMonth == 6 && birthDate >= 21 && birthDate <= 30) || (birthMonth == 7 && birthDate >= 1 && birthDate <= 22)) + return"Cancer"; + else if ((birthMonth == 7 && birthDate >= 23 && birthDate <= 31) || (birthMonth == 8 && birthDate >= 1 && birthDate <= 22)) + return "Leo"; + else if ((birthMonth == 8 && birthDate >= 23 && birthDate <= 31) || (birthMonth == 9 && birthDate >= 1 && birthDate <= 22)) + return "Virgo"; + else if ((birthMonth == 9 && birthDate >= 23 && birthDate <= 30) || (birthMonth == 10 && birthDate >= 1 && birthDate <= 22)) + return "Libra"; + else if ((birthMonth == 10 && birthDate >= 23 && birthDate <= 31) || (birthMonth == 11 && birthDate >= 1 && birthDate <= 21)) + return "Scorpio"; + else if ((birthMonth == 11 && birthDate >= 22 && birthDate <= 30) || (birthMonth == 12 && birthDate >= 1 && birthDate <= 21)) + return "Sagittarius"; + else + return "Invalid date"; + } + + + @Override + public int compareTo(Object o) { + return 0; + } +} + + + diff --git a/homework/HW_05-08/HoroscopeApp-copy/app/src/main/java/m47bell/c4q/nyc/horoscopeapp/main1_fragment.java b/homework/HW_05-08/HoroscopeApp-copy/app/src/main/java/m47bell/c4q/nyc/horoscopeapp/main1_fragment.java new file mode 100644 index 00000000..2d155487 --- /dev/null +++ b/homework/HW_05-08/HoroscopeApp-copy/app/src/main/java/m47bell/c4q/nyc/horoscopeapp/main1_fragment.java @@ -0,0 +1,31 @@ +package m47bell.c4q.nyc.horoscopeapp; + +import android.app.Fragment; +import android.os.Bundle; +import android.support.annotation.Nullable; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + +/** + * Created by c4q-marbella on 5/7/15. + */ +public class main1_fragment extends Fragment { + View rootview; + + @Nullable + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { + + rootview = inflater.inflate(R.layout.fragment_menu1,container,false); + return super.onCreateView(inflater, container, savedInstanceState); + } + +// for( int i =0; i< 12; i++){ +// +// +// +// } + + +} diff --git a/homework/HW_05-08/HoroscopeApp-copy/app/src/main/java/m47bell/c4q/nyc/horoscopeapp/main2_fragment.java b/homework/HW_05-08/HoroscopeApp-copy/app/src/main/java/m47bell/c4q/nyc/horoscopeapp/main2_fragment.java new file mode 100644 index 00000000..1ce75508 --- /dev/null +++ b/homework/HW_05-08/HoroscopeApp-copy/app/src/main/java/m47bell/c4q/nyc/horoscopeapp/main2_fragment.java @@ -0,0 +1,9 @@ +package m47bell.c4q.nyc.horoscopeapp; + +import android.app.Fragment; + +/** + * Created by c4q-marbella on 5/9/15. + */ +public class main2_fragment extends Fragment { +} diff --git a/homework/HW_05-08/HoroscopeApp-copy/app/src/main/java/m47bell/c4q/nyc/horoscopeapp/main3_fragment.java b/homework/HW_05-08/HoroscopeApp-copy/app/src/main/java/m47bell/c4q/nyc/horoscopeapp/main3_fragment.java new file mode 100644 index 00000000..8210ff73 --- /dev/null +++ b/homework/HW_05-08/HoroscopeApp-copy/app/src/main/java/m47bell/c4q/nyc/horoscopeapp/main3_fragment.java @@ -0,0 +1,9 @@ +package m47bell.c4q.nyc.horoscopeapp; + +import android.app.Fragment; + +/** + * Created by c4q-marbella on 5/9/15. + */ +public class main3_fragment extends Fragment { +} diff --git a/homework/HW_05-08/HoroscopeApp-copy/app/src/main/java/m47bell/c4q/nyc/horoscopeapp/main4_fragment.java b/homework/HW_05-08/HoroscopeApp-copy/app/src/main/java/m47bell/c4q/nyc/horoscopeapp/main4_fragment.java new file mode 100644 index 00000000..a00d7fa7 --- /dev/null +++ b/homework/HW_05-08/HoroscopeApp-copy/app/src/main/java/m47bell/c4q/nyc/horoscopeapp/main4_fragment.java @@ -0,0 +1,12 @@ +package m47bell.c4q.nyc.horoscopeapp; + +import android.app.Fragment; + +/** + * Created by c4q-marbella on 5/9/15. + */ +public class main4_fragment extends Fragment { + + + +} diff --git a/homework/HW_05-08/HoroscopeApp-copy/app/src/main/res/drawable-hdpi/drawer_shadow.9.png b/homework/HW_05-08/HoroscopeApp-copy/app/src/main/res/drawable-hdpi/drawer_shadow.9.png new file mode 100644 index 00000000..236bff55 Binary files /dev/null and b/homework/HW_05-08/HoroscopeApp-copy/app/src/main/res/drawable-hdpi/drawer_shadow.9.png differ diff --git a/homework/HW_05-08/HoroscopeApp-copy/app/src/main/res/drawable-hdpi/ic_drawer.png b/homework/HW_05-08/HoroscopeApp-copy/app/src/main/res/drawable-hdpi/ic_drawer.png new file mode 100644 index 00000000..c59f601c Binary files /dev/null and b/homework/HW_05-08/HoroscopeApp-copy/app/src/main/res/drawable-hdpi/ic_drawer.png differ diff --git a/homework/HW_05-08/HoroscopeApp-copy/app/src/main/res/drawable-mdpi/drawer_shadow.9.png b/homework/HW_05-08/HoroscopeApp-copy/app/src/main/res/drawable-mdpi/drawer_shadow.9.png new file mode 100644 index 00000000..ffe3a28d Binary files /dev/null and b/homework/HW_05-08/HoroscopeApp-copy/app/src/main/res/drawable-mdpi/drawer_shadow.9.png differ diff --git a/homework/HW_05-08/HoroscopeApp-copy/app/src/main/res/drawable-mdpi/ic_drawer.png b/homework/HW_05-08/HoroscopeApp-copy/app/src/main/res/drawable-mdpi/ic_drawer.png new file mode 100644 index 00000000..1ed2c56e Binary files /dev/null and b/homework/HW_05-08/HoroscopeApp-copy/app/src/main/res/drawable-mdpi/ic_drawer.png differ diff --git a/homework/HW_05-08/HoroscopeApp-copy/app/src/main/res/drawable-xhdpi/drawer_shadow.9.png b/homework/HW_05-08/HoroscopeApp-copy/app/src/main/res/drawable-xhdpi/drawer_shadow.9.png new file mode 100644 index 00000000..fabe9d96 Binary files /dev/null and b/homework/HW_05-08/HoroscopeApp-copy/app/src/main/res/drawable-xhdpi/drawer_shadow.9.png differ diff --git a/homework/HW_05-08/HoroscopeApp-copy/app/src/main/res/drawable-xhdpi/ic_drawer.png b/homework/HW_05-08/HoroscopeApp-copy/app/src/main/res/drawable-xhdpi/ic_drawer.png new file mode 100644 index 00000000..a5fa74de Binary files /dev/null and b/homework/HW_05-08/HoroscopeApp-copy/app/src/main/res/drawable-xhdpi/ic_drawer.png differ diff --git a/homework/HW_05-08/HoroscopeApp-copy/app/src/main/res/drawable-xxhdpi/drawer_shadow.9.png b/homework/HW_05-08/HoroscopeApp-copy/app/src/main/res/drawable-xxhdpi/drawer_shadow.9.png new file mode 100644 index 00000000..b91e9d7f Binary files /dev/null and b/homework/HW_05-08/HoroscopeApp-copy/app/src/main/res/drawable-xxhdpi/drawer_shadow.9.png differ diff --git a/homework/HW_05-08/HoroscopeApp-copy/app/src/main/res/drawable-xxhdpi/ic_drawer.png b/homework/HW_05-08/HoroscopeApp-copy/app/src/main/res/drawable-xxhdpi/ic_drawer.png new file mode 100644 index 00000000..9c4685d6 Binary files /dev/null and b/homework/HW_05-08/HoroscopeApp-copy/app/src/main/res/drawable-xxhdpi/ic_drawer.png differ diff --git a/homework/HW_05-08/HoroscopeApp-copy/app/src/main/res/layout/activity_main.xml b/homework/HW_05-08/HoroscopeApp-copy/app/src/main/res/layout/activity_main.xml new file mode 100644 index 00000000..b68051cd --- /dev/null +++ b/homework/HW_05-08/HoroscopeApp-copy/app/src/main/res/layout/activity_main.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + diff --git a/homework/HW_05-08/HoroscopeApp-copy/app/src/main/res/layout/fragment_main.xml b/homework/HW_05-08/HoroscopeApp-copy/app/src/main/res/layout/fragment_main.xml new file mode 100644 index 00000000..ef0bd84f --- /dev/null +++ b/homework/HW_05-08/HoroscopeApp-copy/app/src/main/res/layout/fragment_main.xml @@ -0,0 +1,12 @@ + + + + + diff --git a/homework/HW_05-08/HoroscopeApp-copy/app/src/main/res/layout/fragment_navigation_drawer.xml b/homework/HW_05-08/HoroscopeApp-copy/app/src/main/res/layout/fragment_navigation_drawer.xml new file mode 100644 index 00000000..c05742d8 --- /dev/null +++ b/homework/HW_05-08/HoroscopeApp-copy/app/src/main/res/layout/fragment_navigation_drawer.xml @@ -0,0 +1,5 @@ + diff --git a/homework/HW_05-08/HoroscopeApp-copy/app/src/main/res/layout/menu1_layout.xml b/homework/HW_05-08/HoroscopeApp-copy/app/src/main/res/layout/menu1_layout.xml new file mode 100644 index 00000000..64550b31 --- /dev/null +++ b/homework/HW_05-08/HoroscopeApp-copy/app/src/main/res/layout/menu1_layout.xml @@ -0,0 +1,11 @@ + + + + + + + \ No newline at end of file diff --git a/homework/HW_05-08/HoroscopeApp-copy/app/src/main/res/menu/global.xml b/homework/HW_05-08/HoroscopeApp-copy/app/src/main/res/menu/global.xml new file mode 100644 index 00000000..326a6a7e --- /dev/null +++ b/homework/HW_05-08/HoroscopeApp-copy/app/src/main/res/menu/global.xml @@ -0,0 +1,5 @@ + + + diff --git a/homework/HW_05-08/HoroscopeApp-copy/app/src/main/res/menu/main.xml b/homework/HW_05-08/HoroscopeApp-copy/app/src/main/res/menu/main.xml new file mode 100644 index 00000000..04a7ab02 --- /dev/null +++ b/homework/HW_05-08/HoroscopeApp-copy/app/src/main/res/menu/main.xml @@ -0,0 +1,8 @@ + + + + diff --git a/homework/HW_05-08/HoroscopeApp-copy/app/src/main/res/mipmap-hdpi/ic_launcher.png b/homework/HW_05-08/HoroscopeApp-copy/app/src/main/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 00000000..cde69bcc Binary files /dev/null and b/homework/HW_05-08/HoroscopeApp-copy/app/src/main/res/mipmap-hdpi/ic_launcher.png differ diff --git a/homework/HW_05-08/HoroscopeApp-copy/app/src/main/res/mipmap-mdpi/ic_launcher.png b/homework/HW_05-08/HoroscopeApp-copy/app/src/main/res/mipmap-mdpi/ic_launcher.png new file mode 100644 index 00000000..c133a0cb Binary files /dev/null and b/homework/HW_05-08/HoroscopeApp-copy/app/src/main/res/mipmap-mdpi/ic_launcher.png differ diff --git a/homework/HW_05-08/HoroscopeApp-copy/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/homework/HW_05-08/HoroscopeApp-copy/app/src/main/res/mipmap-xhdpi/ic_launcher.png new file mode 100644 index 00000000..bfa42f0e Binary files /dev/null and b/homework/HW_05-08/HoroscopeApp-copy/app/src/main/res/mipmap-xhdpi/ic_launcher.png differ diff --git a/homework/HW_05-08/HoroscopeApp-copy/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/homework/HW_05-08/HoroscopeApp-copy/app/src/main/res/mipmap-xxhdpi/ic_launcher.png new file mode 100644 index 00000000..324e72cd Binary files /dev/null and b/homework/HW_05-08/HoroscopeApp-copy/app/src/main/res/mipmap-xxhdpi/ic_launcher.png differ diff --git a/homework/HW_05-08/HoroscopeApp-copy/app/src/main/res/values-w820dp/dimens.xml b/homework/HW_05-08/HoroscopeApp-copy/app/src/main/res/values-w820dp/dimens.xml new file mode 100644 index 00000000..63fc8164 --- /dev/null +++ b/homework/HW_05-08/HoroscopeApp-copy/app/src/main/res/values-w820dp/dimens.xml @@ -0,0 +1,6 @@ + + + 64dp + diff --git a/homework/HW_05-08/HoroscopeApp-copy/app/src/main/res/values/dimens.xml b/homework/HW_05-08/HoroscopeApp-copy/app/src/main/res/values/dimens.xml new file mode 100644 index 00000000..074e7a03 --- /dev/null +++ b/homework/HW_05-08/HoroscopeApp-copy/app/src/main/res/values/dimens.xml @@ -0,0 +1,9 @@ + + + 16dp + 16dp + + + 240dp + diff --git a/homework/HW_05-08/HoroscopeApp-copy/app/src/main/res/values/ids.xml b/homework/HW_05-08/HoroscopeApp-copy/app/src/main/res/values/ids.xml new file mode 100644 index 00000000..22ec4dd8 --- /dev/null +++ b/homework/HW_05-08/HoroscopeApp-copy/app/src/main/res/values/ids.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/homework/HW_05-08/HoroscopeApp-copy/app/src/main/res/values/strings.xml b/homework/HW_05-08/HoroscopeApp-copy/app/src/main/res/values/strings.xml new file mode 100644 index 00000000..e3e8c88b --- /dev/null +++ b/homework/HW_05-08/HoroscopeApp-copy/app/src/main/res/values/strings.xml @@ -0,0 +1,30 @@ + + HoroscopeApp + + Pick Horoscope Sign + Find sign via Birthday + Romance Compatibility + Play Game + + Open navigation drawer + Close navigation drawer + + + + Settings + //navigation drawer example + + Pick a sign + Enter Birthdate + Romantic Compatibility + Play Game + + + + Web search + Sorry, there\'s no web browser available + Enter Birthday + Start Game + + + diff --git a/homework/HW_05-08/HoroscopeApp-copy/app/src/main/res/values/styles.xml b/homework/HW_05-08/HoroscopeApp-copy/app/src/main/res/values/styles.xml new file mode 100644 index 00000000..766ab993 --- /dev/null +++ b/homework/HW_05-08/HoroscopeApp-copy/app/src/main/res/values/styles.xml @@ -0,0 +1,8 @@ + + + + + + diff --git a/homework/HW_05-08/HoroscopeApp-copy/build.gradle b/homework/HW_05-08/HoroscopeApp-copy/build.gradle new file mode 100644 index 00000000..d3ff69d6 --- /dev/null +++ b/homework/HW_05-08/HoroscopeApp-copy/build.gradle @@ -0,0 +1,19 @@ +// Top-level build file where you can add configuration options common to all sub-projects/modules. + +buildscript { + repositories { + jcenter() + } + dependencies { + classpath 'com.android.tools.build:gradle:1.1.0' + + // NOTE: Do not place your application dependencies here; they belong + // in the individual module build.gradle files + } +} + +allprojects { + repositories { + jcenter() + } +} diff --git a/homework/HW_05-08/HoroscopeApp-copy/gradle.properties b/homework/HW_05-08/HoroscopeApp-copy/gradle.properties new file mode 100644 index 00000000..1d3591c8 --- /dev/null +++ b/homework/HW_05-08/HoroscopeApp-copy/gradle.properties @@ -0,0 +1,18 @@ +# Project-wide Gradle settings. + +# IDE (e.g. Android Studio) users: +# Gradle settings configured through the IDE *will override* +# any settings specified in this file. + +# For more details on how to configure your build environment visit +# http://www.gradle.org/docs/current/userguide/build_environment.html + +# Specifies the JVM arguments used for the daemon process. +# The setting is particularly useful for tweaking memory settings. +# Default value: -Xmx10248m -XX:MaxPermSize=256m +# org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 + +# When configured, Gradle will run in incubating parallel mode. +# This option should only be used with decoupled projects. More details, visit +# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects +# org.gradle.parallel=true \ No newline at end of file diff --git a/homework/HW_05-08/HoroscopeApp-copy/gradle/wrapper/gradle-wrapper.jar b/homework/HW_05-08/HoroscopeApp-copy/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 00000000..8c0fb64a Binary files /dev/null and b/homework/HW_05-08/HoroscopeApp-copy/gradle/wrapper/gradle-wrapper.jar differ diff --git a/homework/HW_05-08/HoroscopeApp-copy/gradle/wrapper/gradle-wrapper.properties b/homework/HW_05-08/HoroscopeApp-copy/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 00000000..0c71e760 --- /dev/null +++ b/homework/HW_05-08/HoroscopeApp-copy/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,6 @@ +#Wed Apr 10 15:27:10 PDT 2013 +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-2.2.1-all.zip diff --git a/homework/HW_05-08/HoroscopeApp-copy/gradlew b/homework/HW_05-08/HoroscopeApp-copy/gradlew new file mode 100755 index 00000000..91a7e269 --- /dev/null +++ b/homework/HW_05-08/HoroscopeApp-copy/gradlew @@ -0,0 +1,164 @@ +#!/usr/bin/env bash + +############################################################################## +## +## Gradle start up script for UN*X +## +############################################################################## + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS="" + +APP_NAME="Gradle" +APP_BASE_NAME=`basename "$0"` + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD="maximum" + +warn ( ) { + echo "$*" +} + +die ( ) { + echo + echo "$*" + echo + exit 1 +} + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +case "`uname`" in + CYGWIN* ) + cygwin=true + ;; + Darwin* ) + darwin=true + ;; + MINGW* ) + msys=true + ;; +esac + +# For Cygwin, ensure paths are in UNIX format before anything is touched. +if $cygwin ; then + [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"` +fi + +# Attempt to set APP_HOME +# Resolve links: $0 may be a link +PRG="$0" +# Need this for relative symlinks. +while [ -h "$PRG" ] ; do + ls=`ls -ld "$PRG"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG=`dirname "$PRG"`"/$link" + fi +done +SAVED="`pwd`" +cd "`dirname \"$PRG\"`/" >&- +APP_HOME="`pwd -P`" +cd "$SAVED" >&- + +CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD="java" + which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." +fi + +# Increase the maximum file descriptors if we can. +if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then + MAX_FD_LIMIT=`ulimit -H -n` + if [ $? -eq 0 ] ; then + if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then + MAX_FD="$MAX_FD_LIMIT" + fi + ulimit -n $MAX_FD + if [ $? -ne 0 ] ; then + warn "Could not set maximum file descriptor limit: $MAX_FD" + fi + else + warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" + fi +fi + +# For Darwin, add options to specify how the application appears in the dock +if $darwin; then + GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" +fi + +# For Cygwin, switch paths to Windows format before running java +if $cygwin ; then + APP_HOME=`cygpath --path --mixed "$APP_HOME"` + CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` + + # We build the pattern for arguments to be converted via cygpath + ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` + SEP="" + for dir in $ROOTDIRSRAW ; do + ROOTDIRS="$ROOTDIRS$SEP$dir" + SEP="|" + done + OURCYGPATTERN="(^($ROOTDIRS))" + # Add a user-defined pattern to the cygpath arguments + if [ "$GRADLE_CYGPATTERN" != "" ] ; then + OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" + fi + # Now convert the arguments - kludge to limit ourselves to /bin/sh + i=0 + for arg in "$@" ; do + CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` + CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option + + if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition + eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` + else + eval `echo args$i`="\"$arg\"" + fi + i=$((i+1)) + done + case $i in + (0) set -- ;; + (1) set -- "$args0" ;; + (2) set -- "$args0" "$args1" ;; + (3) set -- "$args0" "$args1" "$args2" ;; + (4) set -- "$args0" "$args1" "$args2" "$args3" ;; + (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; + (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; + (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; + (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; + (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; + esac +fi + +# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules +function splitJvmOpts() { + JVM_OPTS=("$@") +} +eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS +JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME" + +exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@" diff --git a/homework/HW_05-08/HoroscopeApp-copy/gradlew.bat b/homework/HW_05-08/HoroscopeApp-copy/gradlew.bat new file mode 100644 index 00000000..aec99730 --- /dev/null +++ b/homework/HW_05-08/HoroscopeApp-copy/gradlew.bat @@ -0,0 +1,90 @@ +@if "%DEBUG%" == "" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS= + +set DIRNAME=%~dp0 +if "%DIRNAME%" == "" set DIRNAME=. +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if "%ERRORLEVEL%" == "0" goto init + +echo. +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto init + +echo. +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:init +@rem Get command-line arguments, handling Windowz variants + +if not "%OS%" == "Windows_NT" goto win9xME_args +if "%@eval[2+2]" == "4" goto 4NT_args + +:win9xME_args +@rem Slurp the command line arguments. +set CMD_LINE_ARGS= +set _SKIP=2 + +:win9xME_args_slurp +if "x%~1" == "x" goto execute + +set CMD_LINE_ARGS=%* +goto execute + +:4NT_args +@rem Get arguments from the 4NT Shell from JP Software +set CMD_LINE_ARGS=%$ + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% + +:end +@rem End local scope for the variables with windows NT shell +if "%ERRORLEVEL%"=="0" goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 +exit /b 1 + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/homework/HW_05-08/HoroscopeApp-copy/settings.gradle b/homework/HW_05-08/HoroscopeApp-copy/settings.gradle new file mode 100644 index 00000000..e7b4def4 --- /dev/null +++ b/homework/HW_05-08/HoroscopeApp-copy/settings.gradle @@ -0,0 +1 @@ +include ':app' diff --git a/homework/HW_05-08/HoroscopeGameMV/AndroidManifest.xml b/homework/HW_05-08/HoroscopeGameMV/AndroidManifest.xml new file mode 100755 index 00000000..e48ee243 --- /dev/null +++ b/homework/HW_05-08/HoroscopeGameMV/AndroidManifest.xml @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + diff --git a/homework/HW_05-08/HoroscopeGameMV/libs/android-support-v4.jar b/homework/HW_05-08/HoroscopeGameMV/libs/android-support-v4.jar new file mode 100644 index 00000000..ee6f13aa Binary files /dev/null and b/homework/HW_05-08/HoroscopeGameMV/libs/android-support-v4.jar differ diff --git a/homework/HW_05-08/HoroscopeGameMV/res/drawable-hdpi/action_search.png b/homework/HW_05-08/HoroscopeGameMV/res/drawable-hdpi/action_search.png new file mode 100755 index 00000000..f12e005e Binary files /dev/null and b/homework/HW_05-08/HoroscopeGameMV/res/drawable-hdpi/action_search.png differ diff --git a/homework/HW_05-08/HoroscopeGameMV/res/drawable-hdpi/drawer_shadow.9.png b/homework/HW_05-08/HoroscopeGameMV/res/drawable-hdpi/drawer_shadow.9.png new file mode 100644 index 00000000..224cc4ff Binary files /dev/null and b/homework/HW_05-08/HoroscopeGameMV/res/drawable-hdpi/drawer_shadow.9.png differ diff --git a/homework/HW_05-08/HoroscopeGameMV/res/drawable-hdpi/ic_drawer.png b/homework/HW_05-08/HoroscopeGameMV/res/drawable-hdpi/ic_drawer.png new file mode 100644 index 00000000..ff7b1def Binary files /dev/null and b/homework/HW_05-08/HoroscopeGameMV/res/drawable-hdpi/ic_drawer.png differ diff --git a/homework/HW_05-08/HoroscopeGameMV/res/drawable-hdpi/ic_launcher.png b/homework/HW_05-08/HoroscopeGameMV/res/drawable-hdpi/ic_launcher.png new file mode 100755 index 00000000..b460d602 Binary files /dev/null and b/homework/HW_05-08/HoroscopeGameMV/res/drawable-hdpi/ic_launcher.png differ diff --git a/homework/HW_05-08/HoroscopeGameMV/res/drawable-mdpi/action_search.png b/homework/HW_05-08/HoroscopeGameMV/res/drawable-mdpi/action_search.png new file mode 100755 index 00000000..587d9e0b Binary files /dev/null and b/homework/HW_05-08/HoroscopeGameMV/res/drawable-mdpi/action_search.png differ diff --git a/homework/HW_05-08/HoroscopeGameMV/res/drawable-mdpi/drawer_shadow.9.png b/homework/HW_05-08/HoroscopeGameMV/res/drawable-mdpi/drawer_shadow.9.png new file mode 100644 index 00000000..3797f99c Binary files /dev/null and b/homework/HW_05-08/HoroscopeGameMV/res/drawable-mdpi/drawer_shadow.9.png differ diff --git a/homework/HW_05-08/HoroscopeGameMV/res/drawable-mdpi/ic_drawer.png b/homework/HW_05-08/HoroscopeGameMV/res/drawable-mdpi/ic_drawer.png new file mode 100644 index 00000000..fb681ba2 Binary files /dev/null and b/homework/HW_05-08/HoroscopeGameMV/res/drawable-mdpi/ic_drawer.png differ diff --git a/homework/HW_05-08/HoroscopeGameMV/res/drawable-mdpi/ic_launcher.png b/homework/HW_05-08/HoroscopeGameMV/res/drawable-mdpi/ic_launcher.png new file mode 100755 index 00000000..dee53f40 Binary files /dev/null and b/homework/HW_05-08/HoroscopeGameMV/res/drawable-mdpi/ic_launcher.png differ diff --git a/homework/HW_05-08/HoroscopeGameMV/res/drawable-xhdpi/action_search.png b/homework/HW_05-08/HoroscopeGameMV/res/drawable-xhdpi/action_search.png new file mode 100755 index 00000000..3549f84d Binary files /dev/null and b/homework/HW_05-08/HoroscopeGameMV/res/drawable-xhdpi/action_search.png differ diff --git a/homework/HW_05-08/HoroscopeGameMV/res/drawable-xhdpi/drawer_shadow.9.png b/homework/HW_05-08/HoroscopeGameMV/res/drawable-xhdpi/drawer_shadow.9.png new file mode 100644 index 00000000..fa3d853e Binary files /dev/null and b/homework/HW_05-08/HoroscopeGameMV/res/drawable-xhdpi/drawer_shadow.9.png differ diff --git a/homework/HW_05-08/HoroscopeGameMV/res/drawable-xhdpi/ic_drawer.png b/homework/HW_05-08/HoroscopeGameMV/res/drawable-xhdpi/ic_drawer.png new file mode 100644 index 00000000..b9bc3d70 Binary files /dev/null and b/homework/HW_05-08/HoroscopeGameMV/res/drawable-xhdpi/ic_drawer.png differ diff --git a/homework/HW_05-08/HoroscopeGameMV/res/drawable-xhdpi/ic_launcher.png b/homework/HW_05-08/HoroscopeGameMV/res/drawable-xhdpi/ic_launcher.png new file mode 100755 index 00000000..d4e12153 Binary files /dev/null and b/homework/HW_05-08/HoroscopeGameMV/res/drawable-xhdpi/ic_launcher.png differ diff --git a/homework/HW_05-08/HoroscopeGameMV/res/drawable-xxhdpi/ic_launcher.png b/homework/HW_05-08/HoroscopeGameMV/res/drawable-xxhdpi/ic_launcher.png new file mode 100755 index 00000000..2cc3275b Binary files /dev/null and b/homework/HW_05-08/HoroscopeGameMV/res/drawable-xxhdpi/ic_launcher.png differ diff --git a/homework/HW_05-08/HoroscopeGameMV/res/drawable/earth.jpg b/homework/HW_05-08/HoroscopeGameMV/res/drawable/earth.jpg new file mode 100644 index 00000000..6cabbf4a Binary files /dev/null and b/homework/HW_05-08/HoroscopeGameMV/res/drawable/earth.jpg differ diff --git a/homework/HW_05-08/HoroscopeGameMV/res/drawable/jupiter.jpg b/homework/HW_05-08/HoroscopeGameMV/res/drawable/jupiter.jpg new file mode 100644 index 00000000..24e8eea3 Binary files /dev/null and b/homework/HW_05-08/HoroscopeGameMV/res/drawable/jupiter.jpg differ diff --git a/homework/HW_05-08/HoroscopeGameMV/res/drawable/mars.jpg b/homework/HW_05-08/HoroscopeGameMV/res/drawable/mars.jpg new file mode 100644 index 00000000..db253ef5 Binary files /dev/null and b/homework/HW_05-08/HoroscopeGameMV/res/drawable/mars.jpg differ diff --git a/homework/HW_05-08/HoroscopeGameMV/res/drawable/mercury.jpg b/homework/HW_05-08/HoroscopeGameMV/res/drawable/mercury.jpg new file mode 100644 index 00000000..531790b9 Binary files /dev/null and b/homework/HW_05-08/HoroscopeGameMV/res/drawable/mercury.jpg differ diff --git a/homework/HW_05-08/HoroscopeGameMV/res/drawable/neptune.jpg b/homework/HW_05-08/HoroscopeGameMV/res/drawable/neptune.jpg new file mode 100644 index 00000000..88467c5f Binary files /dev/null and b/homework/HW_05-08/HoroscopeGameMV/res/drawable/neptune.jpg differ diff --git a/homework/HW_05-08/HoroscopeGameMV/res/drawable/saturn.jpg b/homework/HW_05-08/HoroscopeGameMV/res/drawable/saturn.jpg new file mode 100644 index 00000000..8219d187 Binary files /dev/null and b/homework/HW_05-08/HoroscopeGameMV/res/drawable/saturn.jpg differ diff --git a/homework/HW_05-08/HoroscopeGameMV/res/drawable/uranus.jpg b/homework/HW_05-08/HoroscopeGameMV/res/drawable/uranus.jpg new file mode 100644 index 00000000..fa32e379 Binary files /dev/null and b/homework/HW_05-08/HoroscopeGameMV/res/drawable/uranus.jpg differ diff --git a/homework/HW_05-08/HoroscopeGameMV/res/drawable/venus.jpg b/homework/HW_05-08/HoroscopeGameMV/res/drawable/venus.jpg new file mode 100644 index 00000000..e04f0789 Binary files /dev/null and b/homework/HW_05-08/HoroscopeGameMV/res/drawable/venus.jpg differ diff --git a/homework/HW_05-08/HoroscopeGameMV/res/layout/activity_main.xml b/homework/HW_05-08/HoroscopeGameMV/res/layout/activity_main.xml new file mode 100755 index 00000000..f097cd00 --- /dev/null +++ b/homework/HW_05-08/HoroscopeGameMV/res/layout/activity_main.xml @@ -0,0 +1,47 @@ + + + + + + + + + + + + diff --git a/homework/HW_05-08/HoroscopeGameMV/res/layout/drawer_list_item.xml b/homework/HW_05-08/HoroscopeGameMV/res/layout/drawer_list_item.xml new file mode 100644 index 00000000..ab525754 --- /dev/null +++ b/homework/HW_05-08/HoroscopeGameMV/res/layout/drawer_list_item.xml @@ -0,0 +1,27 @@ + + + \ No newline at end of file diff --git a/homework/HW_05-08/HoroscopeGameMV/res/layout/fragment_planet.xml b/homework/HW_05-08/HoroscopeGameMV/res/layout/fragment_planet.xml new file mode 100644 index 00000000..4fe5bbe6 --- /dev/null +++ b/homework/HW_05-08/HoroscopeGameMV/res/layout/fragment_planet.xml @@ -0,0 +1,23 @@ + + + diff --git a/homework/HW_05-08/HoroscopeGameMV/res/menu/main.xml b/homework/HW_05-08/HoroscopeGameMV/res/menu/main.xml new file mode 100644 index 00000000..970c16a9 --- /dev/null +++ b/homework/HW_05-08/HoroscopeGameMV/res/menu/main.xml @@ -0,0 +1,22 @@ + + + + + \ No newline at end of file diff --git a/homework/HW_05-08/HoroscopeGameMV/res/values/strings.xml b/homework/HW_05-08/HoroscopeGameMV/res/values/strings.xml new file mode 100755 index 00000000..3112f407 --- /dev/null +++ b/homework/HW_05-08/HoroscopeGameMV/res/values/strings.xml @@ -0,0 +1,33 @@ + + + + Navigation Drawer Example + + Mercury + Venus + Earth + Mars + Jupiter + Saturn + Uranus + Neptune + + Open navigation drawer + Close navigation drawer + Web search + Sorry, there\'s no web browser available + diff --git a/homework/HW_05-08/HoroscopeGameMV/src/com/example/android/navigationdrawerexample/MainActivity.java b/homework/HW_05-08/HoroscopeGameMV/src/com/example/android/navigationdrawerexample/MainActivity.java new file mode 100755 index 00000000..70ffac3a --- /dev/null +++ b/homework/HW_05-08/HoroscopeGameMV/src/com/example/android/navigationdrawerexample/MainActivity.java @@ -0,0 +1,240 @@ +/* + * Copyright 2013 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.example.android.navigationdrawerexample; + +import java.util.Locale; + +import android.app.Activity; +import android.app.Fragment; +import android.app.FragmentManager; +import android.app.SearchManager; +import android.content.Intent; +import android.content.res.Configuration; +import android.os.Bundle; +import android.support.v4.app.ActionBarDrawerToggle; +import android.support.v4.view.GravityCompat; +import android.support.v4.widget.DrawerLayout; +import android.view.LayoutInflater; +import android.view.Menu; +import android.view.MenuInflater; +import android.view.MenuItem; +import android.view.View; +import android.view.ViewGroup; +import android.widget.AdapterView; +import android.widget.ArrayAdapter; +import android.widget.ImageView; +import android.widget.ListView; +import android.widget.Toast; + +/** + * This example illustrates a common usage of the DrawerLayout widget + * in the Android support library. + *

+ *

When a navigation (left) drawer is present, the host activity should detect presses of + * the action bar's Up affordance as a signal to open and close the navigation drawer. The + * ActionBarDrawerToggle facilitates this behavior. + * Items within the drawer should fall into one of two categories:

+ *

+ *

    + *
  • View switches. A view switch follows the same basic policies as + * list or tab navigation in that a view switch does not create navigation history. + * This pattern should only be used at the root activity of a task, leaving some form + * of Up navigation active for activities further down the navigation hierarchy.
  • + *
  • Selective Up. The drawer allows the user to choose an alternate + * parent for Up navigation. This allows a user to jump across an app's navigation + * hierarchy at will. The application should treat this as it treats Up navigation from + * a different task, replacing the current task stack using TaskStackBuilder or similar. + * This is the only form of navigation drawer that should be used outside of the root + * activity of a task.
  • + *
+ *

+ *

Right side drawers should be used for actions, not navigation. This follows the pattern + * established by the Action Bar that navigation should be to the left and actions to the right. + * An action should be an operation performed on the current contents of the window, + * for example enabling or disabling a data overlay on top of the current content.

+ */ +public class MainActivity extends Activity { + private DrawerLayout mDrawerLayout; + private ListView mDrawerList; + private ActionBarDrawerToggle mDrawerToggle; + + private CharSequence mDrawerTitle; + private CharSequence mTitle; + private String[] mPlanetTitles; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_main); + + mTitle = mDrawerTitle = getTitle(); + mPlanetTitles = getResources().getStringArray(R.array.planets_array); + mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout); + mDrawerList = (ListView) findViewById(R.id.left_drawer); + + // set a custom shadow that overlays the main content when the drawer opens + mDrawerLayout.setDrawerShadow(R.drawable.drawer_shadow, GravityCompat.START); + // set up the drawer's list view with items and click listener + mDrawerList.setAdapter(new ArrayAdapter(this, + R.layout.drawer_list_item, mPlanetTitles)); + mDrawerList.setOnItemClickListener(new DrawerItemClickListener()); + + // enable ActionBar app icon to behave as action to toggle nav drawer + getActionBar().setDisplayHomeAsUpEnabled(true); + getActionBar().setHomeButtonEnabled(true); + + // ActionBarDrawerToggle ties together the the proper interactions + // between the sliding drawer and the action bar app icon + mDrawerToggle = new ActionBarDrawerToggle( + this, /* host Activity */ + mDrawerLayout, /* DrawerLayout object */ + R.drawable.ic_drawer, /* nav drawer image to replace 'Up' caret */ + R.string.drawer_open, /* "open drawer" description for accessibility */ + R.string.drawer_close /* "close drawer" description for accessibility */ + ) { + public void onDrawerClosed(View view) { + getActionBar().setTitle(mTitle); + invalidateOptionsMenu(); // creates call to onPrepareOptionsMenu() + } + + public void onDrawerOpened(View drawerView) { + getActionBar().setTitle(mDrawerTitle); + invalidateOptionsMenu(); // creates call to onPrepareOptionsMenu() + } + }; + mDrawerLayout.setDrawerListener(mDrawerToggle); + + if (savedInstanceState == null) { + selectItem(0); + } + } + + @Override + public boolean onCreateOptionsMenu(Menu menu) { + MenuInflater inflater = getMenuInflater(); + inflater.inflate(R.menu.main, menu); + return super.onCreateOptionsMenu(menu); + } + + /* Called whenever we call invalidateOptionsMenu() */ + @Override + public boolean onPrepareOptionsMenu(Menu menu) { + // If the nav drawer is open, hide action items related to the content view + boolean drawerOpen = mDrawerLayout.isDrawerOpen(mDrawerList); + menu.findItem(R.id.action_websearch).setVisible(!drawerOpen); + return super.onPrepareOptionsMenu(menu); + } + + @Override + public boolean onOptionsItemSelected(MenuItem item) { + // The action bar home/up action should open or close the drawer. + // ActionBarDrawerToggle will take care of this. + if (mDrawerToggle.onOptionsItemSelected(item)) { + return true; + } + // Handle action buttons + switch(item.getItemId()) { + case R.id.action_websearch: + // create intent to perform web search for this planet + Intent intent = new Intent(Intent.ACTION_WEB_SEARCH); + intent.putExtra(SearchManager.QUERY, getActionBar().getTitle()); + // catch event that there's no activity to handle intent + if (intent.resolveActivity(getPackageManager()) != null) { + startActivity(intent); + } else { + Toast.makeText(this, R.string.app_not_available, Toast.LENGTH_LONG).show(); + } + return true; + default: + return super.onOptionsItemSelected(item); + } + } + + /* The click listner for ListView in the navigation drawer */ + private class DrawerItemClickListener implements ListView.OnItemClickListener { + @Override + public void onItemClick(AdapterView parent, View view, int position, long id) { + selectItem(position); + } + } + + private void selectItem(int position) { + // update the main content by replacing fragments + Fragment fragment = new PlanetFragment(); + Bundle args = new Bundle(); + args.putInt(PlanetFragment.ARG_PLANET_NUMBER, position); + fragment.setArguments(args); + + FragmentManager fragmentManager = getFragmentManager(); + fragmentManager.beginTransaction().replace(R.id.content_frame, fragment).commit(); + + // update selected item and title, then close the drawer + mDrawerList.setItemChecked(position, true); + setTitle(mPlanetTitles[position]); + mDrawerLayout.closeDrawer(mDrawerList); + } + + @Override + public void setTitle(CharSequence title) { + mTitle = title; + getActionBar().setTitle(mTitle); + } + + /** + * When using the ActionBarDrawerToggle, you must call it during + * onPostCreate() and onConfigurationChanged()... + */ + + @Override + protected void onPostCreate(Bundle savedInstanceState) { + super.onPostCreate(savedInstanceState); + // Sync the toggle state after onRestoreInstanceState has occurred. + mDrawerToggle.syncState(); + } + + @Override + public void onConfigurationChanged(Configuration newConfig) { + super.onConfigurationChanged(newConfig); + // Pass any configuration change to the drawer toggls + mDrawerToggle.onConfigurationChanged(newConfig); + } + + /** + * Fragment that appears in the "content_frame", shows a planet + */ + public static class PlanetFragment extends Fragment { + public static final String ARG_PLANET_NUMBER = "planet_number"; + + public PlanetFragment() { + // Empty constructor required for fragment subclasses + } + + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, + Bundle savedInstanceState) { + View rootView = inflater.inflate(R.layout.fragment_planet, container, false); + int i = getArguments().getInt(ARG_PLANET_NUMBER); + String planet = getResources().getStringArray(R.array.planets_array)[i]; + + int imageId = getResources().getIdentifier(planet.toLowerCase(Locale.getDefault()), + "drawable", getActivity().getPackageName()); + ((ImageView) rootView.findViewById(R.id.image)).setImageResource(imageId); + getActivity().setTitle(planet); + return rootView; + } + } +} \ No newline at end of file diff --git a/homework/homework.iml b/homework/homework.iml new file mode 100644 index 00000000..d5c07432 --- /dev/null +++ b/homework/homework.iml @@ -0,0 +1,12 @@ + + + + + + + + + + + +