نمونه سورس کد دریافت موقعیت مکانی GPS با Basic4Android (B4A)


در دنیای توسعه برنامه‌های موبایل، یکی از نیازهای مهم و حیاتی، دریافت موقعیت مکانی کاربر است. این قابلیت، چه برای برنامه‌های ناوبری، چه برای برنامه‌های مبتنی بر مکان، یا حتی برنامه‌های سلامتی و ورزش، بسیار کاربردی و ضروری است. در این مقاله، قصد داریم به صورت کامل و جامع، نمونه سورس کد دریافت موقعیت مکانی GPS در B4A را توضیح دهیم. این آموزش به گونه‌ای طراحی شده است که حتی کسانی که تازه وارد این زبان برنامه‌نویسی شده‌اند، بتوانند به راحتی مفهوم را درک کنند و از آن بهره‌مند شوند.

مقدمات و پیش‌نیازها




قبل از شروع، باید مطمئن شویم که محیط توسعه شما آماده است. اولین قدم نصب و راه‌اندازی B4A است. همچنین، نیاز است مجوزهای لازم برای دسترسی به GPS در فایل Manifest برنامه درج شود. این مجوزها، شامل موارد زیر هستند:
- `<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />`

- `<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />`
در نسخه‌های جدید اندروید، علاوه بر درج در فایل Manifest، نیاز است درخواست مجوز در زمان اجرا نیز انجام شود. این کار به وسیله‌ی کدهای مربوط به درخواست مجوز انجام می‌پذیرد.

ساخت پروژه و طراحی رابط کاربری




در پروژه، معمولا چند عنصر رابط کاربری داریم. برای دریافت و نمایش موقعیت مکانی، بهتر است یک دکمه برای شروع فرآیند، یک TextView برای نمایش مختصات، و یک Label برای پیام‌های خطا یا اطلاعات دیگر قرار دهیم.
در طراحی، می‌توانید عنصرهای زیر را اضافه کنید:
- Button: با نام btnGetLocation و متن "دریافت موقعیت"

- TextView: با نام txtCoordinates و متن اولیه خالی

- Label: با نام lblStatus و متن "وضعیت برنامه"
این عناصر، کاربر را راهنمایی می‌کنند که چه کاری انجام دهد و نتایج را مشاهده کند.

کدهای پایه و منطق برنامه




حالا وارد بخش کد می‌شویم. در B4A، باید ابتدا مجوزهای لازم را درخواست کنیم. سپس، از LocationManager برای دریافت موقعیت استفاده کنیم. در ادامه، به بخش‌های مهم کد اشاره می‌کنیم.

درخواست مجوزهای لازم




در نسخه‌های جدید اندروید، باید مجوزهای دسترسی به مکان در زمان اجرا گرفته شوند. کد زیر این کار را انجام می‌دهد:
b4a  

Sub Activity_Create(FirstTime As Boolean)

If FirstTime Then

CheckAndRequestPermissions()

End If

End Sub
Sub CheckAndRequestPermissions()

Dim Permissions As Map

Permissions.Initialize

Permissions.Put("android.permission.ACCESS_FINE_LOCATION", "PermissionNeeded")

Permissions.Put("android.permission.ACCESS_COARSE_LOCATION", "PermissionNeeded")

If ~PermissionsManager.CheckPermissions(Permissions) Then

PermissionsManager.RequestPermissions(Permissions)

End If

End Sub


در این کد، ابتدا مجوزها چک می‌شوند، و در صورت نیاز، درخواست داده می‌شود. باید توجه داشت که باید PermissionManager را در پروژه فعال کرده باشید.

راه‌اندازی LocationManager




در ادامه، باید یک نمونه از LocationManager ساخته و تنظیم کنیم:
b4a  

Dim Location1 A... ← ادامه مطلب در magicfile.ir