SlideShare a Scribd company logo
Hello World!
Android swedroid
Android swedroid
Android swedroid
Android swedroid
Photo: http://www.flickr.com/photos/toms/279820923/
Android swedroid
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;
}
Android swedroid
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/
Android swedroid
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

More Related Content

PPT
Creating the interfaces of the future with the APIs of today
PDF
Android in practice
PDF
Android best practices
PDF
Gradle dependency management when multi module
PDF
WebAPIs & WebRTC - Spotify/sthlm.js
PDF
Vue js and Vue Material
DOCX
Different way to share data between controllers in angular js
PDF
An introduction to Vue.js
Creating the interfaces of the future with the APIs of today
Android in practice
Android best practices
Gradle dependency management when multi module
WebAPIs & WebRTC - Spotify/sthlm.js
Vue js and Vue Material
Different way to share data between controllers in angular js
An introduction to Vue.js

What's hot (20)

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

Viewers also liked (20)

PDF
Desert Code Camp 2016.1 - Stateful Distributed Systems
PDF
Qualitative Analysis of Routing Protocols in WSN
PDF
F04623943
PDF
O01754101109
PPT
Order
PPT
PDF
Shallow Depth of Tests Scallable BDD and TDD
PPTX
RITISH AGGARWAL
PPTX
Study On Energy Efficient Centralized Routing Protocol For Wireless Sensor N...
PPTX
Thesis-Final-slide
PPTX
Fault tolerant energy aware data dissemination protocol in WSN
PPTX
Energy efficient cluster head selection in LEACH protocol
PPT
Building RESTful Applications with OData
PDF
PDF
Lecture1 pc
PDF
Fault tolerance in wsn
PPTX
Energy efficient communication techniques for wireless micro sensor networks
PPT
Leach & Pegasis
PPT
Internetworking devices
PPTX
Wireless sensor network
Desert Code Camp 2016.1 - Stateful Distributed Systems
Qualitative Analysis of Routing Protocols in WSN
F04623943
O01754101109
Order
Shallow Depth of Tests Scallable BDD and TDD
RITISH AGGARWAL
Study On Energy Efficient Centralized Routing Protocol For Wireless Sensor N...
Thesis-Final-slide
Fault tolerant energy aware data dissemination protocol in WSN
Energy efficient cluster head selection in LEACH protocol
Building RESTful Applications with OData
Lecture1 pc
Fault tolerance in wsn
Energy efficient communication techniques for wireless micro sensor networks
Leach & Pegasis
Internetworking devices
Wireless sensor network
Ad

More from Johan Nilsson (11)

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

Recently uploaded (20)

PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PPTX
sap open course for s4hana steps from ECC to s4
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Electronic commerce courselecture one. Pdf
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PPTX
Big Data Technologies - Introduction.pptx
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PPTX
Cloud computing and distributed systems.
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
Machine learning based COVID-19 study performance prediction
PDF
Chapter 3 Spatial Domain Image Processing.pdf
Mobile App Security Testing_ A Comprehensive Guide.pdf
The AUB Centre for AI in Media Proposal.docx
Reach Out and Touch Someone: Haptics and Empathic Computing
sap open course for s4hana steps from ECC to s4
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Electronic commerce courselecture one. Pdf
The Rise and Fall of 3GPP – Time for a Sabbatical?
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Big Data Technologies - Introduction.pptx
Agricultural_Statistics_at_a_Glance_2022_0.pdf
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
Dropbox Q2 2025 Financial Results & Investor Presentation
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Cloud computing and distributed systems.
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Review of recent advances in non-invasive hemoglobin estimation
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Machine learning based COVID-19 study performance prediction
Chapter 3 Spatial Domain Image Processing.pdf

Android swedroid

  • 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; }
  • 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>> { ... }
  • 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/