├── README.md
├── events
├── hosts.md
└── onboarding.md
├── getting_started_android.md
├── java_android_guide.md
└── workshops
├── NowYouSeeMe
├── .gitignore
├── .idea
│ ├── compiler.xml
│ ├── copyright
│ │ └── profiles_settings.xml
│ ├── dictionaries
│ │ └── ijeomaeze.xml
│ ├── gradle.xml
│ ├── misc.xml
│ ├── modules.xml
│ └── runConfigurations.xml
├── app
│ ├── .gitignore
│ ├── build.gradle
│ ├── proguard-rules.pro
│ └── src
│ │ ├── androidTest
│ │ └── java
│ │ │ └── com
│ │ │ └── example
│ │ │ └── ijeomaeze
│ │ │ └── nowyouseeme
│ │ │ └── ExampleInstrumentedTest.java
│ │ ├── main
│ │ ├── AndroidManifest.xml
│ │ ├── java
│ │ │ └── com
│ │ │ │ └── example
│ │ │ │ └── ijeomaeze
│ │ │ │ └── nowyouseeme
│ │ │ │ └── MainActivity.java
│ │ └── res
│ │ │ ├── drawable
│ │ │ ├── star.jpg
│ │ │ └── startwo.png
│ │ │ ├── layout
│ │ │ └── activity_main.xml
│ │ │ ├── mipmap-hdpi
│ │ │ ├── ic_launcher.png
│ │ │ └── ic_launcher_round.png
│ │ │ ├── mipmap-mdpi
│ │ │ ├── ic_launcher.png
│ │ │ └── ic_launcher_round.png
│ │ │ ├── mipmap-xhdpi
│ │ │ ├── ic_launcher.png
│ │ │ └── ic_launcher_round.png
│ │ │ ├── mipmap-xxhdpi
│ │ │ ├── ic_launcher.png
│ │ │ └── ic_launcher_round.png
│ │ │ ├── mipmap-xxxhdpi
│ │ │ ├── ic_launcher.png
│ │ │ └── ic_launcher_round.png
│ │ │ └── values
│ │ │ ├── colors.xml
│ │ │ ├── strings.xml
│ │ │ └── styles.xml
│ │ └── test
│ │ └── java
│ │ └── com
│ │ └── example
│ │ └── ijeomaeze
│ │ └── nowyouseeme
│ │ └── ExampleUnitTest.java
├── build.gradle
├── gradle.properties
├── gradle
│ └── wrapper
│ │ ├── gradle-wrapper.jar
│ │ └── gradle-wrapper.properties
├── gradlew
├── gradlew.bat
└── settings.gradle
└── Workshops_Overview.md
/README.md:
--------------------------------------------------------------------------------
1 | # Welcome to Android Labs
2 |
3 | ## What are Android Labs?
4 |
5 | Android Labs is a community within Women Who Code that focuses primarily on
6 | learning how to program on the android mobile application development platform and strengthening skills in java.
7 |
8 | **Feel free to request future meetup topics in womenwhocodedc.slack.com
9 |
10 | ## Android Beginner Workshops
11 |
12 | ### Workshop 1 : Getting Setup with Android Studio
13 |
14 | In this workshop we spent time installing Java and Android Studio.
15 | In order to develop Android applications you must have the Java JDK and
16 | Android Studio installed. Please find installation guide below for references
17 |
18 | [Windows Installation Guide](https://s3.amazonaws.com/content.udacity-data.com/course/ud853/Android+Studio+Setup+Guide+for+Windows+(6).pdf)
19 | [Mac Installation Guide](https://s3.amazonaws.com/content.udacity-data.com/course/ud853/Android+Studio+Setup+Guide+for+Mac.pdf)
20 | [Linux Instalaltion Guide](https://www.lifewire.com/install-android-studio-for-linux-4056779)
21 |
22 | ### Workshop 2 : Introduction to Activities and Layouts
23 |
24 | This workshop will walk us through the basic building blocks of an Android application.
25 |
26 | [Workshop 2 Presentation](https://docs.google.com/presentation/d/1MHBjX8lWRefbu3SEUxuBjiRgvUhheGPw-GrwHivMuVs/edit?usp=sharing)
27 |
28 |
29 |
--------------------------------------------------------------------------------
/events/hosts.md:
--------------------------------------------------------------------------------
1 | #Hosts
2 |
3 | Information about hosts (point of contact, contact info, address, etc.) will go here when it becomes available/necessary.
4 |
5 | * MLK Library
6 | * Check with Su on WWCDC Slack to make sure that the reservation has been made
--------------------------------------------------------------------------------
/events/onboarding.md:
--------------------------------------------------------------------------------
1 | # Java/Android Lab Lead Onboarding
2 |
3 | ## Steps For a Prospective Lead
4 | * Welcome email sent to prospective lead (usually by Education Director)
5 | * Welcome, ____________! I'll start by sharing a couple of our resources with you so that you can get a sense of our structure. The [WWCDC Java/Android Community](https://github.com/womenwhocodedc/android-community) repository is where we store important public facing documents, like resource lists and guides for first timers. The [WWCDC Java/Android Leadership Resources](https://github.com/womenwhocodedc/organization/blob/master/leadership-resources/Education/Android/README.md) is a README that goes over some of the logistics of hosting a meetup and retaining attendees. [WWCDC Java/Android Onboarding](https://github.com/womenwhocodedc/android-community/blob/master/events/onboarding.md) lists some of the steps of becoming a lead, as well as a checklist of what we need to make sure you get access to. If that all looks good to you, let me know and we'll start the ball rolling by adding you to the [#java-android_leads]() channel on our Slack group so that you can start coordinating with other leads.
6 | * Invite prospective lead to [#java-android_leads]() on Slack to start coordination with other leads
7 | * For the prospective lead's first few meetups, they should shadow a current lead in at least the following ways:
8 | * creating the event on Meetup.com
9 | * leading the meetup
10 | * greeting attendees
11 | * helping with any code alongs
12 | * giving talks, especially regular talks like beginner's night
13 | * checking in with attendees after the meetup so they feel connected and involved
14 | * Once the prospective lead is comfortable, they should occasionally take the lead on the above tasks (either for the month or an individual meetup), and they should be given access to the second set of bullet points in the **Access** section below
15 | * More experienced leads should encourage this as it makes newer volunteers feel that they are valued and that they're putting their free time to good use volunteering for WWCDC
16 | * Experienced leads can and should still take the lead sometimes, but all leads should share responsibilities at this point
17 |
18 | ## Access
19 | * First
20 | * Slack - grant access to the following channels
21 | * All Leads
22 | * Language Leads
23 | * Java/Android Leads
24 | * Hosts
25 | * Later, once committment is confirmed:
26 | * Make admin on Slack
27 | * Google Drive
28 | * Welcome email to hosts for logistics
29 | * Add as attendee for Google Calendar events
30 | * Make an organizer on Meetup
31 | * Add to this repo's team
32 |
33 | ## Publicity
34 | Announce on:
35 | * Twitter (have WWCDC tweet about it)
36 | * Slack
37 | * In Person
38 | * Blog Post on Medium?
39 |
40 | ## Operations
41 | * Always CC the women who code dc email address when corresponding with hosts (for Su)
42 | * Email the host a few days before + the day of the event
43 | * Double check on meetup comment
44 | * Email number of RSVPs/names for security
45 | * Day of the event
46 | * Post a comment in meetup for everybody about logistics (who/how to contact if you can't get in, any slides you have prepared, etc.)
47 | * Important Documents
48 | * [Getting Started Android](https://github.com/womenwhocodedc/android-community/blob/master/getting_started_android.md)
49 | * [Java Resources](https://github.com/womenwhocodedc/android-community/blob/master/java_android_guide.md)
50 |
--------------------------------------------------------------------------------
/getting_started_android.md:
--------------------------------------------------------------------------------
1 | ## Welcome to the Android Getting Started Guide ##
2 |
3 | **Table of Contents**
4 | * What is Android?
5 | * What is Android used for?
6 | * Which tools do I need?
7 | * Do I need a phone to make Android apps?
8 | * What should I do first? (Install Java)
9 | * Now what? (Install Android Studio)
10 | * Install Necessary Packages
11 | * Setup your phone/tablet
12 | * Java Resources
13 | * Get Help
14 | * Keep in Touch
15 |
16 | ### What is Android? ###
17 |
18 | Android is a software stack for mobile devices that includes an operating system, middleware, and key applications. The Android Software Development Kit (SDK) provides the tools and Application Programming Interfaces (APIs) necessary to begin developing applications on the Android platform using the Java programming language. You should know the basics of Java programming before starting your Android journey. A good course to learn enough Java to prepare for Android programming is Udemy’s [Become an Android Developer From Scratch](https://www.udemy.com/become-an-android-developer-from-scratch/) course. More Java resources can be found at the end of this document.
19 |
20 | ### What is Android used for? ###
21 |
22 | Android is used for making applications (apps) that run on Android devices. This includes Android smartphones, smartwatches (Android Wear), and anything else that runs on the [Android operating system](https://developer.android.com/about/index.html) (OS) like [Andorid Wear](https://developer.android.com/wear/index.html), [Android TV](https://developer.android.com/tv/index.html), and [Android Auto](https://developer.android.com/auto/index.html). Once developed, Android applications can be packaged easily and distributed or sold either through a store such as Google Play or the Amazon Appstore.
23 |
24 | ### Which tools do I need? ###
25 |
26 | You can write Android programs on PCs, Macs, and Linux machines. This is unlike writing apps for iOS devices which can only be done on Macs legally. You’ll need a piece of software called an IDE (Integrated Development Environment). Android Studio is now the official IDE for Android, which we recommend. It’s a free download and works on all platforms. Although there are other IDEs available to use with Android, such as Eclipse and IntelliJ, we are hoping to steer everyone towards Android Studio as that is the platform fully supported by Google, the developer of Android, moving forward. You will also need both the Java Development Kit (JDK) and the Android SDK. Note: the JDK is different than the JRE (Java Runtime Environment) which allows people to run Java programs. We need the JDK to be able to write Java programs.
27 |
28 | ### Do I need an Android phone/tablet in order to make an app? ###
29 |
30 | No! Though it sure is fun to put the apps you make on your own device. The Android SDK includes a mobile device emulator — a virtual mobile device that runs on your computer. The emulator lets you develop and test Android applications without using a physical device.
31 |
32 | ### I'm ready to get started. What should I do first? ###
33 |
34 | Check to see that you have JDK 7 or JDK 8 on your computer.
35 |
36 | * **Windows**: visit [https://www.java.com/verify/](https://www.java.com/verify/) to check to see if the JDK is already installed on your machine. Remember this is the JDK, not the JRE.
37 |
38 | * **Mac/Linux**: open a terminal window and type "which javac". If something appears, then you have a version of the Java JDK on your machine. If you’d like to know which version of Java you have, type “javac -version”.
39 |
40 | * If you don’t have Java on your machine, install the JDK by visiting [Oracle’s website](http://www.oracle.com/technetwork/java/javase/downloads/index.html) and downloading the most recent version of the Java SE 7 that is appropriate for your machine.
41 |
42 | ### Okay, I’ve got Java. Now what? ###
43 |
44 | Now it’s time to download the most recent version of Android Studio, the official Android IDE. Visit [http://developer.android.com/sdk/index.html](http://developer.android.com/sdk/index.html) to get the software appropriate for your operating system.
45 |
46 | **To set up Android Studio on Windows:**
47 |
48 | * Launch the .exe file you just downloaded.
49 |
50 | * Follow the setup wizard to install Android Studio and any necessary SDK tools. (If you are new to Android Studio, you can’t go wrong with installing with default settings - you can always add additional packages later.)
51 |
52 | **To set up Android Studio on Mac OSX:**
53 |
54 | * Launch the .dmg file you just downloaded.
55 |
56 | * Drag and drop Android Studio into the Applications folder.
57 |
58 | * Open Android Studio and follow the setup wizard to install any necessary SDK tools.
59 |
60 | * Depending on your security settings, when you attempt to open Android Studio, you might see a warning that says the package is damaged and should be moved to the trash. If this happens, go to System Preferences > Security & Privacy and under Allow applications downloaded from, select Anywhere. Then open Android Studio again.
61 |
62 | If you need to use the Android SDK tools from a command line, you can access them at: /Users//Library/Android/sdk/.
63 |
64 | **To set up Android Studio on Linux:**
65 |
66 | * Unpack the downloaded ZIP file into an appropriate location for your applications.
67 |
68 | * To launch Android Studio, navigate to the android-studio/bin/ directory in a terminal and execute studio.sh.
69 |
70 | * You may want to add android-studio/bin/ to your PATH environmental variable so that you can start Android Studio from any directory. (Ex: `export PATH=$PATH:~/your_android_directory/android-studio/bin`) [For more info, see this guide.](http://www.codeproject.com/Articles/802813/Setting-Up-Android-Development-Ubuntu)
71 |
72 | * Follow the setup wizard to install any necessary SDK tools.
73 |
74 | **Ensure that you have the most recent version of Android Studio:**
75 |
76 | After launching Android Studio, select the check for updates option in the toolbar.
77 |
78 | ### Wait, there's more! Time to install packages. ###
79 |
80 | Android Studio doesn't work right out of the box, so we will have to install some additional packages in order to make it run properly. Here are the ones we recommend; you can always add additional packages or delete unnecessary ones later.
81 |
82 | * Open Android Studio.
83 | * On the Welcome menu, click on _Configure_.
84 | * Select _SDK Manager_.
85 | * In the window that opens, select the following packages:
86 | * Tools - this should select all items in that category.
87 | * Android 4.4.2 (API 19)
88 | * In the Extras category: Android Support Repository, Android Support Library, Google Repository, and Google USB Driver
89 | * Select _Install Packages_.
90 | * Accept License Agreement.
91 | * Grab your favorite beverage or book to read; this is going to take a while.
92 |
93 | ### Let’s take the time to set up your phone. ###
94 |
95 | Now is a good time as any to set up your phone/tablet if you have one. emember, you can build and test many apps with just the built-in emulator, so the connected phone/tablet is just a bonus. You have to do four things to enable testing of your apps on your device:
96 |
97 | * Ensure your phone will allow the installation of apps from unknown sources (the unknown source is you rather than apps from the Play Store.) Try looking under Settings → Security and make sure the checkbox for _Unknown Sources_ is checked.
98 |
99 | * Turn on _Developer Options_ under Settings if that option isn't currently available. To do this, go to About Phone, find the build number, and click on it several times until it unlocks Developer Options.
100 |
101 | * Allow _USB debugging_. Try looking under Settings → Developer Options and check the USB debugging box.
102 |
103 | * Connect your Android phone to your computer via a cable.
104 |
105 |
106 |
107 |
108 | ### Java Resources ###
109 |
110 | * Courses
111 |
112 | * [Java for Complete Beginners (Udemy)](https://www.udemy.com/java-tutorial/)
113 | * [Stanford University’s Introduction to Java](http://see.stanford.edu/see/courseinfo.aspx?coll=824a47e1-135f-4508-a5aa-866adcae1111)
114 | * [A Bachelor’s Level Computer Science Curriculum](http://blog.agupieware.com/2014/05/online-learning-bachelors-level.html)
115 | * [Intro to Programming Udacity: Java](https://www.udacity.com/course/cs046)
116 | * [MIT’s Introduction to Programming in Java](http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-092-introduction-to-programming-in-java-january-iap-2010/)
117 | * [Coursera Introduction to Android Programming](https://class.coursera.org/android-001/lecture)
118 | * [Intro to Programming](http://www.saylor.org/courses/cs101/)
119 | * [Virtual Pair Programmers](https://www.virtualpairprogrammers.com/training-courses/Java-Fundamentals-training.html)
120 |
121 |
122 | ### Where to go for help ###
123 |
124 | * **[Google] (http://www.developer.android.com)** - Android Studio just came out of Beta in the fall, so if you need help with Android Studio specifically, make sure you check the dates of the search results and only use recommendations/answers from the last six months. Prior to this, Eclipse was a popular IDE choice, (and will probably remain widely used for the near future) so some tutorials may give you Eclipse directions.
125 | * Come to **[Android Labs](http://www.meetup.com/Women-Who-Code-DC/)**. You will get the most out of our hack nights if you follow one of our suggested resources. These are the classes/books/resources that our members know the best and for which they can offer the most support. The goal of the hack night is to help you learn the skills that will assist you with programming problems you may see in your workplace; not to actually assist you with work related to your job. Asking problems specific to work projects derails the productivity of everyone at the event and may result in you not being included in future hack nights.
126 |
127 |
128 | ### Keep in touch! ###
129 | * [Tweet](https://twitter.com/WomenWhoCodeDC) us.
130 | * Email us - WWCodeDC@gmail.com
131 | * Check us out on [Github](https://github.com/womenwhocodedc).
132 | * Visit our [website](http://womenwhocodedc.github.io/).
133 | * Join our [Slack](https://docs.google.com/forms/d/1BXxIJuCawYt3pEzN7-6CgdT6XrhvG0KYQpOqdmv98DY/viewform) group.
134 |
--------------------------------------------------------------------------------
/java_android_guide.md:
--------------------------------------------------------------------------------
1 | # Women Who Code DC Java Resources
2 |
3 |
4 | ### Suggested Learning Tools
5 | You will get the most out of our meetups if you follow one of our suggested resources. These are the classes/books/resources that our members know the best and can offer the most support for.
6 |
7 |
8 | **Beginner**
9 |
10 | * [Become an Android Developer from Scratch](https://www.udemy.com/become-an-android-developer-from-scratch/?dtcode=TPTbIQE29HVW)
11 | * [Head First Java](http://www.amazon.com/Head-First-Java-2nd-Edition/dp/0596009208/ref=sr_1_1?ie=UTF8&qid=1400022857&sr=8-1&keywords=head+first+java) (no previous coding experience)
12 |
13 | **Intermediate** (you need to have previous java experience)
14 |
15 | * [Coursera Android Specialization](https://www.coursera.org/specialization/mobilecloudcomputing2/36?utm_medium=listingPage)
16 |
17 | * [CodePath](http://guides.codepath.com/android)
18 |
19 |
20 | ### Alternate Resources
21 |
22 | We have also compiled a lot of resources that may or may not be useful for learning Java and/or Android. Some members may have experience with the resources - but we cannot guarantee assistance at our meetups. Members will get priority help if they have questions related to the above resources.
23 |
24 | **TEACH YOURSELF CURRICULUM**
25 | * [A Bachelor’s Level Computer Science Curriculum](http://blog.agupieware.com/2014/05/online-learning-bachelors-level.html)
26 | * [Introduction to Computer Science 1 Curriculum](https://learn.saylor.org/course/view.php?id=6)
27 |
28 | **CLASSROOM STYLE**
29 | * [MIT Introduction to Programming in Java](http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-092-introduction-to-programming-in-java-january-iap-2010/)
30 | * [Coursera Introduction to Android Programming](https://class.coursera.org/android-001/lecture)
31 |
32 | **CHALLENGE YOURSELF IN JAVA**
33 | * [Hackerrank](https://www.hackerrank.com/domains/java/java-introduction/difficulty/all/page/1)
34 | * [Programming By Doing](https://programmingbydoing.com/)
35 |
36 | **ONLINE COURSES AND TUTORIALS**
37 | * [Java for Complete Beginners (Udemy)](https://www.udemy.com/java-tutorial/)
38 | * [Saylor: Java Fundamentals](https://learn.saylor.org/mod/page/view.php?id=36)
39 | * [Virtual Pair Programmers](https://www.virtualpairprogrammers.com/training-courses/Java-Fundamentals-training.html)
40 | * [Coding Bat Java Exercises](http://codingbat.com/java)
41 | * [Coderbyte Java Exercises](http://www.coderbyte.com/CodingArea/Challenges/)
42 | * [Tutorialspoint Java Guides](http://www.tutorialspoint.com/java/)
43 |
44 |
45 | **JAVA BOOKS**
46 | * [Head First Java](http://www.amazon.com/Head-First-Java-2nd-Edition/dp/0596009208/ref=sr_1_1?ie=UTF8&qid=1400022857&sr=8-1&keywords=head+first+java)
47 | * [Java: How to Program, 9th Edition (Deitel)](http://www.amazon.com/Java-How-Program-Edition-Deitel/dp/0132575663)
48 | * [Effective Java](http://www.amazon.com/Effective-Java-Edition-Joshua-Bloch/dp/0321356683)
49 | * [Introduction to Programming in Java](http://introcs.cs.princeton.edu/java/home/)
50 | * [Free Computer Books in Java](http://freecomputerbooks.com/search.html?cx=partner-pub-5976068913745703%3A4325807428&cof=FORID%3A10&ie=UTF-8&q=java+programming&sitesearch=freecomputerbooks.com&keywords=java+programming)
51 |
52 | **JAVA REFERENCESS**
53 |
54 | * [Java Install - Windows](https://docs.google.com/document/d/1ta3rGU8JUHxvqEFFuGaopkqsaZZgbpHjF-6mhSxBJy8/edit?usp=sharing)
55 | * [Java SDK](http://www.oracle.com/technetwork/java/javase/downloads/index.html)
56 |
57 | **ANDROID COURSES**
58 |
59 | * [Coursera Sequence](https://www.coursera.org/specialization/mobilecloudcomputing2/36?utm_medium=listingPage)
60 | * [How to Program for Beginners](http://www.linux.com/learn/docs/683628-android-programming-for-beginners-part-1)
61 | * [Beginner Coursera](https://www.coursera.org/course/androidapps101)
62 | * [Lyndia.com](http://www.lynda.com/Android-tutorials/Building-Note-Taking-App-Android/122466-2.html)
63 | * [University of Reading Beginner Tutorial](https://www.futurelearn.com/courses/begin-programming)
64 |
65 | **ANDROID BOOKS**
66 |
67 | * [Big Nerd Ranch](http://www.bignerdranch.com/we-write/android-programming.html)
68 |
69 | **ANDROID LINKS**
70 |
71 | * [Android Website](http://developer.android.com/about/index.html)
72 | * [Android Java](http://developer.android.com/sdk/index.html)
73 | * [History of Android](http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/)
74 |
75 | **BOOTCAMPS**
76 |
77 | * [8 Week Evening Code Path Bootcamp](https://codepath.com/androidbootcamp)
78 | * [1 Week Big Nerd Ranch Boocamp](https://training.bignerdranch.com/classes/android-bootcamp)
79 |
--------------------------------------------------------------------------------
/workshops/NowYouSeeMe/.gitignore:
--------------------------------------------------------------------------------
1 | *.iml
2 | .gradle
3 | /local.properties
4 | /.idea/workspace.xml
5 | /.idea/libraries
6 | .DS_Store
7 | /build
8 | /captures
9 | .externalNativeBuild
10 |
--------------------------------------------------------------------------------
/workshops/NowYouSeeMe/.idea/compiler.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/workshops/NowYouSeeMe/.idea/copyright/profiles_settings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/workshops/NowYouSeeMe/.idea/dictionaries/ijeomaeze.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/workshops/NowYouSeeMe/.idea/gradle.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
17 |
18 |
--------------------------------------------------------------------------------
/workshops/NowYouSeeMe/.idea/misc.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |