Android地理代码滞后问题
每当我使用Geocode类的反向地理编码来获取当前的城市名称时,整个用户界面都会冻结片刻,直到返回响应。如何避免此问题?您可能希望使用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
异步任务
:
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线程中执行此操作。在后台线程中执行地理编码(异步任务)