66

Eca online-seminar-session-1.pptx

Embed Size (px)

Citation preview

Page 1: Eca online-seminar-session-1.pptx
Page 2: Eca online-seminar-session-1.pptx

EESTEC Competition for AndroidTM

WELCOME TO THE FIRST SESSION OF

ECA Android Basics Online Seminar

Page 3: Eca online-seminar-session-1.pptx

Introduction

Host: Angelos Karatsidis - ECA Main Coordinator

Speaker: Goran Djonovic - Android Developer

Page 4: Eca online-seminar-session-1.pptx

EESTEC Competition for Android

- 504 Idea Submissions...- 413 Teams…- 717 Individuals…- 54 countries…- 6 continents!

Page 5: Eca online-seminar-session-1.pptx

EESTEC Online Seminar

- Project organized by EESTEC International- Integrates the training goal of ECA - Part 1: “Intro to Android Basics”- Topics tailored to your needs- Next session: Sunday, 11th January

Page 6: Eca online-seminar-session-1.pptx

SPEAKER INTRODUCTION

Goran Djonovic - Software Engineer Execom: www.execom.euTwitter: @gdjonovic – fastest way to ask question and get answer

Email: [email protected]: http://www.linkedin.com/in/gdjonovic

Slide share: http://www.slideshare.net/gorandjonovicGit hub: https://github.com/gdjonovicBlog: http://gdjonovic.me

Page 7: Eca online-seminar-session-1.pptx

I did this before...

Page 8: Eca online-seminar-session-1.pptx

I do this a lot...

Page 9: Eca online-seminar-session-1.pptx

Let’s APP the world!

Questions ?

Page 10: Eca online-seminar-session-1.pptx
Page 11: Eca online-seminar-session-1.pptx

AGENDA

- How to start- What is android all about- Impact of mobile- It’s (NOT) all about the code- Android basics- Good app ideas

Page 12: Eca online-seminar-session-1.pptx

Before we start

- Link to slides will be provided with recording of this talk

- We use crowdcast-

Page 13: Eca online-seminar-session-1.pptx

Google it out

Page 15: Eca online-seminar-session-1.pptx

Android Architecture

/ 11

Page 16: Eca online-seminar-session-1.pptx

How start development

● Install java● Download eclipse ADT or Android Studio● Unlock developer options (if you have device)

● Start making some apps!

Page 17: Eca online-seminar-session-1.pptx

http://developer.android.com/sdk/index.html

Page 18: Eca online-seminar-session-1.pptx

It’s not just about mobile

Page 19: Eca online-seminar-session-1.pptx

What is mobile development

Wiki says: “Mobile application development is the process by which application software is developed for low-power handheld devices, such as personal digital assistants, enterprise digital assistants or mobile phones”

WHAT DO YOU THINK?

/ 11

Page 20: Eca online-seminar-session-1.pptx

The fastest technology adoption in history!!!

/ 16

Source : http://www.moweble.com/career-opportunities-in-mobile-apps-development.html

Page 21: Eca online-seminar-session-1.pptx

PCs Vs. Smartphones

Source: http://www.businessinsider.com/smartphones-versus-pcs-2013-8

Page 22: Eca online-seminar-session-1.pptx

You want to build some cool app

What course should you take?• Introduction to Psychology

• Introduction to Business

• Introduction to Android/iPhone/Windows Phone

• Introduction to Marketing

• Introduction to Design

All of the above ☺

Page 23: Eca online-seminar-session-1.pptx

3 Principles of Marketing

•Principle of Customer Value

•Principle of Differentiation

•Principle of Segmentation, Targeting, and Positioning

Question: What is fair value?

Page 24: Eca online-seminar-session-1.pptx

Understand your users (Psychology)

•User groups

•Backgrounds

•Context

•Way of interaction

•Needs

Page 25: Eca online-seminar-session-1.pptx

Make your app look nice (Design)

•Colors

•UI elements

•Blend with OS

•Attract user attention

•….

Page 26: Eca online-seminar-session-1.pptx

Operational Excellence (Android programming)

This is what you as a developer need to provide• Make the app fast and easy to use

• Save power

• Protect data and the users

• No bugs

• Keep it simple

•Don’t be evil :)

Page 27: Eca online-seminar-session-1.pptx

DESIGNING FOR ANDROID

Page 28: Eca online-seminar-session-1.pptx

What about all those different devices out there?

Page 29: Eca online-seminar-session-1.pptx

What is fragmentation you ask ☺

• The Blessing

• The Curse

• Let’s look at the study done by OpenSignalMaps.

Over 6 months they've been logging the new devices that download OpenSignalMaps. They've looked at model, brand, API level (i.e. the version of Android) and screen size…

…. And what did they find out

/ 24

Page 30: Eca online-seminar-session-1.pptx

3997 distinct devices!!!

/ 24

Page 31: Eca online-seminar-session-1.pptx

What about resolutions?

/ 24

Page 32: Eca online-seminar-session-1.pptx

Start with 240x320px

/ 24

Page 33: Eca online-seminar-session-1.pptx

Then we have 320x480px

/ 24

Page 34: Eca online-seminar-session-1.pptx

400x800px

/ 24

Page 35: Eca online-seminar-session-1.pptx

And then 480x854px

/ 24

Page 36: Eca online-seminar-session-1.pptx

Also common 720x1280px

/ 24

Page 37: Eca online-seminar-session-1.pptx

And at the and 1080x1920px Full-HD

/ 24

Page 38: Eca online-seminar-session-1.pptx

Minimum Vs. Maximum

/ 24

Vs.

27 time more pixels

Page 39: Eca online-seminar-session-1.pptx

Where to start

• Current flagship model

• Most common resolution

• Start with small

… It depends

/ 24

Page 40: Eca online-seminar-session-1.pptx

Density independent pixel DIP

/ 24

Page 41: Eca online-seminar-session-1.pptx

Density Buckets

/ 24

Page 42: Eca online-seminar-session-1.pptx

Tap target

/ 24

Page 43: Eca online-seminar-session-1.pptx

Icon size

/ 24

Page 44: Eca online-seminar-session-1.pptx

Scale independent pixel - SIP

/ 24

Page 45: Eca online-seminar-session-1.pptx

Designing UI and Designing Interaction

•Go to http://developer.android.com/design/index.html

•Make important things fast

• If it looks the same, it should act the same

•Only show what I need when I need it

/ 24

Page 46: Eca online-seminar-session-1.pptx

Material Design

Page 47: Eca online-seminar-session-1.pptx

ANDROID BASICS

Page 48: Eca online-seminar-session-1.pptx

Android concepts

• Activity – visual user interface focused on a single thing a user can do

• Service – no visual interface – they run in the background

• Broadcast receiver – receive and react to broadcast announcements

• Content provider – allow data exchange between applications

• Intent

•Manifest

48

Page 49: Eca online-seminar-session-1.pptx

Applications

• Written in Java

• Each application runs in its own process

• Each process has its own separate VM

• Each application is assigned a unique Linux user ID – by default files of that application are only visible to that application (can be explicitly exported)

49

Page 50: Eca online-seminar-session-1.pptx

50

Activities

• Basic component of most applications

• Most applications have several activities that start each other as needed

• Each is implemented as a subclass of the base Activity class

Page 51: Eca online-seminar-session-1.pptx

Understanding the lifecycle

51

Page 52: Eca online-seminar-session-1.pptx

What about those fragments?

http://developer.android.com/guide/components/fragments.html

Page 53: Eca online-seminar-session-1.pptx

53

Activities – The View

• Each activity has a default window to draw in (although it may prompt for dialogs or notifications)

• The content of the window is a view or a group of views (derived from View or ViewGroup)

• Example of views: buttons, text fields, scroll bars, menu items, check boxes, etc.

• View(Group) made visible via Activity.setContentView() method.

Page 54: Eca online-seminar-session-1.pptx

54

Services

• Does not have a visual interface

• Runs in the background indefinitely

• Examples• Network Downloads• Playing Music• TCP/UDP Server

• You can bind to a an existing service and control its operation

Page 55: Eca online-seminar-session-1.pptx

55

Broadcast Receivers

• Receive and react to broadcast announcements

• Extend the class BroadcastReceiver

• Examples of broadcasts:• Low battery, power connected, shutdown, timezone changed, etc.• Other applications can initiate broadcasts

Page 56: Eca online-seminar-session-1.pptx

56

Content Providers

• A content provider presents data to external applications• Makes some of the application data available to other applications

• It’s the only way to transfer data between applications in Android (no shared files, shared memory, pipes, etc.)

• Extends the class ContentProvider;

• Other applications use a ContentResolver object to access the data provided via a ContentProvider

Page 57: Eca online-seminar-session-1.pptx

57

Intents

•An intent is an Intent object with a message content.

•Activities, services and broadcast receivers are started by intents. ContentProviders are started by ContentResolvers

Page 58: Eca online-seminar-session-1.pptx

58

Shutting down components

•Activities• Can terminate itself via finish();• Can terminate other activities it started via finishActivity();

•Services• Can terminate via stopSelf(); or Context.stopService();

•Content Providers• Are only active when responding to ContentResolvers

•Broadcast Receivers• Are only active when responding to broadcasts

Page 59: Eca online-seminar-session-1.pptx

59

Android Manifest

• Its main purpose in life is to declare the components to the system:

<?xml version="1.0" encoding="utf-8"?><manifest . . . > <application . . . > <activity android:name="com.example.project.FreneticActivity" android:icon="@drawable/small_pic.png" android:label="@string/freneticLabel" . . . > </activity> . . . </application></manifest>

Page 60: Eca online-seminar-session-1.pptx

WHAT ABOUT IDEAS?

Page 61: Eca online-seminar-session-1.pptx

How do people use phones

Source: http://hbr.org/2013/01/how-people-really-use-mobile

Page 62: Eca online-seminar-session-1.pptx

How to get great idea

- Look around you- Look at some global trends - Find the problem (that you can relate to)

- Investigate/Think/Create- Solve the problem

Page 63: Eca online-seminar-session-1.pptx

AGENDA

- How to start- What is android all about- Impact of mobile- It’s (NOT) all about the code- Android basics- Good app ideas

Page 64: Eca online-seminar-session-1.pptx

Contact

Competition for Android

competition.eestec.net

[email protected]

Page 65: Eca online-seminar-session-1.pptx

Let’s APP the world!

Questions ?

Page 66: Eca online-seminar-session-1.pptx

THANK YOU ALL! :) See you again on 11th of January 2015

HAPPY HOLIDAYS