第一步:用一个工具类存放getAddress()方法/** * 根据经纬度获取地理位置 * * @param context 上下文 * * @param latitude  纬度 * @param longitude 经度 * @return {@link Address} */public static Address getAddress(Context context, double latitude, double longitude) {    Geocoder geocoder = new Geocoder(context, Locale.getDefault());    try {        List addresses = geocoder.getFromLocation(latitude, longitude, 1);        if (addresses.size() > 0)            return addresses.get(0);    } catch (IOException e) {        e.printStackTrace();    }    return null;}

第二步:开一个线程去调起getAddress()方法(关键)

new Thread() {    @Override    public void run() {        //需要在子线程中处理的逻辑              if (location != null) {       Address tempAddress = LocationUtil.getAddress(context,location.getLatitude(),location.getLongitude());        }       }}.start();

第三步:从子线程中拿出解析后的地址

(在调用前先准备好)

public void getAdress(final LatLon latLon){    if (latLon != null){        new Thread() {            @Override            public void run() {                //设置地理地址                Address address = LocationUtil.getAddress(DCTableActivity.this, latLon.getLat(), latLon.getLon());                if (address != null) {                    String locationAddr = address.getAddressLine(0).replace("Unnamed Road", "");                    SharedPreferences.Editor editor = getCacheEdit();                    editor.putString(GEOGRAPHICAL_POSITION,locationAddr);                    editor.commit();                }            }        }.start();    }}

更多相关文章

  1. SQLite数据库并发访问
  2. Android面试题总结(七)原理篇
  3. Android(安卓)计算两个地理坐标之间的距离
  4. Android基于Handler实现倒计时
  5. 【Android(安卓)Socket专题】:UDP通信客户端app的demo的实现
  6. Eclipse+android 开发配置步骤
  7. Android中利用画图类和线程画出闪烁的心形
  8. 【Android】开源项目汇总
  9. Android(安卓)ANR 探索

随机推荐

  1. 数据库_6_SQL基本操作——库操作
  2. AppScan安全问题解决方案
  3. sqlserver2000的jdbc驱动一定要用.exe安
  4. 浅谈MYSQL索引应用(一)
  5. 从MySQL转储中删除DEFINER子句。
  6. 使用VB将Excel导入到Sql中
  7. [SQL Server] 数据库日志文件自动增长导
  8. 通过SQL语句访问远程数据库
  9. linux使用freetds 连接连远程服务器sqlse
  10. Statement及PreparedStatement执行多个sq