Android Evolution, AppForum 2014, Brussels, Friedger Müffke

Preview:

DESCRIPTION

What is new in Android in 2014? Where does it started?

Citation preview

Android EvolutionFriedger Müffke

AppForum 2014, Brussels

Friedger Müffke

@fmdroid

+FriedgerMüffke

friedger

image

Started 2009 in Berlin: 200 participants

In 2015 in 15 locations worldwide

reaching more than 7500 developers

Professionalized community

Droidcon

Android in Numbers

2008

● 1 device

● 2000 app entries for ADC I

● < 1 % market share

2014

● 7730 devices

● 1+ million apps

● > 80% market share

Android WearContext-aware

Glanceable

One thing really fast

Suggest and demand

Notifications and Wear APKs

Notificationsextender = new NotificationCompat.WearableExtender()

.setBackground(bitmap)

.addAction(action) // can contain RemoteInput

.addPage(notificationForPage)

builder = new NotificationCompat.Builder(context)

.setSmallIcon(R.drawable.ic_notification)

.extend(extender)

.setGroup(key) // makes the notif. wear only

.setGroupSummary(true) // if summary not present

.setLocalOnly(true);

Android Auto

Media apps

Messages apps

Android Auto - Messages<automotiveApp>

<uses name="notification" />

</automotiveApp>

unreadConvBuilder = new UnreadConversation.Builder(participantName);

unreadConvBuilder.addMessage(messageString);

notificationBuilder.extend(new CarExtender()

.setUnreadConversation(unreadConvBuilder.build());

Android TV

TV Live apps

TV Playback apps

TV Games

Android TV - Recommendationsnotification = new NotificationCompat.Builder(context)

.setContentTitle(movie.getTitle())

.setContentText(movie.getDescription())

.setContentInfo(APP_NAME)

.setGroup("ActionMovies")

.setSortKey("0.8")

.setPriority(movie.getPriority())

.setColor(#FFFF2020)

.setCategory("recommendation")

.setExtras(extras)

.build();

Casting

Any device to screen

Receiver app in HTML

Various sender apps

Casting - Android Sender

MediaRouter to select route/device

GoogleApiClient.connect

Cast.CastApi.launchApplication

Cast.CastApi.sendMessage

image

Android EveryWear

Material DesignMaterial is the

metaphor

Bold, graphic,

intentional

Motion provides

meaning

image

image

image

Material Design Animations

Activity Animations

Ripples

Animated Vector Drawable

Document-Centric Approach

more Tasks

persist intent delegation

getRecentTasks deprecated

Document-Centric Approach

FLAG_ACTIVITY_NEW_DOCUMENT

FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET

Multi-task button

DocumentProvider

ACTION_OPEN_DOCUMENT

ACTION_CREATE_DOCUMENT

Bluetooth Low Energy

Android Device can act as peripheral

Filter devices on scanning

adv = getBluetoothLeAdvertiser();

adv.startAdvertising(settings, data, cb);

startLeScan(cb)

startScan(filters, settings, cb);

more new APIsRecyclerView

ScrollView.onNestedScroll()

Heads-up Notifications

Lockscreen privacy / Notification.setVisibility()

JobScheduler

Google Play Service 6.5Maps Toolbar, lite mode

‘Donate with Google’ button

Google Fit SDK activity segments

One common lib plus the ones that are required

WebView via Google Play

Android Work

Managed Profiles

Device Owners

Device Policy manager - NFC provisioning

Kiosk mode/Screen pinning

Samsung Knoxx

What else is new?

64 bit

ART - better gc

gradle

batterystats tool

Android apps on Chrome

image