Bluestacks is an Android app player for Windows, enabling your apps to break free from your phone onto your desktop. As anyone who has ever tried to use the Android device emulator will know being able to run apps on your PC has been until now very slow and pretty much unusable. Bluestacks changes that by giving you the same level of performance on the desktop as you would expect on an embedded handheld device.
I installed Bluestacks as soon as it was released, and so far I have been pretty impressed. Currently Bluestacks will only install on a Windows 7 PC however Bluestacks reports that support for older operating systems are coming soon. If you install the Bluestacks Cloud Connect service the Blustacks infrastructure will automatically synchronise the apps installed on your phone to your PC. At the moment not all apps are support, such as premium apps such as the ever popular Angry Birds. For these premium apps you will need the currently unreleased Bluestacks Pro.
Bluestacks also comes with the Android Debug Bridge (ADB) which is used by Android developers to debug, test and configure Android apps and the Android device. This is pretty useful, though it was quite a shock the first time as I hadn’t noticed that the Eclipse debugger had connected to Bluestacks instead of my Android device, which resulted in me trying to work out what was wrong with my development handset. If you want to debug Android apps using Bluestacks you can really easily bring up the Bluestacks Android handset using the following command, which is now a shortcut on my desktop.
"C:Program Files (x86)BlueStacksHD-Frontend.exe" Android
Doing a bit of testing and using the API Demos which comes with the Android Development Kit showed that there are some problems still with Bluestacks such as some APIs not all the working, and some minor points like the mouse scroll wheel scroll is back to front. The Bluestacks team have made a very good job of their on-line community, being very quick to respond to users suggestions and bug reports.
Other than that Bluestacks is pretty awesome, I’ve not yet really put it through its paces but I’ll certainly be looking forward to Bluestacks Pro to come out. Just hope that the price is right.
You can download Bluestacks from bluestacks.com
I have recently been debugging an Android applications database and needed to look inside and edit the database.
I’ve found a fantastic article on infiniteZest which provides an excellent tutorial on how to explorer your applications database from the ADB shell.
Using SQLite from Shell in Android on infiniteZest
I’m working on some graphics intense Android applications, one for a product I hope to launch early next year and another one of work. Unfortunately I can’t talk about either project, though what I can say is that both products are unique in the Android market place. Watch this space to find out when these products are going to market and for more information. It’ll be worth the wait believe me.
I am programming in Java (no need to go native yet), I learnt to program in Java during my masters degree and used it for 5+ years so I am not having any problems there. Android I’m discovering is quite a nice framework to program, it is very well documented with lots of books and demonstrations online so it is very easy to locate information and solve problems. I also found downloading the Android source code a great help too, especially when there is some specialised piece of functionality that you need to code and you’d like to have a peak under the hood to find out how to works.
So far I’m finding the hardest thing to cope with is the Android Emulator, which has both its pros and cons. The pros of the Android Emulator is that I can go to any and all versions of Android and test out my application, I can change features about the handset, and easily change the screen resolution. The cons of the Android emulator is that it is very slow, this is something that I don’t entirely understand yet. I’m coding on an Intel Core i7 at work and an Intel Core i5 at home, both machines are pretty powerful but the emulator is still very slow, oddly enough the CPU use is also quite low so I don’t understand the poor performance, unless I’m missing something. The emulators poor performance though is in many ways also a pro, my HTC Desire S has a pretty powerful 1GHz core and powerful GPU, whereas some devices that are likely to run my software (such as an HTC Wildfire) will have lower end chips without all the power, so it’s quite interesting running metrics over the emulator and seeing where I could improve my code.
Being someone who has been working on embedded systems for well over 6 years I have a pretty firm desire for anything I device to be low CPU & low memory intense. It’s quite interesting playing around with the Android APIs and trying out different methods of performing the same task whilst also keeping the under experience smooth. There are so many ways of doing anything.
A bit about my app. As I’ve said the app is pretty graphics intensive but is designed to appeal to both children and adults. Currently I’ve got a rough sketch of the user interface, and recently been investigating the requirements and flow of the application. A lot of people have said that most Android applications are low quality which is the main criticism of Android. I hope that my app will not be one of them, I’m putting in a lot of upfront thought and design into the application. I hope this week to have turned my rough drawings into user interface mock ups by the end of the week, and also hopefully start coding it soon. As always I’m following the old adage “Design is King”.
So far so good. Both projects are progressing well, and I hope to have both projects out of the door soon.
After several years with my beloved Sony Ericsson K800i I recently decided that technology had moved far enough and it was time to enter the 21st century and buy myself an HTC Desire S. The HTC Desire is great, the Android user experience is great and it’s after a little bit of playing around and learning the features and quirks pretty nice to use. Unsurprisingly within a few hours I already had some ideas for projects that I could do on the HTC Desire and hopefully at one time or another get onto the Android Market place.
I used the Java programming language during my Masters degree and I also have some experience using it in industry, so I’m pretty comfortable with it. I was also pleased to see that the IDE of choice for Android development is Eclipse. After designing and creating a paint plug-in (with layer, blend modes, tools, effects support and even able to load Photoshop files) for Eclipse during my dissertation I’m quite comfortable with the Eclipse IDE and its way of doing things.
First thing first was to run through the tutorials. I started off with the tutorials at android.com, but found that although a pretty good way to start programming that they didn’t really have much on using the 2D functionality, also I like to sit in the park at lunchtime so a book, a notepad and a pen are ideal. Also when you are designing an application being well away from a computer is the best approach, but more about that at another time. I took a look at the forums and Amazon and finally found the book Hello, Android: Introducing Google’s Mobile Development Platform by Ed Burnett. Hello, Android is a pretty good and well written book in my opinion. After the first few chapters you are pretty much ready to get up and running on Android and producing some pretty good applications. It is also good if you are like me a little rusty on Java or using the Eclipse IDE and just need a few polite reminders to kick start those brain cells.
Well I’m pretty much nearly finished on the Sudoku example from the book and several tutorials on android.com. Generally I find Android development pretty nice. It’s great how you can design the User Experience in a clear and well defined XML schema. The architecture appears pretty good too and it’s fairly straight forward to create well designed, clear and scalable user interface designs. The SDK is well defined and it’s fairly straight forward to find what you need, or a tutorial on the internet to help you out. The Eclipse tools are also quite handy and after a little searching around you can find lots of time saving features. I would also add that if you are serious about developing for Android use a real Android phone, although helpful at some times the emulator is painfully slow even on an Intel Core i7, I would love to see the Android team put more effort into optimising and accelerating the emulator to be more like a real device.
So all in all pretty impressed. I’ll let you know how I get on further down the line.