Archive for February, 2009
It’s quite a bit old of a news, but maybe some haven’t heard it yet. The android market DRM (Digital-Right-Management) isn’t save anymore. With a simple hack, it’s possible to copy protected software as well as paid applications.
This is an very serious issue, as it’s possible to buy an application, “backup” it and then request a refund, basically getting the application for free.
It’s said, that this is one of the reasons why the Android 1.1 Framework is not available yet outside of the USA.
It’s really scary how easy the system can be circumvented! There is basically no protection at all. All “protected” applications are simply stored in an hidden folder which can’t be normally accessed (only be the OS), but if you have an hacked/jailbreaked firmware on your G1 or an Dev G1, you have root access which allows you to access this hidden directory and copy/move the applications inside there.
All protected applications are stored inside the /data/app-private folder (which is normally invisible, unless you have root access).
Thanks to Tim over there at strazzere.com for finding this out and making people aware of it! Check out his Android Market DRM busted < 12 hours! post for more details about the very weak DRM protection of the Android Market!
If you’re an developer who offers paid applications, my suggestion would be to pull of your application from the Android Market, until the issues were address by Google, as this could seriously hurt your business!
A while ago, Android Market opened for paid sales. While this finally opens opportunities for Android developer to get some money for their efforts, there are some serious problems currently.
One reason for this is bad performance and downloading problems, as well as problems with the copy protection features as you can read in the official Android Developers Google Groups. There are actually reports, that the copy protection feature can corrupt the APK files which will cause Exception when the application is launched. You can find this and other concerns of developers in the “Think twice before turning on the Copy Protection" option!” discussion on the Android Developers group.
It seems, that this is especially the case if users are installing a copy protected version of your application over an old non-protected application.
The another reasons developers worry, is about the slow/low sales of their paid applications. One of such worried developers is “Ed Burnette”, author of of “Hello, Android”.
Continue Reading »
Android Market: Developers worried about bad sales
One difference to between conventional programming and Android development is that the Android OS can at any time kill your Activity if it runs low on resources or in certain other conditions like configuration changes.
This can be very critical when it comes to data. On such an event, there is a possibility that data loss will occur and as programmer you want to avoid that under any circumstances.
Most of the standard widgets like EditText already preserve their state under certain circumstances. By default widgets/UI elements with an android:id attribute defined, will by default preserve their states when the application is destroyed and recreated.
But what if the you need to preserve data defined inside of your Activity or your own widgets?
Continue Reading »
SavedState: Preserve data when your Activity is recreated – Part 1
When you’re developing application, there is often a need to create your own controls/widgets/classes or to extend already available ones. And in most cases, you want this control/widget to be as flexible as possible. In order to achieve this, you have to create special events, which can be handled outside of your widget.
Some of the popular examples are OnClickListener and OnKeyListener. But sometimes you need Events/Listener which aren’t predefined by the Java or Android SDK. In this case, you have to create your own Listener interface.
In the last post, I’ve shown three different way on how to implement Listeners in your application. Now I’ll show you how to implement your own Listeners.
Continue Reading »
How to implement your own Listener in Android/Java
I’ve seen many people asking how to implement Listeners in their applications. Implementing a Listener is quite easy. There are 3 ways to implement an Listener and the have their advantages and disadvantages.
The tree way to implement Listeners are
- Inline Implementation
- Using the
implementskeyword - By using variables
We’ll use our good old LoginExample application, created in previous tutorial which can be found at Android: Your first Android Application.
Continue Reading »
Implementing Listeners in your Android/Java application





