一、代码
1.xml
(1)AndroidManifest.xml

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

2.java
(1)MainActivity.java

 package com.location3;

 import java.io.IOException;
import java.util.List; import android.app.Activity;
import android.location.Address;
import android.location.Geocoder;
import android.os.AsyncTask;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button; public class MainActivity extends Activity {
private Button geocodingButton = null;
private Button reverseGeocodingButton = null; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); geocodingButton = (Button)findViewById(R.id.getLocationButton);
reverseGeocodingButton = (Button)findViewById(R.id.getLocationNameButton); geocodingButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
new GeocodingTask().execute(new Integer(1));
}
}); reverseGeocodingButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
new ReverseGeocodingTask().execute(new Integer(2));
}
});
} private class GeocodingTask extends AsyncTask<Integer, Integer, Integer> {
@Override
protected Integer doInBackground(Integer... params) {
//创建Geocoder对象,执行相关查询,但是存在未知BUG,导致服务不可用
Geocoder geocoder = new Geocoder(MainActivity.this);
try {
//SFO是美国机场的一个简称
List<Address> addresses = geocoder.getFromLocationName("SFO", 1);
System.out.println("GeocodingTask addresses--->");
for(Address address : addresses) {
System.out.println(address);
}
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
} private class ReverseGeocodingTask extends AsyncTask<Integer, Integer, Integer> {
@Override
protected Integer doInBackground(Integer... params) {
Geocoder geocoder = new Geocoder(MainActivity.this);
//根据给定的经纬度,查询符合条件的地址
try {
List<Address> addresses = geocoder.getFromLocation(40.711442,-73.961452, 1);
System.out.println("ReverseGeocodingTask addresses -->");
for(Address address : addresses) {
System.out.println(address);
}
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
}
}

ANDROID_MARS学习笔记_S03_005_Geocoder、AsyncTask的更多相关文章

  1. ANDROID_MARS学习笔记_S04_002_用AsyncTask实现异步操作

    一.简介 二.代码1.xml(1)activity_main.xml <?xml version="1.0" encoding="utf-8"?> ...

  2. Android应用开发学习笔记之AsyncTask

    作者:刘昊昱 博客:http://blog.csdn.net/liuhaoyutz 在上一篇文章中我们学习了多线程和Handler消息处理机制,如果有计算量比较大的任务,可以创建一个新线程执行计算工作 ...

  3. ANDROID_MARS学习笔记_S04_006_用获取access_token,access_token_secrect

    一.代码流程 1.MainActivity会开启PrepareRequestTokenActivity 2.PrepareRequestTokenActivity会根据配置文件的CONSUMER_KE ...

  4. ANDROID_MARS学习笔记_S04_005_用sing-post向腾讯微博发一条信息

    一.代码流程 1.组织好sign-post需要的token,secrect 2.组织好发微博需要的信息 3.用sign-post进行签名 4.把签名结果从header中拿出来,转成entity,用ht ...

  5. ANDROID_MARS学习笔记_S04_004_用HTTPCLENT发带参数的get和post请求

    一.代码 1.xml(1)activity_main.xml <LinearLayout xmlns:android="http://schemas.android.com/apk/r ...

  6. ANDROID_MARS学习笔记_S04_001_OAUTH获取request_token

    一.代码 1.xml(1)main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLay ...

  7. ANDROID_MARS学习笔记_S01_012_RatingBar

    1.xml <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns: ...

  8. ANDROID_MARS学习笔记_S01_012_SeekBar

    1.xml <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns: ...

  9. ANDROID_MARS学习笔记_S01_011ProgressBar

    文档是这样来设置样式 <ProgressBar android:layout_width="wrap_content" android:layout_height=" ...

随机推荐

  1. Magento的布局(Layout),块(Block)和模板(Template)

    public function indexAction() { //remove our previous echo //echo 'Hello Index!'; $this->loadLayo ...

  2. Java联网技术之一HTTP

    学到Java的联网技术,这里首先来看看关于URl, 要从网上获得内容, 需要实现下面的4步, 1.创建一个表示资源的网络地址的URL对象, 2.创建一个HttpURLConnection 连接对象 3 ...

  3. 关于ContentProvider的批量操作

    今天看公司代码,发现在批量插入通话记录和联系人的时候,用了一个 ArrayList<ContentProviderOperation> ops = new ArrayList<Con ...

  4. Android开发之Menu组件

    菜单Menu大致分为三种类型:选项菜单(OptionsMenu),上下文菜单(ContextMenu),子菜单(SubMenu). 1.选项菜单 在一个Activity界面中点击手机Menu键,在屏幕 ...

  5. 那天有个小孩跟我说LINQ(四)转载

    1  LINQ TO SQL(代码下载)       我们以一个酒店管理系统的数据库为例子         表结构很简单:GuestInfo(客人信息表),Room(房间表),RoomType(房间类 ...

  6. xCode如何导入自定义的snippets文件

    xCode代码块snippets导入 目标文件放置位置 ~/Library/Developer/Xcode/UserData/CodeSnippets 操作方法: 解压缩并复制到以下目录即可

  7. javascript变量,类型 第9节

    1.变量,数据类型 <html> <head> <title>变量</title> </head> <body> <h3& ...

  8. 09.13随笔2014年9月13日22:32:38,奶爸的英语教室,groovy

    我们这里只推荐一本语法书:台湾的旋元佑老师写的<文法俱乐部>(简体版名为<语法俱乐部>).这本书因为出版社倒闭而绝版,淘宝可以买到影印的版本. (1)学英语到 奶爸的英语教室  ...

  9. ZOJ 2702 Unrhymable Rhymes(DP)

    题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=1702 题目大意:给定有很多数字组成的诗,譬如 “AABB”, “AB ...

  10. (poj)3414 Pots (输出路径的广搜)

    Description You are given two pots, having the volume of A and B liters respectively. The following ...