यह उदाहरण दर्शाता है कि Android स्टूडियो में निर्भरता कैसे जोड़ें
चरण 1 - एंड्रॉइड स्टूडियो में एक नया प्रोजेक्ट बनाएं, फाइल ⇒ न्यू प्रोजेक्ट पर जाएं और एक नया प्रोजेक्ट बनाने के लिए सभी आवश्यक विवरण भरें।
चरण 2 - निम्न कोड को res/layout/activity_main.xml में जोड़ें।
<बटन android:id="@+id/btn_stop_location_updates" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="10dp" android:enabled="false" android:onClick="stopLocationButtonClick" android:text="@string/stop_updates" />
चरण 3 - निम्न कोड को src/MainActivity.java
में जोड़ें <पूर्व>पैकेज app.com.sample;import androidx.annotation.NonNull;import androidx.appcompat.app.AppCompatActivity;import androidx.core.app.ActivityCompat;import android.Manifest;import android.annotation.SuppressLint;import android. app.Activity;import android.content.Intent;import android.content.IntentSender;import android.content.pm.PackageManager;import android.location.Location;import android.net.Uri;import android.os.Bundle;import android .os.Looper;import android.provider.Settings;import android.util.Log;import android.view.View;import android.widget.Button;import android.widget.TextView;import android.widget.Toast;import com. google.android.gms.common.api.ApiException;import com.google.android.gms.common.api.ResolvableApiException;import com.google.android.gms.location.FusedLocationProviderClient;import com.google.android.gms.location .LocationCallback;import com.google.android.gms.location.LocationRequest;import com.google.android.gms.location.LocationResult;import com.google.android आयात करें .android.gms.location.SettingsClient;import com.google.android.gms.tasks.OnCompleteListener;import com.google.android.gms.tasks.OnFailureListener;import com.google.android.gms.tasks.OnSuccessListener;import com .google.android.gms.tasks.Task;import com.karumi.dexter.Dexter;import com.karumi.dexter.PermissionToken;import com.karumi.dexter.listener.PermissionDeniedResponse;import com.karumi.dexter.listener.PermissionGrantedResponse आयात करें =MainActivity.class.getSimpleName (); टेक्स्ट व्यू txtLocationResult; टेक्स्ट व्यू txtUpdatedOn; बटन btnStartUpdates; बटन btnStopUpdates; // स्थान अंतिम अद्यतन समय निजी स्ट्रिंग mLastUpdateTime; // स्थान अपडेट अंतराल - 10 सेकंड निजी स्थिर अंतिम लंबा UPDATE_INTERVAL_IN_MILLISECONDS =10000; // सबसे तेज़ अपडेट अंतराल - 5 सेकंड निजी स्थिर अंतिम int REQUEST_CHECK_SETTINGS =100; // स्थान से संबंधित एपिस का समूह निजी फ्यूज्डलोकेशनप्रोवाइडर क्लाइंट mFusedLocationClient; निजी सेटिंग्स क्लाइंट mSettingsClient; निजी स्थानअनुरोध निजी स्थानसेटिंग्सअनुरोध एमएललोकेशनसेटिंग्सअनुरोध; निजी स्थानकॉलबैक एमएललोकेशनकॉलबैक; निजी स्थान mCurrentLocation; // बूलियन ध्वज ui निजी बूलियन mRequestingLocationUpdates को चालू करने के लिए; @Override संरक्षित शून्य पर क्रिएट (बंडल सेव किया गया इंस्टेंसस्टेट) {super.onCreate (savedInstanceState); setContentView(R.layout.activity_main); // आवश्यक पुस्तकालयों को इनिशियलाइज़ करें init (); // सहेजे गए उदाहरण स्थिति से मूल्यों को पुनर्स्थापित करें } निजी शून्य init () { txtLocationResult =findViewById (R.id.location_result); txtUpdatedOn =findViewById (R.id.updated_on); btnStartUpdates =findViewById (R.id.btn_start_location_updates); btnStopUpdates =findViewById (R.id.btn_stop_location_updates); mFusedLocationClient =LocationServices.getFusedLocationProviderClient (यह); mSettingsClient =LocationServices.getSettingsClient(यह); mLocationCallback =नया स्थान कॉलबैक () {@Override सार्वजनिक शून्य onLocationResult(LocationResult locationResult) {super.onLocationResult(locationResult); // स्थान प्राप्त हुआ है mCurrentLocation =locationResult.getLastLocation (); mLastUpdateTime =DateFormat.getTimeInstance ()। प्रारूप (नई तिथि ()); अद्यतन स्थानयूआई (); } }; mRequestingLocationUpdates =झूठा; एमएललोकेशन रिक्वेस्ट =नया लोकेशन रिक्वेस्ट (); mLocationRequest.setInterval(UPDATE_INTERVAL_IN_MILLISECONDS); mLocationRequest.setFastestInterval(FASTEST_UPDATE_INTERVAL_IN_MILLISECONDS); mLocationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY); LocationSettingsRequest.Builder निर्माता =नया स्थान सेटिंग्सRequest.Builder (); Builder.addLocationRequest (mLocationRequest); mLocationSettingsRequest =builder.build(); }/*** सहेजे गए इंस्टेंस स्थिति से मूल्यों को पुनर्स्थापित करना */निजी शून्य पुनर्स्थापना वैल्यूज़फ्रॉमबंडल (बंडल सहेजा गया इंस्टेंसस्टेट) {अगर (सहेजे गए इंस्टेंसस्टेट! =शून्य) { अगर (savedInstanceState.containsKey ("is_requesting_updates")) {_updatesLocationUpdates =saveInstanceState.getreolean ("_updatesLocationUpdates =saveInstanceState.getreolean" (" ); } अगर (savedInstanceState.containsKey("last_known_location")) {mCurrentLocation =saveInstanceState.getParcelable("last_known_location"); } अगर (savedInstanceState.containsKey("last_updated_on")) { mLastUpdateTime =saveInstanceState.getString ("last_updated_on"); } } अपडेटलोकेशनयूआई (); }/*** स्थान डेटा प्रदर्शित करने वाले UI को अपडेट करें* और बटनों को टॉगल करते हुए*/निजी शून्य अपडेटLocationUI() { if (mCurrentLocation !=null) { txtLocationResult.setText("Lat:" + mCurrentLocation.getLatitude() + ", " + "एलएनजी:" + mCurrentLocation.getLongitude ()); // TextView txtLocationResult.setAlpha (0) पर एक ब्लिंक एनीमेशन देना; txtLocationResult.animate().alpha(1).setDuration(300); // स्थान अंतिम अद्यतन समय txtUpdatedOn.setText ("पिछली बार अपडेट किया गया:" + mLastUpdateTime); } टॉगलबटन (); } @SaveInstanceState (बंडल आउटस्टेट) पर सार्वजनिक शून्य को ओवरराइड करें {super.onSaveInstanceState (आउटस्टेट); outState.putBoolean ("is_requesting_updates", mRequestingLocationUpdates); outState.putParcelable ("last_known_location", mCurrentLocation); outState.putString ("last_updated_on", mLastUpdateTime); } निजी शून्य टॉगलबटन () { अगर (mRequestingLocationUpdates) { btnStartUpdates.setEnabled (गलत); btnStopUpdates.setEnabled(true); } और { btnStartUpdates.setEnabled (सच); btnStopUpdates.setEnabled (झूठा); } }/*** स्थान अपडेट शुरू करना* जांचें कि क्या स्थान सेटिंग्स संतुष्ट हैं और फिर* स्थान अपडेट का अनुरोध किया जाएगा*/ निजी शून्य startLocationUpdates() { mSettingsClient .checkLocationSettings(mLocationSettingsRequest) .addOnSuccessListener(यह, नया OnSuccessListenerचरण 4 - निम्न कोड को build.gradle(app level)
. में जोड़ें// लोकेशन प्ले सर्विसेज़ इम्प्लीमेंटेशन 'com.google.android.gms:play-services-location:17.0.0'// डेक्सटर रनटाइम परमिशन्सइम्प्लीमेंटेशन 'com.karumi:dexter:4.2.0'
चरण 5 - निम्न कोड को androidManifest.xml में जोड़ें
<उपयोग-अनुमति android:name="android.permission.ACCESS_FINE_LOCATION"/> <एप्लिकेशन android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android :roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/AppTheme"> <गतिविधि android:name=".MainActivity"> <इरादे-फ़िल्टर> <कार्रवाई android:name=" android.intent.action.MAIN" /> <श्रेणी android:name="android.intent.category.LAUNCHER" />
आइए आपके एप्लिकेशन को चलाने का प्रयास करते हैं। मुझे लगता है कि आपने अपने वास्तविक Android मोबाइल डिवाइस को अपने कंप्यूटर से कनेक्ट कर लिया है। एंड्रॉइड स्टूडियो से ऐप चलाने के लिए, अपने प्रोजेक्ट की गतिविधि फाइलों में से एक को खोलें और रन पर क्लिक करें टूलबार से आइकन। एक विकल्प के रूप में अपने मोबाइल डिवाइस का चयन करें और फिर अपने मोबाइल डिवाइस की जांच करें जो आपकी डिफ़ॉल्ट स्क्रीन प्रदर्शित करेगा -