Category Archives: Android Programming

How to Install Intel HAXM in a Machine with Hyper-V


Intel HAXM helps speeding up Android emulators. However it cannot work in parallel with Hyper-V.

You want to install Intel HAXM without removing Hyper-V.


Use the steps below to temporarily turn Hyper-V off to install Intel HAXM and launch Android Studio emulators.

  1. Open a Command Prompt or PowerShell as Admin
  2. Execute the command below to turn Hyper-V off
bcdedit /set hypervisorlaunchtype off

3. Restart your computer.

4. Install Intel HAXM

where sdk is the location of Android SDK.

5. Verify Intel HAXM installation

sc query intelhaxm

To turn Hyper-V on again, use the steps below:

  1. Open a Command Prompt or PowerShell as Admin
  2. Execute the command below to turn Hyper-V off
bcdedit /set hypervisorlaunchtype auto start

3. Restart your computer.


How to completely uninstall Android Studio on Mac OS?


You have an issue with Android Studio and want to reinstall it. In order to reinstall a fresh instance you need to uninstall the current version first.


Execute these commands from the terminal:

rm -Rf /Applications/Android\
rm -Rf ~/Library/Preferences/AndroidStudio*
rm ~/Library/Preferences/
rm -Rf ~/Library/Application\ Support/AndroidStudio*
rm -Rf ~/Library/Logs/AndroidStudio*
rm -Rf ~/Library/Caches/AndroidStudio*
rm -Rf ~/.AndroidStudio*

if you would like to delete all projects:

rm -Rf ~/AndroidStudioProjects

to remove gradle related files (caches & wrapper)

rm -Rf ~/.gradle

use the below command to delete all Android Virtual Devices(AVDs) and *.keystore. note: this folder is used by others Android IDE as well, so if you still using other IDE you may not want to delete this folder)

rm -Rf ~/.android

to delete Android SDK tools

rm -Rf ~/Library/Android*


Topic 8 – Introduction to Mobile Application Development

Why do I need to learn about mobile application development?

Desktop applications are very useful but their deployment and updating are daunting. Web applications overcome many limitations but you still need a workstation to work with it. This is often a PC or MAC that is too large and heavy to bring on-the-go.
Nowadays most of us always bring a mobile device with us everywhere. It's very convenient if we could use our daily software inside our mobile devices. In order to  leverage our mobile devices we need to develop software for them.
Therefore you need to learn mobile programming.

What can I do after finishing learning mobile programming?

You can create applications like WhatsApp, Instagram, Temple Run, Angry Birds, Fruit Ninjia, etc.

How interesting! What should I do now?

Mobile programming requires a lot of reading. You have to master at least a programming language and a mobile platform. Currently, there are 2 major platforms for mobile development: Android and iOS. There are 3 options for learning mobile development.
The first option for learning mobile programming is Android programming.
If you are not familiar with Java language, please read this "Cay S. Horstmann (2018). Core Java Volume I--Fundamentals" book first.
After that please read this "Bill Phillips et al. (2017). Android Programming: The Big Nerd Ranch Guide. 3rd Edition. Big Nerd Ranch" book.
The second option for learning mobile application development is iOS programming.
Please read
- this "Matthew Mathias and John Gallagher (2016). Swift Programming: The Big Nerd Ranch Guide. 2nd Edition. Big Nerd Ranch" book or
- this "Matt Neuburg (2018). iOS 12 Programming Fundamentals with Swift. O'Reilly Media" book first.

After that please read 
- this "Christian Keur and Aaron Hillegass (2016). iOS Programming: The Big Nerd Ranch Guide. 6th Edition. Big Nerd Ranch" book or
- this "Jonathon Manning et al. (2018). Learning Swift - Building Apps for macOS, iOS, and Beyond. O'Reilly Media" book.

A complementary part of this option is Objective-C. Please read 
- this "Stephen G. Kochan (2013). Programming in Objective-C" book or 
- this "Neil Smyth (2012). Objective-C 2.0 Essentials" book.
The third option for developing mobile applications is either

(i) to leverage C# language and Xamarin framework; please read this "Charles Petzold (2016). Creating Mobile Apps with Xamarin.Forms" book; or

(ii) to leverage HTML/CSS/Javascript language and Ionic framework; please read this "Jeremy Wilken (2015). Ionic in Action: Hybrid Mobile Apps with Ionic and AngularJS" book; or

(iii) to leverage HTML/CSS/Javascript language and React Native framework; please read this "Alex Banks and Eve Porcello (2017). Learning React Functional Web Development with React and Redux" book; then read this "Bonnie Eisenman (2016). Learning React Native: Building Native Mobile Apps with JavaScript" book.
Mobile is a great environment for games because of its mobility. If you are interested in developing games for Android please read this  "Jayme Schroeder and Brian Broyles (2013). AndEngine for Android Game Development Cookbook" book.
If you already have a background of C or C++ and want to develop games for both Android and iOS then please read 
- this "Roger Engelbert (2015). Cocos2d-x by Example: Beginner's Guide" book or 
- this "Raydelto Hernandez (2015). Building Android Games with Cocos2d-x" book.
After finishing these books please click Topic 9 - Software Requirements to continue.