Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android地理代码滞后问题_Android_Reverse Geocoding - Fatal编程技术网

Android地理代码滞后问题

Android地理代码滞后问题,android,reverse-geocoding,Android,Reverse Geocoding,每当我使用Geocode类的反向地理编码来获取当前的城市名称时,整个用户界面都会冻结片刻,直到返回响应。如何避免此问题?您可能希望使用异步任务: private void doGeoCode(Location loc){ AsyncTask<Location,Void,String> task = new AsyncTask<Location,Void,String>(){ @Override protected String doInBackgro

每当我使用Geocode类的反向地理编码来获取当前的城市名称时,整个用户界面都会冻结片刻,直到返回响应。如何避免此问题?

您可能希望使用
异步任务

private void doGeoCode(Location loc){

 AsyncTask<Location,Void,String> task  = new AsyncTask<Location,Void,String>(){

   @Override
    protected String doInBackground(Location... args) {
      Location loc = args[0];
      String address = "Unknown";

      //--do geo code lookup--

      return address;
    }

    @Override
    protected void onPostExecute(String address){
      //--set some TextView's text etc.
    }

 };

  task.execute(loc);
}
private void doGeoCode(位置loc){
AsyncTask任务=新建AsyncTask(){
@凌驾
受保护字符串DOIN背景(位置…args){
位置loc=args[0];
字符串地址=“未知”;
//--进行地理代码查找--
回信地址;
}
@凌驾
受保护的void onPostExecute(字符串地址){
//--设置一些文本视图的文本等。
}
};
任务执行(loc);
}

您可能希望在单独的线程中而不是在UI线程中执行此操作。在后台线程中执行地理编码(异步任务)