【android基础】之编写最简单的android谷歌地图应用

有多简单呢?看,只是显示了一下地图而已:

想编写android谷歌地图应用,准备工作比编写其他应用要麻烦一些。因为:

  1. android谷歌地图API,不是开源免费的,是谷歌的私有软件,虽然是免费的;
  2. 这个API,需要时刻依赖向谷歌下载地图信息。

那么第一条还比较好办。我这里用的是android 2.1,用其他版本比如1.5的,需要做的类似。需要在项目中导入google map api,默认情况下是没有的。默认情况是android某个版本比如android 2.1,现在需要改为对应版本的google apis,版本要和android版本一致。这个google apis是同版本的android超集,包含了google的私有应用api。比如:

这样就可以在项目中使用比如:

com.google.android.maps.MapActivity

这还不够,google需要一个签名指纹的机制,要先到google注册,并把这个指纹包含在应用中,才可以下载到地图信息。也就是说每次下载地图信息要带着这个指纹信息。

指纹信息的注册和获取都是免费的。

指纹有两种:

  1. 用于开发的debug指纹,只能使用在自己的debug应用程序里;
  2. 正式的指纹。

这里只需要第一种就可以了。

操作步骤是,首先开发环境要有JDK,应该都有的吧。进入JDK的bin目录,执行:

会得到类似:

把指纹部分,复制下来。

然后访问:

http://code.google.com/intl/zh-CN/android/add-ons/google-apis/maps-api-signup.html

这里还有个前提,就是你要有google帐号,并且登录。

把刚才的md5指纹,复制到红框位置:

并且勾选同意协议。

提交后,会看到:

其实主要是得到红框的密钥。然后在程序或者布局文件中,凡是用到MapView的地方,加入或者设置androidLapiKey属性,就可以了。

代码其实很简单:

public class LocationActivity extends MapActivity {     
    private MapView mapView;      
    private MapController mapController;

    @Override     
    public void onCreate(Bundle savedInstanceState) {      
        super.onCreate(savedInstanceState);      
        setContentView(R.layout.main);      
        mapView = (MapView) findViewById(R.id.map_view);      
        Log.i("welcome", "created map activity.");      
    }

    @Override     
    protected boolean isRouteDisplayed() {      
        return false;      
    }

}

使用的布局文件:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="fill_parent"      
    android:layout_height="fill_parent">      
    <com.google.android.maps.MapView      
        android:id="@+id/map_view" android:layout_width="fill_parent"      
        android:layout_height="fill_parent" android:enabled="true"      
        android:clickable="true" android:apiKey="xxxxxxxxxxxxxx" />      
</LinearLayout>

时间: 2024-09-26 07:19:56

【android基础】之编写最简单的android谷歌地图应用的相关文章

Android 基础课堂 - Lesson.4

Android 基础课堂 上周我们讲了Android里的五大布局,学会了五大布局就有了搭建一个界面的基础了,但是简单的用一种布局是不行的,真正的开发中,避免不了多种布局的嵌套,各布局的属性也比较多,这些都需要亲自动手去尝试尝试,才能真正的掌握. 本周的内容呢,就让我们来搭建我们的APP的第一个界面吧,那么我们从哪入手呢,在现在的APP中,大多数都是含有登录界面的,登录是大部分APP必不可少的一部分,所以呢,我们就从登录界面开始吧,那么,就让我们进入本周的基础课堂吧. 第四课.从登录界面开始 一.

Android零基础入门第2节:Android 系统架构和应用组件那些事

原文:Android零基础入门第2节:Android 系统架构和应用组件那些事  继上一期浅谈了Android的前世今生,这一期一起来大致回顾一下Android 系统架构和应用组件.   一.Android 系统架构 Android系统的底层建立在Linux系统之上,该平台由操作系统.中间件.用户界面和应用软件4层组成,它采用一种被称为软件叠层(Software Stack)的方式进行构建.这种软件叠层结构使得层与层之间相互分离,明确各层的分工.这种分工保证了层与层之间的低耦合,当下层的层内或层

Android基础之使用Fragment适应不同屏幕和分辨率

以下是对Fragment的使用进行了详细的分析介绍,需要的朋友可以过来参考下   最近事情很忙,一个新项目赶着出来,但是很多功能都要重新做,一直在编写代码.Debug.今天因为一个新程序要使用Fragment来做,虽然以 前也使用过Fragment,不过没有仔细研究,今天顺道写篇文章记录一下Fragment的使用.这文章主要参考了Android官网的介绍. Fragment是Android3.0后增加的新控件,有点类似于Activity组件,也是用来承载各种View元素.Google增加这个玩

Android 基础课堂 - Lesson.6 - 如果登录成功了

Android 基础课堂 上周我们已经写完登录界面啦,也测试过登录成功和登录失败的情况了,回想一下我们在登录成功和登录失败的时候,分别做了啥呢,没错,成功和失败我们都是弹出一个toast告诉用户登录失败了或者登录成功了,然而现实的场景是什么样的呢. 在现实场景中,如果我们登录失败了,那么弹出一个toast来告知用户,这个是没有问题的,那么登录成功了呢?当然是不能弹出一个toast然后啥都不做的,正常情况下,我们都应该跳转到一个另外的页面,让用户进入到我们的APP,好,本周我们就将继续推移下去,看

Android零基础入门第1节:Android的前世今生

原文:Android零基础入门第1节:Android的前世今生 现在网上有很多各色Android资料了,但相对来说还是比较零散,Android覆盖的范围极广,最近刚好有机会全部拉通整理一遍,也保存起来方便后期学习. 这一系列资料从最初的Android认识到Android高级开发,会免费共享出来分享给大家,包括中间会涉及到的一些源码.今天这是开篇,赶紧上车一起来聊一聊Android的前世今生.   一.IT行业发展几个阶段   IT行业是个年轻的行业,共总也才60多年时间,大致分为硬件.软件.互联

设计简单的Android图片加载框架_Android

目前Android 发展至今优秀的图片加载框架太多,例如: Volley ,Picasso,Imageloader,Glide等等.但是作为程序猿,懂得其中的实现原理还是相当重要的,只有懂得才能更好地使用.于是乎,今天我就简单设计一个网络加载图片框架.主要就是熟悉图片的网络加载机制. 一般来说,一个优秀的 图片加载框架(ImageLoader) 应该具备如下功能: 图片压缩 内存缓存 磁盘缓存 图片的同步加载 图片的异步加载 网络拉取 那我们就从以上几个方面进行介绍: 1.图片压缩(有效的降低O

CoordinatorLayout的使用如此简单(Android)_Android

曾在网上找了一些关于CoordinatorLayout的教程,大部分文章都是把CoordinatorLayout.AppbarLayout.CollapsingToolbarLayout 以及Toolbar等一起使用来介绍,这让我不知不觉在心中认为把这几个布局要一起使用,而且只是用于那种场景中.其实CoordinatorLayout的功能并不是局限于与AppBarLayout一起使用,它的功能强大着呢,本文主要对CoordinatorLayout的使用进行介绍,后面再写一篇文章将AppBarLa

【Xamarin开发 Android 系列 4】 Android 基础知识

原文:[Xamarin开发 Android 系列 4] Android 基础知识 什么是Android?   Android一词的本义指"机器人",同时也是Google于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称,该平台由操作系统.中间件.用户界面和应用软件组成,而且不存在任何以往阻碍移动产业创新的专有权障碍,号称是首个为移动终端打造的真正开放和完整的移动软件. Android是一种以Linux为基础的开放源代码操作系统,主要使用于便携设备.目前尚未有统一中文

Android零基础入门第36节:Android系统事件的响应

原文:Android零基础入门第36节:Android系统事件的响应    在开发Android应用时,有时候可能需要让应用程序随系统设置而进行调整,比如判断系统的屏幕方向.判断系统方向的方向导航设备等.除此之外,有时候可能还需要让应用程序监听系统设置的更改,对系统设置的更改做出响应.     一.Configuration类       Configuration类专门用于描述手机设备上的配置信息,这些配置信息既包括用户特定的配置项,也包括系统的动态设备配置.程序可调用Activity的如下方