آموزش به دست آوردن سرعت از gps در اندروید
سلام دوستان در این سری از آموزش برنامه نویسی اندروید به آموزش به دست آوردن سرعت از gps در اندروید خواهیم پرداخت در این آموزش سرعت گوشی درحال حرکت را به دست می آوریم در ادامه با ما همراه باشید.
برای اینکه از این کد استفاده کنید لازم است یکسری دسترسی خاص را اضافه کنید در ادامه لیستی از دسترسی ها که باید استفاده شود نظاره خواهید کرد.
- INTERNET
- ACCESS_NETWORK_STATE
- READ_PHONE_STATE
- ACCESS_COARSE_LOCATION
- ACCESS_FINE_LOCATION
پس وارد فایل AndroidManifest.xml شده و دسترسی های زیر را به آن اضافه کنید در صورت اضافه نکردن با خطا مواجه خواهید شد (برنامه Force Close می دهد).
1 2 3 4 5 | <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> |
در این آموزش نیازی نیست کدی در layout قرار گیرد.
پس ابتدا وارد اکتیویتی خود شده در اینجا نام آن برابر با SpeedAlarmActivity.java است و کد های زیر را در آن قرار دهید.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | package ir.programchi; import android.app.Activity; import android.content.Context; import android.location.Location; import android.location.LocationListener; import android.location.LocationManager; import android.os.Bundle; import android.widget.Toast; import com.example.geofenceapp.R; public class SpeedAlarmActivity extends Activity { Context context; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_speed_alarm); // Acquire a reference to the system Location Manager LocationManager locationManager = (LocationManager) this .getSystemService(Context.LOCATION_SERVICE); // Define a listener that responds to location updates LocationListener locationListener = new LocationListener() { public void onLocationChanged(Location location) { location.getLatitude(); Toast.makeText(context, "Current speed:" + location.getSpeed(), Toast.LENGTH_SHORT).show(); } public void onStatusChanged(String provider, int status, Bundle extras) { } public void onProviderEnabled(String provider) { } public void onProviderDisabled(String provider) { } }; locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, locationListener); } } |
در بالا بعد از اینکه location کاربر به دست می آید برنامه با استفاه از متود getSpeed شروع به دست آوردن سرعت می کند . void های دیگری نیز قرار دارد که در اینجا نیازی به استفاده از آنها نیست .
این آموزش هم به پایان رسید.
موفق و موید باشید.