gdg algiers devfest 2013 cool androidlibs

Post on 10-May-2015

386 Views

Category:

Technology

4 Downloads

Preview:

Click to see full reader

DESCRIPTION

Presenting some cool libs from http://square.github.io/ to help you with developing and testing your Android. The source code is here: Android App https://github.com/nhachicha/GDGDevFestAlgiers2013Android Backend https://github.com/nhachicha/GoogleDevFest2013Algiers

TRANSCRIPT

Cool Open Source LibsNabil HACHICHA

GDG DevFest 2013 Algiers

Why Open Source?

● Better quality○ Developed by many passionate developers○ Innovation and enhancements over time

● Open standards & interoperability

● It’s hard to develop without it

Use case

● Develop & test a small app (Employees list)

Use case

Architecture

Request content from network

Use case

Architecture

ListView Adapter, based on a simple POJO

Use case

Architecture

Fragment holding our ListView

Use case

Architecture

Parse HTML using Xpath

OkHttp

● Efficient Http client, based on java.net.HttpURLConnection or Apache HttpClient

● Can also be used as as the transport layer for Volley

OkHttp

● SPDY support, allows all requests to the same host to share a socket.

● Transparent GZIP● Silently recover from common connection

problems● Recovers from problematic proxy servers

and failed SSL handshakes● Connection pooling reduces request latency

(if SPDY isn’t available)

OkHttp

● SPDY support, allows all requests to the same host to share a socket.

● Transparent GZIP● Silently recover from common connection

problems● Recovers from problematic proxy servers

and failed SSL handshakes● Connection pooling reduces request latency

(if SPDY isn’t available)

OkHttp

● SPDY support, allows all requests to the same host to share a socket.

● Transparent GZIP● Silently recover from common connection

problems● Recovers from problematic proxy servers

and failed SSL handshakes● Connection pooling reduces request latency

(if SPDY isn’t available)

OkHttp

● SPDY support, allows all requests to the same host to share a socket.

● Transparent GZIP● Silently recover from common connection

problems● Recovers from problematic proxy servers

and failed SSL handshakes● Connection pooling reduces request latency

(if SPDY isn’t available)

OkHttp

● SPDY support, allows all requests to the same host to share a socket.

● Transparent GZIP● Silently recover from common connection

problems● Recovers from problematic proxy servers

and failed SSL handshakes● Connection pooling reduces request latency

(if SPDY isn’t available)

Picasso

● A powerful image downloading and caching library for Android

Picasso

● Handling ImageView recycling and download cancelation in an adapter

● Complex image transformations with minimal memory use.

● Automatic memory and disk caching.

Code

Testsing

RobolectricMockitoFEST

Robolectric

● Run Android tests inside JVM

● Instruct Robolectric to configure Android differently○ use a non-standard manifest file○ use French resources on a sideways high-res

display (qualifiers)

Mockito

● Mocking framework, with fluent API syntaxe

FEST

● Fixtures for Easy Software Testing

● Simplify software testing by providing a fluent Assertions

● Just use assertThat

● FEST Android, extension of FEST

FEST

Example:● Regular JUNITassertEquals(View.GONE,view.getVisibility())

● Regular FESTassertThat(view.getVisibility()).isEqualTo(View.GONE)

● FEST AndroidassertThat(view).isGone()

Code

TDD

● objc-TimesSquare○ calendar view for your apps

● PonyDebugger○ Remote network and data debugging for your native

iOS app using Chrome Developer Tools● SocketRocket

○ WebSocket client library● objc-mocktail

○ stub out HTTP servers in your Objective-C app.● KIF

○ Keep It Functional - An iOS Functional Testing Framework

Thanks!

Q&A

Links http://square.github.io/

top related