Skip to main content

Android: Using GPS and Google Map

This is a step-by-step guide for beginners to follow and learn about Androids and Google Maps.

Creating the Project

Using Eclipse, create a new Android project.

To use GPS functionality in your Android application, you'll need to add the ACCESS_FINE_LOCATION permission to the AndroidManifest.xml file:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.coalition"
      android:versionCode="1"
      android:versionName="1.0">
    <application android:icon="@drawable/icon" android:label="@string/app_name">
        <activity android:name=".CoalitionActivity"
                  android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

    </application>
    <uses-sdk android:minSdkVersion="6" />

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission>
</manifest>


I have a sample code of "HelloWorld" for Google Maps here. But remember to replace the Maps API key by following the steps below.

Register for Google Maps API key

To register for the keys, go http://code.google.com/android/maps-api-signup.html.

Get your Certificate fingerprint (MD5) by entering the following code (for windows) in command prompt. Remember to replace "<your-user-name>" with your windows username.

$ keytool -list -keystore C:/Users/<your-user-name>/.android/debug.keystore

Note: If you get "keytool is not recognized as an internal..." error, add "C:\Program Files\Java\jre6\bin" to Path in System environment.

Keep your MD5 code, you will need it every time you create a new project.

Add the following code in your main.xml file in /res/layout/.
<com.google.android.maps.MapView
    android:id="@+id/mapview1"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:clickable="true"
    android:apiKey="<your-api-key>" />

Same rule apply, replace "<your-api-key>" with the new key you have generated.


To Test GPS Functionalities in Android Emulator

There are 2 main ways to test your GPS functionality in an emulator.

1. DDMS, Android plug-in for Eclipse.

To turn on DDMS, in Eclipse menu bar, select "Windows > Open Perspective > Other..". You will see the screenshot shown.

Select "DDMS" with the Android icon beside it. You will notice your IDE layout changed as soon as you click it.

In the lower left corner, theres a "Emulator Control box".

In the box, scroll down to enter "Location Controls" (coordinates), or you can upload .GPX or .KML files. A sample of .GPX file can be obtained here.

Alternatively...



2. Telnet to Android Emulator

You can telnet to Android Emulator to manually feed in the geo coordinateness via command prompt.
C:\>telnet localhost 5554
Android Console: type 'help' for a list of commands
OK
geo fix -82.411629 28.054553
OK


Hope this helps some of you out there to get a quick start on Google Android maps.

Comments

  1. Hi Bing,

    Thanks for this very nice tutorial.

    I tried loading some of the gpx files in emulator but could not succeed. May be compatibilty issues.

    Can you please attach a compatible gpx file which will work.

    Thanks,

    Vaibhav.

    ReplyDelete

Post a Comment

Popular posts from this blog

225019099301.apps.googleusercontent.com

Recent activity on my Gmail just revealed that there's this app "Authorized Application (225019099301.apps.googleusercontent.com)" from IP address 54.235.159.144 assessing my Gmail.

The IP address is from a Amazon server ec2-54-235-159-144.compute-1.amazonaws.com. (IP Lookup).

And blacklist check (http://whatismyipaddress.com/blacklist-check) shows that the IP is clean too.

Clicking on the "Manage Account Access" didn't give any information on the application "225019099301.apps.googleusercontent.com".


After Googling, it appears that the app is Mailbox (source: http://productforums.google.com/forum/#!topic/gmail/9LVW_etXyTE)

To make things easy, Google should show the applications with their ID.


Backup MySQL to Azure Storage in 30 Seconds

Step 1. Disable password prompt for "mysqldump command"mysqldump: Got error: 1045: Access denied for user 'root'@'localhost' (using password: NO) when trying to connect 1. Run "vi ~/.my.cnf"
2. Add the following lines

[mysqldump]user=mysqluser password=secret
3. For Bitnami, you'll need to append the following line in "/opt/bitnami/mysql/my.cnf"

!include ~/.my.cnf
4. Try running to see if the command works.
mysqldump --all-databases > /home/bitnami/backups/db-backup.sql



Step 2(a). Install Azure-CLI Prerequisites: Installing npm.sudo apt-get update sudo apt-get install nodejs sudo apt-get install npm Note: If you facing issue while installing nodejs/npm on Ubuntu 12.04, you can refer to his article for alternative way to install https://rtcamp.com/tutorials/nodejs/node-js-npm-install-ubuntu/, or this http://stackoverflow.com/questions/16302436/install-nodejs-on-ubuntu-12-10#comment32247107_16303380

Install Azure CLI.npm install azure-cl…

Generate GoDaddy SSL Certificate (.crt) for Azure Websites (.pfx)

Step 1: Getting GoDaddy SSL cert.
Let's say you have a domain name of my_domain.com. You'll first need to generate the the .csr file for GoDaddy with the following command:

openssl req -new -newkey rsa:2048 -nodes -keyout my_domain.com.key -out my_domain.com.csr


This gives you 2 files:
my_domain.com.key - This is the private key
my_domain.com.csr - This is the Certificate Signing Request


Copy the content of my_domain.com.csr file to the SSL signing authority (GoDaddy).



Once approved, GoDaddy give you back a .zip file with the following 2 files:

18f1c77f369c0b59.crt - This is your cert
gd_bundle-g2-g1.crt - This is the GoDaddy Certificate Chain


Step 2: Convert a CERT/PEM certificate to a PFX certificate
openssl pkcs12 -export -out my_domain.com.pfx -inkey my_domain.com.key -in 18f1c77f369c0b59.crt


Step 3: Certificate to Upload to Azure.


Step 4: Assign SSL Bindings.




Step 5: Done!


References:

http://azure.microsoft.com/en-us/documentation/articles/web-sites-configure-ssl-certificate…