android udacity study group 1

43
GOOGLE’S MAL STUDY GROUP 1 ALY OSAMA

Upload: aly-osama

Post on 25-Jan-2017

158 views

Category:

Education


0 download

TRANSCRIPT

Page 1: Android Udacity Study group 1

G O O G L E ’SM A L

S T U D Y G R O U P 1

A LY O S A M A

Page 2: Android Udacity Study group 1

AGENDA

1. Introduction and attendance ( 10 Minutes )

2. Rules ( 5 Minutes )

3. Ice Breaking ( 15 Minutes )

4. Quick Review of lesson Content ( 30 Minutes )

5. Discussion of Materials and Issues ( 30 Minutes )

6. Event of the week ( 30 Minutes )

7. Simple Project ( 60 Minutes )

8. Sharing Experience ( 60 Minutes )

Page 3: Android Udacity Study group 1

I N T R O D U C T I O N

Page 4: Android Udacity Study group 1

InstructorAly Osama

Software Engineer-

Ain Shams University

Page 5: Android Udacity Study group 1
Page 6: Android Udacity Study group 1

R U L E S

Page 7: Android Udacity Study group 1

QUESTIONS

• If you have any question

1. Google it

2. Post on forum

3. Ask Udacity Team

Page 8: Android Udacity Study group 1

PENALTIES

• 5 minutes late ( 2 EGP )

• 10 Minutes late ( 5 EGP )

• 15 Minutes late ( 10 EGP )

• 20 Minutes late ( 20 EGP )

Page 9: Android Udacity Study group 1

POINTS POLICY

–Ask a Question SG

( 1+ Point )

–Ask a question on the forum

( 5+ Point )

–Answer a Question SG

( 10+ Points )

–Answer a question on the forum

( 15 + Points )

– Share a good idea

( 20+ Points )

Page 10: Android Udacity Study group 1

REWARD

Page 11: Android Udacity Study group 1

I C E B R E A K I N G

Page 12: Android Udacity Study group 1
Page 13: Android Udacity Study group 1
Page 14: Android Udacity Study group 1

Q U I C K R E V I E W O F L E S S O N C O N T E N T

Page 15: Android Udacity Study group 1

WEEK 1: CREATE PROJECT SUNSHINE

• Lesson 1: Create Project Sunshine with a Simple UI (5-8 hrs)

• Starting by installing Android Studio, you’ll create your first project with a simple list-based

user interface and built and deploy it to virtual and actual devices. You’ll also discover what

makes mobile - and Android in particular - a unique environment for app development.

• Android Studio, Gradle, and debugging tools

• User Interface and Layout managers

• ListViews and Adapters

Page 17: Android Udacity Study group 1

WEEK 1: CREATE PROJECT SUNSHINE

https://www.udacity.com/course/viewer#!/c-ud853/l-1395568821

Page 18: Android Udacity Study group 1

WEEK1: API LEVEL CLARIFICATIONS

https://www.udacity.com/course/viewer#!/c-ud853/l-1395568821

Page 19: Android Udacity Study group 1

WEEK1: API LEVEL CLARIFICATIONS

Udacity recommends API 10

In your final projects, I recommend API 15 and above. However, to get Sunshine app

done, stick with API 10 so you can continue to follow/leverage solutions provided

https://www.udacity.com/course/viewer#!/c-ud853/l-1395568821

Page 20: Android Udacity Study group 1

WEEK1: ACTIVITIES & FRAGMENTS

Wireframest

res/layout (default = 2 screens)

res/layout-sw600dp(sw=smallestwidth, 7in tablet=600dp)

Page 21: Android Udacity Study group 1

WEEK1: ACTIVITIES & FRAGMENTS

<fragment xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:id="@+id/fragment_forecast"android:name="com.example.android.sunshine.app.ForecastFragment"android:layout_width="match_parent"android:layout_height="match_parent"tools:context="com.example.android.sunshine.app.ForecastFragment"tools:layout="@android:layout/list_content"

/>layout/activity_main.xml

@Overrideprotected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);if (findViewById(R.id.weather_detail_container) != null) {

mTwoPane = true; if (savedInstanceState == null) {getSupportFragmentManager().beginTransaction()

.replace(R.id.weather_detail_container, new DetailFragment())

.commit();}

} else { mTwoPane = false;}

ForecastFragment forecastFragment = ((ForecastFragment)getSupportFragmentManager().findFragmentById(R.id.fragment_forecast));

forecastFragment.setUseTodayLayout(!mTwoPane);

app/MainActivity.java

https://github.com/udacity/Sunshine/tree/6.10-update-map-intent

Page 22: Android Udacity Study group 1

WEEK1: ACTIVITIES & FRAGMENTS

https://github.com/udacity/Sunshine/tree/6.10-update-map-intent

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:baselineAligned="false"android:divider="?android:attr/dividerHorizontal"android:orientation="horizontal"tools:context="com.example.android.sunshine.app.MainActivity">

<!-- This layout is a two-pane layout for the Items master/detail flow. --><fragment

android:id="@+id/fragment_forecast"android:name="com.example.android.sunshine.app.ForecastFragment"android:layout_width="0dp"android:layout_height="match_parent"android:layout_weight="2"tools:layout="@android:layout/list_content" />

<FrameLayoutandroid:id="@+id/weather_detail_container"android:layout_width="0dp"android:layout_height="match_parent"android:layout_weight="4" />

</LinearLayout>

layout-sw600dp/activity_main.xml

Page 23: Android Udacity Study group 1

WEEK1: RESPONSIVE LAYOUTS

http://developer.android.com/guide/topics/ui/declaring-layout.html#CommonLayouts

Page 24: Android Udacity Study group 1

WEEK1: LAYOUTS & VIEWGROUPS

http://developer.android.com/guide/topics/ui/declaring-layout.html#layout-params

Page 25: Android Udacity Study group 1

WEEK1: ADAPTERS FOR DYNAMIC LAYOUTS

http://developer.android.com/guide/topics/ui/declaring-layout.html#AdapterViews

Page 26: Android Udacity Study group 1

WEEK1: BINDING ADAPTER TO VIEW

https://www.udacity.com/course/viewer#!/c-ud853/l-1395568821/m-1604029757

Page 27: Android Udacity Study group 1

WEEK1: BINDING ADAPTER TO VIEW

http://developer.android.com/guide/topics/ui/declaring-layout.html#FillingTheLayout

Page 28: Android Udacity Study group 1

D I S C U S S I O N O F M AT E R I A L S A N D I S S U E S

Page 29: Android Udacity Study group 1

WEEK 1: QUESTIONS?

https://www.udacity.com/course/viewer#!/c-ud853/l-1395568821

● Welcome to Developing Android Apps (1:04)

● Introducing your instructors (1:59)

● Are You Ready for this course? (0:09)

● Create Project Sunshine (1:16)

● Course Goals and Prerequisites (1:53)

● Introducing More Sunshine (0:24)

● Installing Android Studio (0:56)

● Launching on a Device (1:19)

● Create a New Android Studio Project (1:34)

● Select a Min and Target SDK (2:11)

● Select a Target SDK (0:12) (Solution)

● Finish Creating a New Project (3:16)

Page 30: Android Udacity Study group 1

WEEK 1: QUESTIONS?

https://www.udacity.com/course/viewer#!/c-ud853/l-1395568821

• Install HAXM (0:53)

• Launching Sunshine and Creating an AVD (2:09)

• Android Software Stack and Gradle (2:28)

• Debugging with a Physical Device (1:01)

• Start to build the app (0:16)

• Create a User Interface (2:44)

• UI Element Quiz (0:32)

• Add List Item XML (0:35) (Solution)

• Introducing Responsive Design (0:25)

• Why Absolute Layout is Evil (1:24)

• Responsive Design Thinking (0:47)

• Layout Managers (1:02)

Page 31: Android Udacity Study group 1

WEEK 1: QUESTIONS?

https://www.udacity.com/course/viewer#!/c-ud853/l-1395568821

● ScrollViews vs. ListViews (0:51) (Task) (Solution)

● ListView + Recycling (1:40)

● Add ListView to layout (0:55) (Task) (Solution)

● Create some fake data (0:27) (Task) (Solution)

● Adapters (2:20)

● Initialize Adapter (1:44) (Task) (Solution)

● Finding Views with findViewById() (2:08) (Task)

(Solution)

● Lesson 1 Recap (0:38)

● (Storytime) Android Platform (2:49)

Page 32: Android Udacity Study group 1

E V E N T O F T H E W E E K

Page 33: Android Udacity Study group 1

TOPICS

• Object Oriented programming with Java

• Design Patterns

• Git

Page 34: Android Udacity Study group 1

OOP

Page 35: Android Udacity Study group 1

DESIGN

PATTERNS

https://www.raywenderlich.com/109843/common-design-patterns-for-android

Page 36: Android Udacity Study group 1

GIT

Page 37: Android Udacity Study group 1

Small Project

Page 38: Android Udacity Study group 1

SMALL PROJECT

1. Pick a simple project idea

2. Collect requirements

3. Draw wireframes

4. Code :D

Page 39: Android Udacity Study group 1

Time to

CODE !

Page 40: Android Udacity Study group 1

S H A R I N G E X P E R I E N C E

Page 41: Android Udacity Study group 1

ANDROID

RELATED

TOPIC

Page 42: Android Udacity Study group 1

For any help feel free to contact me!

Aly Osama

[email protected]

https://eg.linkedin.com/in/alyosama

Page 43: Android Udacity Study group 1

THANK YOU!