SlideShare uma empresa Scribd logo
1 de 26
Baixar para ler offline
Hello World!
Photo: http://www.flickr.com/photos/toms/279820923/
Copy protection bug
02-04 08:55:19.262 E/AndroidRuntime( 5918): Uncaught handler: thread
main exiting due to uncaught exception
02-04 08:55:19.292 E/AndroidRuntime( 5918): java.lang.RuntimeException:
Unable to start activity ComponentInfo{com.markupartist.
sthlmtraveling/com.markupartist.sthlmtraveling.StartActivity}: java.lang.
RuntimeException: Unable to start activity ComponentInfo{com.
markupartist.sthlmtraveling/com.markupartist.sthlmtraveling.
PlannerActivity}: android.database.sqlite.SQLiteException: unable to open
database file




http://groups.google.com/group/android-
developers/browse_thread/thread/3c26247d7a0540d1
try {
   mHistoryDbAdapter = new HistoryDbAdapter(this).open();
} catch (Exception e) {
   showDialog(DIALOG_REINSTALL_APP);
   return;
}
Missing applications from Market

      "Har en 1.6 baserad lur och hittar inte sthlm
      traveling på market.
      Vet du varför. Hittar den med min 1.5 lur"




http://groups.google.com/group/android-
developers/browse_thread/thread/fd299f64638391e1

http://www.swedroid.se/forum/showthread.php?t=8247
java.lang.ClassCastException: android.graphics.drawable.BitmapDrawable
at com.google.android.maps.MyLocationOverlay.getLocationDot(MyLocationOverlay.java:180)
at com.google.android.maps.MyLocationOverlay.drawMyLocation(MyLocationOverlay.java:561)
at com.google.android.maps.MyLocationOverlay.draw(MyLocationOverlay.java:511)
at com.google.android.maps.OverlayBundle.draw(OverlayBundle.java:45)
at com.google.android.maps.MapView.onDraw(MapView.java:471)                               Spica
at android.view.View.draw(View.java:5838)
at android.view.ViewGroup.drawChild(ViewGroup.java:1486)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1228)
at android.view.ViewGroup.drawChild(ViewGroup.java:1484)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1228)
at android.view.View.draw(View.java:5841)
at android.widget.FrameLayout.draw(FrameLayout.java:352)
at android.view.ViewGroup.drawChild(ViewGroup.java:1486)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1228)
at android.view.ViewGroup.drawChild(ViewGroup.java:1484)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1228)
at android.view.View.draw(View.java:5841)
at android.widget.FrameLayout.draw(FrameLayout.java:352)
at com.android.internal.policy.impl.PhoneWindow$DecorView.draw(PhoneWindow.java:1898)
at android.view.ViewRoot.draw(ViewRoot.java:1217)
at android.view.ViewRoot.performTraversals(ViewRoot.java:1030)
at android.view.ViewRoot.handleMessage(ViewRoot.java:1482)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:123)
at android.app.ActivityThread.main(ActivityThread.java:3948)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:521)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:782)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:540)
at dalvik.system.NativeStart.main(Native Method)
/**
* From the Android Developers group.
* http://groups.google.com/group/android-developers/msg/6cb65da690614662
*
* This class is a workaround for the MyLocationOverlay, that crashes on
* some devices, in my case I got reports from a Spica device.
*/
public class FixedMyLocationOverlay extends MyLocationOverlay {
   private boolean bugged = false;
   private Paint accuracyPaint;
   private Point center;
   private Point left;
   private Drawable drawable;
   private int width;
   private int height;

  public FixedMyLocationOverlay(Context context, MapView mapView) {
    super(context, mapView);
  }

  @Override
  protected void drawMyLocation(Canvas canvas, MapView mapView,
       Location lastFix, GeoPoint myLoc, long when) {
    if (!bugged) {
       try {
          super.drawMyLocation(canvas, mapView, lastFix, myLoc, when);
       } catch (Exception e) {
          bugged = true;
       }
    }
    if (bugged) {
       if (drawable == null) {
Force Locale

Resources res = getResources();
DisplayMetrics dm = res.getDisplayMetrics();
Configuration conf = res.getConfiguration();
conf.locale = new Locale("sv", "SE");
res.updateConfiguration(conf, dm);
Force locale for an application, bug in
2.0? - Kaj Bjurman
"No, changing the application's locale like this is not supported,
and will not entirely work. It shouldn't cause an activity to
restart though... actually I can't imagine how this would cause
an activity to restart, since this method is much lower-level than
the activity. Maybe the process is crashing for some reason in
this call? "

Dianne Hackborn
Android framework engineer

http://groups.google.com/group/android-
developers/browse_thread/thread/cb1dec87804d416/51780ca
c36e4fcf4
AndroidManifest.xml

<activity android:name=".SearchDeparturesActivity"
      android:label="@string/departures"
      android:configChanges="locale" />
Photo: http://www.flickr.com/photos/travel_aficionado/4531677728/
android.view.WindowManager$BadTokenException: Unable to add window -- token android.os.BinderProxy@464ff8a0 is no
at android.view.ViewRoot.setView(ViewRoot.java:472)
at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:177)
at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:91)
at android.view.Window$LocalWindowManager.addView(Window.java:424)
at android.app.Dialog.show(Dialog.java:239)
at android.app.Activity.showDialog(Activity.java:2528)
at com.markupartist.sthlmtraveling.DeviationsActivity$GetDeviationsTask.onPostExecute(DeviationsActivity.java:338)
at com.markupartist.sthlmtraveling.DeviationsActivity$GetDeviationsTask.onPostExecute(DeviationsActivity.java:1)
at android.os.AsyncTask.finish(AsyncTask.java:417)
at android.os.AsyncTask.access$300(AsyncTask.java:127)
at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:429)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:123)
at android.app.ActivityThread.main(ActivityThread.java:4595)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:521)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
at dalvik.system.NativeStart.main(Native Method)
AsyncTask
protected void onSaveInstanceState(Bundle outState) { ... }

private void saveGetDetailsTask(Bundle outState) {
   final GetDetailsTask task = mGetDetailsTask;
   if (task != null && task.getStatus() != AsyncTask.Status.FINISHED) {
       task.cancel(true);
       mGetDetailsTask = null;
       outState.putBoolean(STATE_GET_DETAILS_IN_PROGRESS, true);
   }
}

protected void onRestoreInstanceState(Bundle savedInstanceState) { ... }

private void restoreGetDetailsTask(Bundle savedInstanceState) {
   if (savedInstanceState.getBoolean(STATE_GET_DETAILS_IN_PROGRESS)) {
       mGetDetailsTask = new GetDetailsTask();
       mGetDetailsTask.execute(mRoute);
   }
}

protected void onDestroy() { ... }

private void onCancelGetDetailsTask() {
   if (mGetDetailsTask != null
        && mGetDetailsTask.getStatus() == AsyncTask.Status.RUNNING) {
       mGetDetailsTask.cancel(true);
       mGetDetailsTask = null;
   }
}

private class GetDetailsTask extends AsyncTask<Route, Void, ArrayList<String>> { ... }
Photo: http://www.flickr.com/photos/laurapadgett/2807617588/sizes/l/
androidzoom.com
Photo: http://www.flickr.com/photos/library_mistress/1248479255/
iphone
Crash Reporter

Since the admin console lacks crash reports consider
implementing a reporter yourself. There's several out there.

http://androidblogger.blogspot.com/2010/03/crash-reporter-for-
android-slight.html

http://code.google.com/p/android-remote-stacktrace/
Hackathon
1/5, 2010, 9:00 - 21:00

Mais conteúdo relacionado

Mais procurados

The Point of Vue - Intro to Vue.js
The Point of Vue - Intro to Vue.jsThe Point of Vue - Intro to Vue.js
The Point of Vue - Intro to Vue.jsHolly Schinsky
 
Android camera2
Android camera2Android camera2
Android camera2Takuma Lee
 
Ionic tabs template explained
Ionic tabs template explainedIonic tabs template explained
Ionic tabs template explainedRamesh BN
 
Vue 2.0 + Vuex Router & Vuex at Vue.js
Vue 2.0 + Vuex Router & Vuex at Vue.jsVue 2.0 + Vuex Router & Vuex at Vue.js
Vue 2.0 + Vuex Router & Vuex at Vue.jsTakuya Tejima
 
Android Wear Essentials
Android Wear EssentialsAndroid Wear Essentials
Android Wear EssentialsNilhcem
 
Vuejs for Angular developers
Vuejs for Angular developersVuejs for Angular developers
Vuejs for Angular developersMikhail Kuznetcov
 
The 2016 Android Developer Toolbox [MOBILIZATION]
The 2016 Android Developer Toolbox [MOBILIZATION]The 2016 Android Developer Toolbox [MOBILIZATION]
The 2016 Android Developer Toolbox [MOBILIZATION]Nilhcem
 
Developing for Mobile
Developing for MobileDeveloping for Mobile
Developing for MobileRemy Sharp
 
Bringing the open web and APIs to mobile devices with Firefox OS - Whisky W...
 	Bringing the open web and APIs to mobile devices with Firefox OS - Whisky W... 	Bringing the open web and APIs to mobile devices with Firefox OS - Whisky W...
Bringing the open web and APIs to mobile devices with Firefox OS - Whisky W...Robert Nyman
 
Knock, knock, who is there? Doze.
Knock, knock, who is there? Doze.Knock, knock, who is there? Doze.
Knock, knock, who is there? Doze.Yonatan Levin
 
[drupalcampatx] Adaptive Images in Responsive Web Design
[drupalcampatx] Adaptive Images in Responsive Web Design[drupalcampatx] Adaptive Images in Responsive Web Design
[drupalcampatx] Adaptive Images in Responsive Web DesignChristopher Schmitt
 
[psuweb] Adaptive Images in Responsive Web Design
[psuweb] Adaptive Images in Responsive Web Design[psuweb] Adaptive Images in Responsive Web Design
[psuweb] Adaptive Images in Responsive Web DesignChristopher Schmitt
 
The 2016 Android Developer Toolbox [NANTES]
The 2016 Android Developer Toolbox [NANTES]The 2016 Android Developer Toolbox [NANTES]
The 2016 Android Developer Toolbox [NANTES]Nilhcem
 
ILUG 2010 - Deploying plug-ins to the enterprise
ILUG 2010 - Deploying plug-ins to the enterpriseILUG 2010 - Deploying plug-ins to the enterprise
ILUG 2010 - Deploying plug-ins to the enterpriseRené Winkelmeyer
 
Vue.js is boring - and that's a good thing
Vue.js is boring - and that's a good thingVue.js is boring - and that's a good thing
Vue.js is boring - and that's a good thingJoonas Lehtonen
 
An Introduction to Vuejs
An Introduction to VuejsAn Introduction to Vuejs
An Introduction to VuejsPaddy Lock
 
HTML5 on Mobile
HTML5 on MobileHTML5 on Mobile
HTML5 on MobileAdam Lu
 
Getting touchy - an introduction to touch events / Web Standards Days / Mosco...
Getting touchy - an introduction to touch events / Web Standards Days / Mosco...Getting touchy - an introduction to touch events / Web Standards Days / Mosco...
Getting touchy - an introduction to touch events / Web Standards Days / Mosco...Patrick Lauke
 
Building fast and performant apps
Building fast and performant appsBuilding fast and performant apps
Building fast and performant appsRahul Yadav
 

Mais procurados (20)

The Point of Vue - Intro to Vue.js
The Point of Vue - Intro to Vue.jsThe Point of Vue - Intro to Vue.js
The Point of Vue - Intro to Vue.js
 
Android camera2
Android camera2Android camera2
Android camera2
 
Ionic tabs template explained
Ionic tabs template explainedIonic tabs template explained
Ionic tabs template explained
 
Vue 2.0 + Vuex Router & Vuex at Vue.js
Vue 2.0 + Vuex Router & Vuex at Vue.jsVue 2.0 + Vuex Router & Vuex at Vue.js
Vue 2.0 + Vuex Router & Vuex at Vue.js
 
Android Wear Essentials
Android Wear EssentialsAndroid Wear Essentials
Android Wear Essentials
 
Vuejs for Angular developers
Vuejs for Angular developersVuejs for Angular developers
Vuejs for Angular developers
 
The 2016 Android Developer Toolbox [MOBILIZATION]
The 2016 Android Developer Toolbox [MOBILIZATION]The 2016 Android Developer Toolbox [MOBILIZATION]
The 2016 Android Developer Toolbox [MOBILIZATION]
 
Developing for Mobile
Developing for MobileDeveloping for Mobile
Developing for Mobile
 
Bringing the open web and APIs to mobile devices with Firefox OS - Whisky W...
 	Bringing the open web and APIs to mobile devices with Firefox OS - Whisky W... 	Bringing the open web and APIs to mobile devices with Firefox OS - Whisky W...
Bringing the open web and APIs to mobile devices with Firefox OS - Whisky W...
 
Knock, knock, who is there? Doze.
Knock, knock, who is there? Doze.Knock, knock, who is there? Doze.
Knock, knock, who is there? Doze.
 
[drupalcampatx] Adaptive Images in Responsive Web Design
[drupalcampatx] Adaptive Images in Responsive Web Design[drupalcampatx] Adaptive Images in Responsive Web Design
[drupalcampatx] Adaptive Images in Responsive Web Design
 
[psuweb] Adaptive Images in Responsive Web Design
[psuweb] Adaptive Images in Responsive Web Design[psuweb] Adaptive Images in Responsive Web Design
[psuweb] Adaptive Images in Responsive Web Design
 
The 2016 Android Developer Toolbox [NANTES]
The 2016 Android Developer Toolbox [NANTES]The 2016 Android Developer Toolbox [NANTES]
The 2016 Android Developer Toolbox [NANTES]
 
ILUG 2010 - Deploying plug-ins to the enterprise
ILUG 2010 - Deploying plug-ins to the enterpriseILUG 2010 - Deploying plug-ins to the enterprise
ILUG 2010 - Deploying plug-ins to the enterprise
 
Vue.js is boring - and that's a good thing
Vue.js is boring - and that's a good thingVue.js is boring - and that's a good thing
Vue.js is boring - and that's a good thing
 
An Introduction to Vuejs
An Introduction to VuejsAn Introduction to Vuejs
An Introduction to Vuejs
 
HTML5 on Mobile
HTML5 on MobileHTML5 on Mobile
HTML5 on Mobile
 
Getting touchy - an introduction to touch events / Web Standards Days / Mosco...
Getting touchy - an introduction to touch events / Web Standards Days / Mosco...Getting touchy - an introduction to touch events / Web Standards Days / Mosco...
Getting touchy - an introduction to touch events / Web Standards Days / Mosco...
 
Building fast and performant apps
Building fast and performant appsBuilding fast and performant apps
Building fast and performant apps
 
Angular js
Angular jsAngular js
Angular js
 

Destaque

Desert Code Camp 2016.1 - Stateful Distributed Systems
Desert Code Camp 2016.1 - Stateful Distributed SystemsDesert Code Camp 2016.1 - Stateful Distributed Systems
Desert Code Camp 2016.1 - Stateful Distributed SystemsJoe Rawlings
 
Qualitative Analysis of Routing Protocols in WSN
Qualitative Analysis of Routing Protocols in WSNQualitative Analysis of Routing Protocols in WSN
Qualitative Analysis of Routing Protocols in WSNEswar Publications
 
Solving TD-DFT/BSE equations with Lanczos-Haydock approach
Solving TD-DFT/BSE equations with Lanczos-Haydock approachSolving TD-DFT/BSE equations with Lanczos-Haydock approach
Solving TD-DFT/BSE equations with Lanczos-Haydock approachClaudio Attaccalite
 
Shallow Depth of Tests Scallable BDD and TDD
Shallow Depth of Tests Scallable BDD and TDDShallow Depth of Tests Scallable BDD and TDD
Shallow Depth of Tests Scallable BDD and TDDfabiopereirame
 
RITISH AGGARWAL
RITISH AGGARWALRITISH AGGARWAL
RITISH AGGARWAL9914814928
 
Study On Energy Efficient Centralized Routing Protocol For Wireless Sensor N...
Study On Energy Efficient Centralized Routing Protocol For Wireless Sensor  N...Study On Energy Efficient Centralized Routing Protocol For Wireless Sensor  N...
Study On Energy Efficient Centralized Routing Protocol For Wireless Sensor N...Al Imran, CISA
 
Fault tolerant energy aware data dissemination protocol in WSN
Fault tolerant energy aware data dissemination protocol in WSNFault tolerant energy aware data dissemination protocol in WSN
Fault tolerant energy aware data dissemination protocol in WSNPrajwal Panchmahalkar
 
Energy efficient cluster head selection in LEACH protocol
Energy efficient cluster head selection in LEACH protocolEnergy efficient cluster head selection in LEACH protocol
Energy efficient cluster head selection in LEACH protocolARUNP116
 
Building RESTful Applications with OData
Building RESTful Applications with ODataBuilding RESTful Applications with OData
Building RESTful Applications with ODataTodd Anglin
 
Fault tolerance in wsn
Fault tolerance in wsnFault tolerance in wsn
Fault tolerance in wsnElham Hormozi
 
Energy efficient communication techniques for wireless micro sensor networks
Energy efficient communication techniques for wireless micro sensor networksEnergy efficient communication techniques for wireless micro sensor networks
Energy efficient communication techniques for wireless micro sensor networksPushpita Biswas
 
Internetworking devices
Internetworking devicesInternetworking devices
Internetworking devicesOnline
 

Destaque (20)

Desert Code Camp 2016.1 - Stateful Distributed Systems
Desert Code Camp 2016.1 - Stateful Distributed SystemsDesert Code Camp 2016.1 - Stateful Distributed Systems
Desert Code Camp 2016.1 - Stateful Distributed Systems
 
Qualitative Analysis of Routing Protocols in WSN
Qualitative Analysis of Routing Protocols in WSNQualitative Analysis of Routing Protocols in WSN
Qualitative Analysis of Routing Protocols in WSN
 
F04623943
F04623943F04623943
F04623943
 
O01754101109
O01754101109O01754101109
O01754101109
 
Order
OrderOrder
Order
 
Solving TD-DFT/BSE equations with Lanczos-Haydock approach
Solving TD-DFT/BSE equations with Lanczos-Haydock approachSolving TD-DFT/BSE equations with Lanczos-Haydock approach
Solving TD-DFT/BSE equations with Lanczos-Haydock approach
 
Ppt
PptPpt
Ppt
 
Shallow Depth of Tests Scallable BDD and TDD
Shallow Depth of Tests Scallable BDD and TDDShallow Depth of Tests Scallable BDD and TDD
Shallow Depth of Tests Scallable BDD and TDD
 
RITISH AGGARWAL
RITISH AGGARWALRITISH AGGARWAL
RITISH AGGARWAL
 
Study On Energy Efficient Centralized Routing Protocol For Wireless Sensor N...
Study On Energy Efficient Centralized Routing Protocol For Wireless Sensor  N...Study On Energy Efficient Centralized Routing Protocol For Wireless Sensor  N...
Study On Energy Efficient Centralized Routing Protocol For Wireless Sensor N...
 
Thesis-Final-slide
Thesis-Final-slideThesis-Final-slide
Thesis-Final-slide
 
Fault tolerant energy aware data dissemination protocol in WSN
Fault tolerant energy aware data dissemination protocol in WSNFault tolerant energy aware data dissemination protocol in WSN
Fault tolerant energy aware data dissemination protocol in WSN
 
Energy efficient cluster head selection in LEACH protocol
Energy efficient cluster head selection in LEACH protocolEnergy efficient cluster head selection in LEACH protocol
Energy efficient cluster head selection in LEACH protocol
 
Building RESTful Applications with OData
Building RESTful Applications with ODataBuilding RESTful Applications with OData
Building RESTful Applications with OData
 
Leach
Leach Leach
Leach
 
Lecture1 pc
Lecture1 pcLecture1 pc
Lecture1 pc
 
Fault tolerance in wsn
Fault tolerance in wsnFault tolerance in wsn
Fault tolerance in wsn
 
Energy efficient communication techniques for wireless micro sensor networks
Energy efficient communication techniques for wireless micro sensor networksEnergy efficient communication techniques for wireless micro sensor networks
Energy efficient communication techniques for wireless micro sensor networks
 
Leach & Pegasis
Leach & PegasisLeach & Pegasis
Leach & Pegasis
 
Internetworking devices
Internetworking devicesInternetworking devices
Internetworking devices
 

Semelhante a Android swedroid

React & The Art of Managing Complexity
React &  The Art of Managing ComplexityReact &  The Art of Managing Complexity
React & The Art of Managing ComplexityRyan Anklam
 
Design Patterns for Tablets and Smartphones
Design Patterns for Tablets and SmartphonesDesign Patterns for Tablets and Smartphones
Design Patterns for Tablets and SmartphonesMichael Galpin
 
BlackBerry DevCon 2011 - PhoneGap and WebWorks
BlackBerry DevCon 2011 - PhoneGap and WebWorksBlackBerry DevCon 2011 - PhoneGap and WebWorks
BlackBerry DevCon 2011 - PhoneGap and WebWorksmwbrooks
 
MeasureCamp IX (London) - 10 JavaScript Concepts for web analysts
MeasureCamp IX (London) - 10 JavaScript Concepts for web analystsMeasureCamp IX (London) - 10 JavaScript Concepts for web analysts
MeasureCamp IX (London) - 10 JavaScript Concepts for web analystsSimo Ahava
 
Android: the Single Activity, Multiple Fragments pattern | One Activity to ru...
Android: the Single Activity, Multiple Fragments pattern | One Activity to ru...Android: the Single Activity, Multiple Fragments pattern | One Activity to ru...
Android: the Single Activity, Multiple Fragments pattern | One Activity to ru...olrandir
 
Slightly Advanced Android Wear ;)
Slightly Advanced Android Wear ;)Slightly Advanced Android Wear ;)
Slightly Advanced Android Wear ;)Alfredo Morresi
 
Getting your app ready for android n
Getting your app ready for android nGetting your app ready for android n
Getting your app ready for android nSercan Yusuf
 
20150516 modern web_conf_tw
20150516 modern web_conf_tw20150516 modern web_conf_tw
20150516 modern web_conf_twTse-Ching Ho
 
Security testing of YUI powered applications
Security testing of YUI powered applicationsSecurity testing of YUI powered applications
Security testing of YUI powered applicationsdimisec
 
Android Best Practices
Android Best PracticesAndroid Best Practices
Android Best PracticesYekmer Simsek
 
Gitter marionette deck
Gitter marionette deckGitter marionette deck
Gitter marionette deckMike Bartlett
 
Phone gap 12 things you should know
Phone gap 12 things you should knowPhone gap 12 things you should know
Phone gap 12 things you should knowISOCHK
 
Capture image on eye blink
Capture image on eye blinkCapture image on eye blink
Capture image on eye blinkInnovationM
 
Android programming -_pushing_the_limits
Android programming -_pushing_the_limitsAndroid programming -_pushing_the_limits
Android programming -_pushing_the_limitsDroidcon Berlin
 
Android workshop - 02. Glass development 101
Android workshop - 02. Glass development 101Android workshop - 02. Glass development 101
Android workshop - 02. Glass development 101Johnny Sung
 
Refactoring Large Web Applications with Backbone.js
Refactoring Large Web Applications with Backbone.jsRefactoring Large Web Applications with Backbone.js
Refactoring Large Web Applications with Backbone.jsStacy London
 
Refactor Large applications with Backbone
Refactor Large applications with BackboneRefactor Large applications with Backbone
Refactor Large applications with BackboneColdFusionConference
 
Refactor Large apps with Backbone
Refactor Large apps with BackboneRefactor Large apps with Backbone
Refactor Large apps with BackbonedevObjective
 

Semelhante a Android swedroid (20)

React & The Art of Managing Complexity
React &  The Art of Managing ComplexityReact &  The Art of Managing Complexity
React & The Art of Managing Complexity
 
Design Patterns for Tablets and Smartphones
Design Patterns for Tablets and SmartphonesDesign Patterns for Tablets and Smartphones
Design Patterns for Tablets and Smartphones
 
BlackBerry DevCon 2011 - PhoneGap and WebWorks
BlackBerry DevCon 2011 - PhoneGap and WebWorksBlackBerry DevCon 2011 - PhoneGap and WebWorks
BlackBerry DevCon 2011 - PhoneGap and WebWorks
 
MeasureCamp IX (London) - 10 JavaScript Concepts for web analysts
MeasureCamp IX (London) - 10 JavaScript Concepts for web analystsMeasureCamp IX (London) - 10 JavaScript Concepts for web analysts
MeasureCamp IX (London) - 10 JavaScript Concepts for web analysts
 
Android: the Single Activity, Multiple Fragments pattern | One Activity to ru...
Android: the Single Activity, Multiple Fragments pattern | One Activity to ru...Android: the Single Activity, Multiple Fragments pattern | One Activity to ru...
Android: the Single Activity, Multiple Fragments pattern | One Activity to ru...
 
Slightly Advanced Android Wear ;)
Slightly Advanced Android Wear ;)Slightly Advanced Android Wear ;)
Slightly Advanced Android Wear ;)
 
Getting your app ready for android n
Getting your app ready for android nGetting your app ready for android n
Getting your app ready for android n
 
20150516 modern web_conf_tw
20150516 modern web_conf_tw20150516 modern web_conf_tw
20150516 modern web_conf_tw
 
Security testing of YUI powered applications
Security testing of YUI powered applicationsSecurity testing of YUI powered applications
Security testing of YUI powered applications
 
YUI 3
YUI 3YUI 3
YUI 3
 
Android Best Practices
Android Best PracticesAndroid Best Practices
Android Best Practices
 
Gitter marionette deck
Gitter marionette deckGitter marionette deck
Gitter marionette deck
 
Phone gap 12 things you should know
Phone gap 12 things you should knowPhone gap 12 things you should know
Phone gap 12 things you should know
 
Seti 09
Seti 09Seti 09
Seti 09
 
Capture image on eye blink
Capture image on eye blinkCapture image on eye blink
Capture image on eye blink
 
Android programming -_pushing_the_limits
Android programming -_pushing_the_limitsAndroid programming -_pushing_the_limits
Android programming -_pushing_the_limits
 
Android workshop - 02. Glass development 101
Android workshop - 02. Glass development 101Android workshop - 02. Glass development 101
Android workshop - 02. Glass development 101
 
Refactoring Large Web Applications with Backbone.js
Refactoring Large Web Applications with Backbone.jsRefactoring Large Web Applications with Backbone.js
Refactoring Large Web Applications with Backbone.js
 
Refactor Large applications with Backbone
Refactor Large applications with BackboneRefactor Large applications with Backbone
Refactor Large applications with Backbone
 
Refactor Large apps with Backbone
Refactor Large apps with BackboneRefactor Large apps with Backbone
Refactor Large apps with Backbone
 

Mais de Johan Nilsson

Utmaningar som tredjepartsutvecklare för kollektivtrafikbranchen - Kollektivt...
Utmaningar som tredjepartsutvecklare för kollektivtrafikbranchen - Kollektivt...Utmaningar som tredjepartsutvecklare för kollektivtrafikbranchen - Kollektivt...
Utmaningar som tredjepartsutvecklare för kollektivtrafikbranchen - Kollektivt...Johan Nilsson
 
GTFS & OSM in STHLM Traveling at Trafiklab
GTFS & OSM in STHLM Traveling at Trafiklab GTFS & OSM in STHLM Traveling at Trafiklab
GTFS & OSM in STHLM Traveling at Trafiklab Johan Nilsson
 
STHLM Traveling Trafiklab
STHLM Traveling TrafiklabSTHLM Traveling Trafiklab
STHLM Traveling TrafiklabJohan Nilsson
 
JavaScript Dependencies, Modules & Browserify
JavaScript Dependencies, Modules & BrowserifyJavaScript Dependencies, Modules & Browserify
JavaScript Dependencies, Modules & BrowserifyJohan Nilsson
 
Spacebrew & Arduino Yún
Spacebrew & Arduino YúnSpacebrew & Arduino Yún
Spacebrew & Arduino YúnJohan Nilsson
 
Custom UI Components at Android Only 2011
Custom UI Components at Android Only 2011Custom UI Components at Android Only 2011
Custom UI Components at Android Only 2011Johan Nilsson
 
new Android UI Patterns
new Android UI Patternsnew Android UI Patterns
new Android UI PatternsJohan Nilsson
 
FOSS STHLM Android Cloud to Device Messaging
FOSS STHLM Android Cloud to Device MessagingFOSS STHLM Android Cloud to Device Messaging
FOSS STHLM Android Cloud to Device MessagingJohan Nilsson
 
Android Cloud to Device Messaging Framework at GTUG Stockholm
Android Cloud to Device Messaging Framework at GTUG StockholmAndroid Cloud to Device Messaging Framework at GTUG Stockholm
Android Cloud to Device Messaging Framework at GTUG StockholmJohan Nilsson
 
GTUG Android iglaset Presentation 1 Oct
GTUG Android iglaset Presentation 1 OctGTUG Android iglaset Presentation 1 Oct
GTUG Android iglaset Presentation 1 OctJohan Nilsson
 

Mais de Johan Nilsson (11)

Utmaningar som tredjepartsutvecklare för kollektivtrafikbranchen - Kollektivt...
Utmaningar som tredjepartsutvecklare för kollektivtrafikbranchen - Kollektivt...Utmaningar som tredjepartsutvecklare för kollektivtrafikbranchen - Kollektivt...
Utmaningar som tredjepartsutvecklare för kollektivtrafikbranchen - Kollektivt...
 
GTFS & OSM in STHLM Traveling at Trafiklab
GTFS & OSM in STHLM Traveling at Trafiklab GTFS & OSM in STHLM Traveling at Trafiklab
GTFS & OSM in STHLM Traveling at Trafiklab
 
STHLM Traveling Trafiklab
STHLM Traveling TrafiklabSTHLM Traveling Trafiklab
STHLM Traveling Trafiklab
 
JavaScript Dependencies, Modules & Browserify
JavaScript Dependencies, Modules & BrowserifyJavaScript Dependencies, Modules & Browserify
JavaScript Dependencies, Modules & Browserify
 
Spacebrew & Arduino Yún
Spacebrew & Arduino YúnSpacebrew & Arduino Yún
Spacebrew & Arduino Yún
 
Trafiklab 1206
Trafiklab 1206Trafiklab 1206
Trafiklab 1206
 
Custom UI Components at Android Only 2011
Custom UI Components at Android Only 2011Custom UI Components at Android Only 2011
Custom UI Components at Android Only 2011
 
new Android UI Patterns
new Android UI Patternsnew Android UI Patterns
new Android UI Patterns
 
FOSS STHLM Android Cloud to Device Messaging
FOSS STHLM Android Cloud to Device MessagingFOSS STHLM Android Cloud to Device Messaging
FOSS STHLM Android Cloud to Device Messaging
 
Android Cloud to Device Messaging Framework at GTUG Stockholm
Android Cloud to Device Messaging Framework at GTUG StockholmAndroid Cloud to Device Messaging Framework at GTUG Stockholm
Android Cloud to Device Messaging Framework at GTUG Stockholm
 
GTUG Android iglaset Presentation 1 Oct
GTUG Android iglaset Presentation 1 OctGTUG Android iglaset Presentation 1 Oct
GTUG Android iglaset Presentation 1 Oct
 

Último

Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 

Último (20)

Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 

Android swedroid

  • 2.
  • 3.
  • 4.
  • 5.
  • 7.
  • 8. Copy protection bug 02-04 08:55:19.262 E/AndroidRuntime( 5918): Uncaught handler: thread main exiting due to uncaught exception 02-04 08:55:19.292 E/AndroidRuntime( 5918): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.markupartist. sthlmtraveling/com.markupartist.sthlmtraveling.StartActivity}: java.lang. RuntimeException: Unable to start activity ComponentInfo{com. markupartist.sthlmtraveling/com.markupartist.sthlmtraveling. PlannerActivity}: android.database.sqlite.SQLiteException: unable to open database file http://groups.google.com/group/android- developers/browse_thread/thread/3c26247d7a0540d1
  • 9. try { mHistoryDbAdapter = new HistoryDbAdapter(this).open(); } catch (Exception e) { showDialog(DIALOG_REINSTALL_APP); return; }
  • 10.
  • 11. Missing applications from Market "Har en 1.6 baserad lur och hittar inte sthlm traveling på market. Vet du varför. Hittar den med min 1.5 lur" http://groups.google.com/group/android- developers/browse_thread/thread/fd299f64638391e1 http://www.swedroid.se/forum/showthread.php?t=8247
  • 12. java.lang.ClassCastException: android.graphics.drawable.BitmapDrawable at com.google.android.maps.MyLocationOverlay.getLocationDot(MyLocationOverlay.java:180) at com.google.android.maps.MyLocationOverlay.drawMyLocation(MyLocationOverlay.java:561) at com.google.android.maps.MyLocationOverlay.draw(MyLocationOverlay.java:511) at com.google.android.maps.OverlayBundle.draw(OverlayBundle.java:45) at com.google.android.maps.MapView.onDraw(MapView.java:471) Spica at android.view.View.draw(View.java:5838) at android.view.ViewGroup.drawChild(ViewGroup.java:1486) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1228) at android.view.ViewGroup.drawChild(ViewGroup.java:1484) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1228) at android.view.View.draw(View.java:5841) at android.widget.FrameLayout.draw(FrameLayout.java:352) at android.view.ViewGroup.drawChild(ViewGroup.java:1486) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1228) at android.view.ViewGroup.drawChild(ViewGroup.java:1484) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1228) at android.view.View.draw(View.java:5841) at android.widget.FrameLayout.draw(FrameLayout.java:352) at com.android.internal.policy.impl.PhoneWindow$DecorView.draw(PhoneWindow.java:1898) at android.view.ViewRoot.draw(ViewRoot.java:1217) at android.view.ViewRoot.performTraversals(ViewRoot.java:1030) at android.view.ViewRoot.handleMessage(ViewRoot.java:1482) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:123) at android.app.ActivityThread.main(ActivityThread.java:3948) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:521) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:782) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:540) at dalvik.system.NativeStart.main(Native Method)
  • 13. /** * From the Android Developers group. * http://groups.google.com/group/android-developers/msg/6cb65da690614662 * * This class is a workaround for the MyLocationOverlay, that crashes on * some devices, in my case I got reports from a Spica device. */ public class FixedMyLocationOverlay extends MyLocationOverlay { private boolean bugged = false; private Paint accuracyPaint; private Point center; private Point left; private Drawable drawable; private int width; private int height; public FixedMyLocationOverlay(Context context, MapView mapView) { super(context, mapView); } @Override protected void drawMyLocation(Canvas canvas, MapView mapView, Location lastFix, GeoPoint myLoc, long when) { if (!bugged) { try { super.drawMyLocation(canvas, mapView, lastFix, myLoc, when); } catch (Exception e) { bugged = true; } } if (bugged) { if (drawable == null) {
  • 14. Force Locale Resources res = getResources(); DisplayMetrics dm = res.getDisplayMetrics(); Configuration conf = res.getConfiguration(); conf.locale = new Locale("sv", "SE"); res.updateConfiguration(conf, dm);
  • 15. Force locale for an application, bug in 2.0? - Kaj Bjurman "No, changing the application's locale like this is not supported, and will not entirely work. It shouldn't cause an activity to restart though... actually I can't imagine how this would cause an activity to restart, since this method is much lower-level than the activity. Maybe the process is crashing for some reason in this call? " Dianne Hackborn Android framework engineer http://groups.google.com/group/android- developers/browse_thread/thread/cb1dec87804d416/51780ca c36e4fcf4
  • 16. AndroidManifest.xml <activity android:name=".SearchDeparturesActivity" android:label="@string/departures" android:configChanges="locale" />
  • 18. android.view.WindowManager$BadTokenException: Unable to add window -- token android.os.BinderProxy@464ff8a0 is no at android.view.ViewRoot.setView(ViewRoot.java:472) at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:177) at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:91) at android.view.Window$LocalWindowManager.addView(Window.java:424) at android.app.Dialog.show(Dialog.java:239) at android.app.Activity.showDialog(Activity.java:2528) at com.markupartist.sthlmtraveling.DeviationsActivity$GetDeviationsTask.onPostExecute(DeviationsActivity.java:338) at com.markupartist.sthlmtraveling.DeviationsActivity$GetDeviationsTask.onPostExecute(DeviationsActivity.java:1) at android.os.AsyncTask.finish(AsyncTask.java:417) at android.os.AsyncTask.access$300(AsyncTask.java:127) at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:429) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:123) at android.app.ActivityThread.main(ActivityThread.java:4595) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:521) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618) at dalvik.system.NativeStart.main(Native Method)
  • 19. AsyncTask protected void onSaveInstanceState(Bundle outState) { ... } private void saveGetDetailsTask(Bundle outState) { final GetDetailsTask task = mGetDetailsTask; if (task != null && task.getStatus() != AsyncTask.Status.FINISHED) { task.cancel(true); mGetDetailsTask = null; outState.putBoolean(STATE_GET_DETAILS_IN_PROGRESS, true); } } protected void onRestoreInstanceState(Bundle savedInstanceState) { ... } private void restoreGetDetailsTask(Bundle savedInstanceState) { if (savedInstanceState.getBoolean(STATE_GET_DETAILS_IN_PROGRESS)) { mGetDetailsTask = new GetDetailsTask(); mGetDetailsTask.execute(mRoute); } } protected void onDestroy() { ... } private void onCancelGetDetailsTask() { if (mGetDetailsTask != null && mGetDetailsTask.getStatus() == AsyncTask.Status.RUNNING) { mGetDetailsTask.cancel(true); mGetDetailsTask = null; } } private class GetDetailsTask extends AsyncTask<Route, Void, ArrayList<String>> { ... }
  • 21.
  • 25. Crash Reporter Since the admin console lacks crash reports consider implementing a reporter yourself. There's several out there. http://androidblogger.blogspot.com/2010/03/crash-reporter-for- android-slight.html http://code.google.com/p/android-remote-stacktrace/