13. Networking na
Androidu
•Android má dva vestavěné HTTP
clienty
•Apache HttpClient
•lepší volba na Androidu < 2.3
•HttpUrlConnection
•lepší volba na Androidu >= 2.3
16. OkHttp
•lze použít bez přepsání stávajícího
kódu
•implementuje HttpUrlConnection
API
•volitelný balík implementuje část
Apache HttpClient API
•lze použít i jako transport vrstvu
17. OkHttp
OkHttpClient client = new OkHttpClient();
String post(URL url, byte[] body) throws IOException {
HttpURLConnection connection = client.open(url);
OutputStream out = null;
try {
connection.setRequestMethod("POST");
out = connection.getOutputStream();
out.write(body);
if (connection.getResponseCode() ==
HttpURLConnection.HTTP_OK) {
return "OK";
}
} finally { if (out != null) out.close(); }
}
18. Retrofit
•REST client pro Anroid a Javu
•jednoduchá deklarace RESTového
API
•podporuje GET, POST, PUT, DELETE,
HEAD
•podporuje form encoded i multipart
data
21. Protocol Buffers
•definice zprávy v samostatném
souboru (.proto)
•kompiler vytvoří třídy ve zvoleném
jazyce, které reprezentují obsah
zprávy
•sdílené mezi serverem a klientem
25. Picasso
•velice snadno se používá
•využívá memory a disk cache
(HttpResponseCache)
•umí placeholdery, error drawably
•transformace obrázků
•využívá OkHttp nebo
HttpUrlConnection
36. Otto Event Bus
• umožňuje komunikace mezi moduly, které mohou
zůstat odděleny
mBus.post(new
LogOutEvent(LogOutEvent.TIMEOUT));
...
@Subscribe
public void didLogOut(LogOutEvent event) {
Toast.makeText(this, R.string.logout,
Toast.LENGTH_SHORT).show();
}
39. Unit testy - Android
SDK
•Android JUnit extension + Mock
objekty
•přinejmenším nepohodlné
•dlouhé buildění a nahrávání do
zařízení
•omezený testovací framework
40. Unit testy - Robolectric
2.0
•testování androidí aplikace bez
zařízení/emulátoru
•standardní JUnit 4 testy v JVM na
počítači
•android třídy jsou zastíněny vlastní