লোকেশন সার্ভিস আপনার অ্যাপে হয় একটি Intent হিসাবে অথবা আপনার দ্বারা নির্ধারিত একটি কলব্যাক পদ্ধতিতে পাস করা একটি আরগুমেন্ট হিসাবে লোকেশন আপডেট পাঠিয়ে থাকে। এই অনুশীলনী দেখায় কীভাবে একটি কলব্যাক পদ্ধতি ব্যবহার করে আপডেট পেতে হয়, কারন ঐ প্যাটার্ন সবচেয়ে ব্যবহার কেসে সবচেয়ে ভালো কাজ করে। আপনি যদি একটি Intent এর আকারে আপডেট গ্রহণ করতে চান, Recognizing the User's Current Activity অনুশীলনীটি পড়ুন, যা একই ধরনের প্যাটার্ন পরিবেশন করে।
কলব্যাক পদ্ধতিটি যা আপনার অ্যাপে লোকেশন আপডেট পাঠাতে লোকেশন সার্ভিস আহবান করে, তা পদ্ধতি onLocationChanged()এর মধ্যে LocationListener ইন্টারফেসে নির্দিষ্ট। ইনকামিং আরগুমেন্ট হচ্ছে লোকেশনের অক্ষাংশ এবং দ্রাঘিমাংশ ধারন করা একটি Location অবজেক্ট। নিচের কোড চিত্রটি দেখায় কীভাবে ইন্টারফেস নির্দিষ্ট করতে হয় এবং পদ্ধতি নির্ধারিত করতে হয়:
public class MainActivity extends FragmentActivity implements
GooglePlayServicesClient.ConnectionCallbacks,
GooglePlayServicesClient.OnConnectionFailedListener,
LocationListener {
...
// Define the callback method that receives location updates
@Override
public void onLocationChanged(Location location) {
// Report to the UI that the location was updated
String msg = "Updated Location: " +
Double.toString(location.getLatitude()) + "," +
Double.toString(location.getLongitude());
Toast.makeText(this, msg, Toast.LENGTH_SHORT).show();
}
...
}
এখন আপনি কলব্যাক তৈরী করেছেন, আপনি লোকেশন আপডেটের জন্য রিকোয়েস্ট সেটআপ করতে পারেন। প্রথম ধাপ হচ্ছে প্যারামিটার নির্দিষ্ট করা যা আপডেট নিয়স্ত্রণ করে।