start tutorial: last April • check status on runtime -> AndroidStudio • Log.v() is boring -> Timber • fix view -> Hierarchy Viewer I'm not afraid of anything anymore 7
join team • report 'not included necessary tag on HTTP request' • report 'nothing to change view after pull to refresh' • report 'text color is turning to black from API 24+’ 8
join team • report 'not included necessary tag on HTTP request' • report 'nothing to change view after pull to refresh' • report 'text color is turning to black from API 24+’
1:View Hierarchy feature • tap on view to jump to xml • hover xml, highlight on device screen • check style and property like css • property is translated like css for chrome • no support changing style from dev tools (but ability to change text) • screencast • no touch support 22
2:Network Inspection 25 //okhttp2 OkHttpClient client = new OkHttpClient(); client.networkInterceptors().add(new StethoInterceptor()); //okhttp3 new OkHttpClient.Builder() .addNetworkInterceptor(new StethoInterceptor()) .build(); //if use URLConnection, you can use StethoURLConnectionManager //but must explicitly add Accept-Encoding: gzip on request header
2:Network Inspection feature • get request / response information • path, method, status, type, size, time, timeline • tap to show headers, preview, original response • support custom plugin 28
chuck feature • quickly check network log on device • app is existed on notification area by default • simple UI, easily reach to request / response • keep old log and search it later • Stetho & android monitor auto-delete logs 52
ᶅAndroid-Debug-Database feature • check all database and shared preferences • ability to sort / search / run any SQL • easy to edit value on browser • download database 57
ᶆLayout Inspector feature • capture view hierarchy and screenshot together • revise and compare layout at later • inspect each view property • get information which theme is applied on view • hover elements and check it • if overlay the elements, right-click it and unchecked 'Show in preview’ • easy to understand nested hierarchy, because focus on only captured activity • can't get whole screenshot but keep layout structure 61
ᶆLayout Inspector appendix • this is capture, not real time preview • dropdown is arranged in background Activity order • the rear most dropdown is the top Activity • if you operate device while capturing, screenshot and layout are misaligned 62
ᶇTheme Editor • edit and inspect theme specified on res/styles • preview components • change any theme and switch api version • click color icon, start color tool 63
Conclusion • Network status • timber and chuck • if can't insert log tool, use HTTP monitor i.e. Charles • DB status • Stetho or Android-Debug-Database • if Realm, use Stetho-realm-plugin • View status • where is view? -> Layout Inspector • optimize nest -> Layout Inspector • applied theme -> Layout Inspector • margin/padding -> Stetho 69
Conclusion • Network status • timber and chuck • if can't insert log tool, use HTTP monitor i.e. Charles • DB status • Stetho or Android-Debug-Database • in case of Realm, use Stetho-realm-plugin • View status • where is view? -> Layout Inspector • optimize nest -> Layout Inspector • applied theme -> Layout Inspector • margin/padding -> Stetho 70
Conclusion • Network status • timber and chuck • if can't insert log tool, use HTTP monitor i.e. Charles • DB status • Stetho or Android-Debug-Database • if Realm, use Stetho-realm-plugin • View status • where is view? -> Layout Inspector • optimize nest -> Layout Inspector • applied theme -> Layout Inspector • margin/padding -> Stetho 71
notes ■Stetho chrome dev tools, also use webview debug without adding code for it ■1:View Hierarchy feature convert property to css for understanding by chrome https://github.com/facebook/stetho/blob/master/stetho/src/main/java/com/ facebook/stetho/inspector/elements/android/ViewDescriptor.java#L336 support style PR https://github.com/facebook/stetho/pull/261 screencast https://github.com/facebook/stetho/pull/190 74
notes ■3: Database Inspection default support plugins https://github.com/facebook/stetho/blob/master/stetho/src/main/java/com/ facebook/stetho/Stetho.java#L302 ■4: Console package name is not starting with special domain, happend package error https://github.com/facebook/stetho/pull/406 ■5: dumpapp File Dumper plugin base dir https://github.com/facebook/stetho/blob/master/stetho/src/main/java/com/ facebook/stetho/dumpapp/plugins/FilesDumperPlugin.java#L79 75