ANDROID_MARS学习笔记_S03_005_Geocoder、AsyncTask
一、代码
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的更多相关文章
- ANDROID_MARS学习笔记_S04_002_用AsyncTask实现异步操作
一.简介 二.代码1.xml(1)activity_main.xml <?xml version="1.0" encoding="utf-8"?> ...
- Android应用开发学习笔记之AsyncTask
作者:刘昊昱 博客:http://blog.csdn.net/liuhaoyutz 在上一篇文章中我们学习了多线程和Handler消息处理机制,如果有计算量比较大的任务,可以创建一个新线程执行计算工作 ...
- ANDROID_MARS学习笔记_S04_006_用获取access_token,access_token_secrect
一.代码流程 1.MainActivity会开启PrepareRequestTokenActivity 2.PrepareRequestTokenActivity会根据配置文件的CONSUMER_KE ...
- ANDROID_MARS学习笔记_S04_005_用sing-post向腾讯微博发一条信息
一.代码流程 1.组织好sign-post需要的token,secrect 2.组织好发微博需要的信息 3.用sign-post进行签名 4.把签名结果从header中拿出来,转成entity,用ht ...
- ANDROID_MARS学习笔记_S04_004_用HTTPCLENT发带参数的get和post请求
一.代码 1.xml(1)activity_main.xml <LinearLayout xmlns:android="http://schemas.android.com/apk/r ...
- ANDROID_MARS学习笔记_S04_001_OAUTH获取request_token
一.代码 1.xml(1)main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLay ...
- ANDROID_MARS学习笔记_S01_012_RatingBar
1.xml <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns: ...
- ANDROID_MARS学习笔记_S01_012_SeekBar
1.xml <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns: ...
- ANDROID_MARS学习笔记_S01_011ProgressBar
文档是这样来设置样式 <ProgressBar android:layout_width="wrap_content" android:layout_height=" ...
随机推荐
- Magento的布局(Layout),块(Block)和模板(Template)
public function indexAction() { //remove our previous echo //echo 'Hello Index!'; $this->loadLayo ...
- Java联网技术之一HTTP
学到Java的联网技术,这里首先来看看关于URl, 要从网上获得内容, 需要实现下面的4步, 1.创建一个表示资源的网络地址的URL对象, 2.创建一个HttpURLConnection 连接对象 3 ...
- 关于ContentProvider的批量操作
今天看公司代码,发现在批量插入通话记录和联系人的时候,用了一个 ArrayList<ContentProviderOperation> ops = new ArrayList<Con ...
- Android开发之Menu组件
菜单Menu大致分为三种类型:选项菜单(OptionsMenu),上下文菜单(ContextMenu),子菜单(SubMenu). 1.选项菜单 在一个Activity界面中点击手机Menu键,在屏幕 ...
- 那天有个小孩跟我说LINQ(四)转载
1 LINQ TO SQL(代码下载) 我们以一个酒店管理系统的数据库为例子 表结构很简单:GuestInfo(客人信息表),Room(房间表),RoomType(房间类 ...
- xCode如何导入自定义的snippets文件
xCode代码块snippets导入 目标文件放置位置 ~/Library/Developer/Xcode/UserData/CodeSnippets 操作方法: 解压缩并复制到以下目录即可
- javascript变量,类型 第9节
1.变量,数据类型 <html> <head> <title>变量</title> </head> <body> <h3& ...
- 09.13随笔2014年9月13日22:32:38,奶爸的英语教室,groovy
我们这里只推荐一本语法书:台湾的旋元佑老师写的<文法俱乐部>(简体版名为<语法俱乐部>).这本书因为出版社倒闭而绝版,淘宝可以买到影印的版本. (1)学英语到 奶爸的英语教室 ...
- ZOJ 2702 Unrhymable Rhymes(DP)
题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=1702 题目大意:给定有很多数字组成的诗,譬如 “AABB”, “AB ...
- (poj)3414 Pots (输出路径的广搜)
Description You are given two pots, having the volume of A and B liters respectively. The following ...