Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class FetchAddressTask extends AsyncTask<Location, Void, String>
- {
- private Context mContext;
- private OnTaskCompleted mListener;
- interface OnTaskCompleted{
- void onTaskCompleted(String result);
- }
- FetchAddressTask(Context context, OnTaskCompleted listener){
- mContext = context;
- mListener = listener;
- }
- @Override
- protected String doInBackground(Location... locations) {
- Geocoder geocoder = new Geocoder(mContext, Locale.getDefault());
- Location location = locations[0];
- List<Address> addresses = null;
- String resultMessage = "";
- try {
- addresses = geocoder.getFromLocation(
- location.getLatitude(),
- location.getLongitude(), 1); //1 banyaknya hasil
- } catch (IOException e) {
- resultMessage = "Service not available";
- }
- if(addresses == null || addresses.size() == 0){
- resultMessage = "No Address Found";
- }else{
- Address addres = addresses.get(0);
- ArrayList<String> addresPart = new ArrayList<>();
- for (int i = 0; i < addres.getMaxAddressLineIndex(); i++) {
- addresPart.add(addres.getAddressLine(i));
- }
- resultMessage = TextUtils.join("\n",addresPart);
- }
- return resultMessage;
- }
- @Override
- protected void onPostExecute(String s) {
- mListener.onTaskCompleted(s);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement