Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Android

एंड्रॉइड स्टूडियो में निर्भरता कैसे जोड़ें


यह उदाहरण दर्शाता है कि Android स्टूडियो में निर्भरता कैसे जोड़ें

चरण 1 - एंड्रॉइड स्टूडियो में एक नया प्रोजेक्ट बनाएं, फाइल ⇒ न्यू प्रोजेक्ट पर जाएं और एक नया प्रोजेक्ट बनाने के लिए सभी आवश्यक विवरण भरें।

चरण 2 - निम्न कोड को res/layout/activity_main.xml में जोड़ें।

चरण 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() {@SuppressLint("MissingPermission") @Override public void onSuccess(LocationSettingsResponse locationSettingsResponse) { Log.i(TAG, "सभी स्थान सेटिंग्स संतुष्ट हैं।"); Toast.makeText (getApplicationContext (), "स्थान अपडेट शुरू किया!", टोस्ट .LENGTH_SHORT)। शो (); // noinspection MissingPermission mFusedLocationClient.requestLocationUpdates (mLocationRequest, mLocationCallback, Looper.myLooper ()); updateLocationUI (); }}) .addOnFailureListener (यह, नया OnFailureListener() {@Override public void onFailure @NonNull अपवाद ई) { int statusCode =((ApiException) e).getStatusCode (); स्विच (स्टेटसकोड) {केस लोकेशनसेटिंग्सस्टैटसकोड्स।RESOLUTION_REQUIRED:Log.i(TAG, "स्थान सेटिंग्स संतुष्ट नहीं हैं। अपग्रेड करने का प्रयास" + "स्थान सेटिंग्स"); try {// startResolutionForResult () को कॉल करके संवाद दिखाएं, और // परिणाम को onActivityResult () में जांचें। ResolvableApiException rae =(ResolvableApiException) e; rae.startResolutionForResult(MainActivity.this, REQUEST_CHECK_SETTINGS); } पकड़ें (IntentSender.SendIntentException sie) { Log.i(TAG, "PendingIntent अनुरोध निष्पादित करने में असमर्थ।"); } तोड़ना; केस लोकेशनसेटिंग्सस्टैटसकोड्स.SETTINGS_CHANGE_UNAVAILABLE:स्ट्रिंग एररमैसेज ="स्थान सेटिंग्स अपर्याप्त हैं, और" + "यहाँ तय नहीं की जा सकती हैं। सेटिंग्स में ठीक करें।"; लॉग.ई (टैग, त्रुटि संदेश); Toast.makeText (MainActivity.this, errorMessage, Toast.LENGTH_LONG)। शो (); } अपडेटलोकेशनयूआई (); } });}सार्वजनिक शून्य startLocationButtonClick(देखें देखें) {// Dexter लाइब्रेरी Dexter.withActivity (यह) का उपयोग करके ACCESS_FINE_LOCATION का अनुरोध करना। प्रतिक्रिया) {mRequestingLocationUpdates =true; startLocationUpdates (); } @ ओवरराइड सार्वजनिक शून्य onPermissionDenied (PermissionDeniedResponse प्रतिक्रिया) { अगर (response.isPermanentlyDenied ()) {// खुली डिवाइस सेटिंग्स जब अनुमति है // स्थायी रूप से अस्वीकार कर दिया गया है सेटिंग्स (); }} @Override सार्वजनिक शून्य onPermissionRationaleShouldBeShown(PermissionRequest अनुमति, PermissionToken टोकन) {Token.continuePermissionRequest(); }}).check();}public void stopLocationButtonClick(देखें देखें) {mRequestingLocationUpdates =false; StopLocationUpdates ();}सार्वजनिक शून्य स्टॉपलोकेशनअपडेट्स () {// स्थान अपडेट को हटा रहा है ), "स्थान अपडेट बंद हो गए!", Toast.LENGTH_SHORT)। शो (); टॉगलबटन ();}});} सार्वजनिक शून्य शो LastKnownLocation (दृश्य देखें) {अगर (mCurrentLocation! =शून्य) { Toast.makeText (getApplicationContext () , "अक्षांश:" + mCurrentLocation.getLatitude() + ", Lng:" + mCurrentLocation.getLongitude(), Toast.LENGTH_LONG).show(); } और { Toast.makeText(getApplicationContext (), "अंतिम ज्ञात स्थान उपलब्ध नहीं है!", Toast.LENGTH_SHORT)। शो (); }}@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) {// पूर्णांक अनुरोध कोड की जांच करें जो मूल रूप से startResolutionForResult () को प्रदान किया गया था। अगर (अनुरोध कोड ==REQUEST_CHECK_SETTINGS) {स्विच (परिणाम कोड) {केस गतिविधि। // कुछ भी नहीं करना। startLocationupdates() को फिर से onResume में कॉल किया जाता है। तोड़ना; मामला गतिविधि.RESULT_CANCELED:Log.e(TAG, "उपयोगकर्ता ने आवश्यक स्थान सेटिंग परिवर्तन नहीं करना चुना है।"); mRequestingLocationUpdates =झूठा; तोड़ना; } }}निजी शून्य ओपनसेटिंग्स () {इरादा इरादा =नया इरादा (); इंटेंट.सेटएक्शन (सेटिंग्स.ACTION_APPLICATION_DETAILS_SETTINGS); उरी उरी =Uri.fromParts ("पैकेज", BuildConfig.APPLICATION_ID, अशक्त); आशय.सेटडेटा (यूरी); इंटेंट.सेटफ्लैग्स (इरादा.FLAG_ACTIVITY_NEW_TASK); startActivity(इरादा);}@Overridepublic void onResume() {super.onResume(); // बटन स्थिति और // अनुमत अनुमतियों के आधार पर स्थान अपडेट फिर से शुरू करना यदि (mRequestingLocationUpdates &&checkPermissions ()) { startLocationUpdates (); } अपडेटलोकेशनयूआई ();}निजी बूलियन चेकप्रमिशन () { इंट अनुमतिस्टेट =एक्टिविटी कॉम्पैट।चेकसेल्फप्रमिशन (यह, मेनिफेस्ट.परमिशन। ACCESS_FINE_LOCATION); वापसी की अनुमतिस्टेट ==पैकेज मैनेजर.PERMISSION_GRANTED;}@Override संरक्षित शून्य पर रोकें() { super.onPause(); अगर (mRequestingLocationUpdates) {// स्थान अपडेट को रोकना स्टॉपलोकेशनअपडेट्स (); }}

चरण 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 मोबाइल डिवाइस को अपने कंप्यूटर से कनेक्ट कर लिया है। एंड्रॉइड स्टूडियो से ऐप चलाने के लिए, अपने प्रोजेक्ट की गतिविधि फाइलों में से एक को खोलें और रन पर क्लिक करें टूलबार से एंड्रॉइड स्टूडियो में निर्भरता कैसे जोड़ें आइकन। एक विकल्प के रूप में अपने मोबाइल डिवाइस का चयन करें और फिर अपने मोबाइल डिवाइस की जांच करें जो आपकी डिफ़ॉल्ट स्क्रीन प्रदर्शित करेगा -

एंड्रॉइड स्टूडियो में निर्भरता कैसे जोड़ें


  1. एंड्रॉइड में एक लाइन कैसे बनाएं?

    यह उदाहरण दर्शाता है कि मैं android में एक रेखा कैसे खींच सकता हूँ। चरण 1 - एंड्रॉइड स्टूडियो में एक नया प्रोजेक्ट बनाएं, फाइल ⇒ न्यू प्रोजेक्ट पर जाएं और एक नया प्रोजेक्ट बनाने के लिए सभी आवश्यक विवरण भरें। चरण 2 - निम्न कोड को res/layout/activity_main.xml में जोड़ें। चरण 3 - निम्न कोड को src

  1. एंड्रॉइड स्टूडियो पर लाइब्रेरी के रूप में जार कैसे जोड़ें?

    यह उदाहरण दर्शाता है कि Android Studio पर जार को लाइब्रेरी के रूप में कैसे जोड़ा जाए। चरण 1 - एंड्रॉइड स्टूडियो में एक नया प्रोजेक्ट बनाएं, फाइल ⇒ न्यू प्रोजेक्ट पर जाएं और एक नया प्रोजेक्ट बनाने के लिए सभी आवश्यक विवरण भरें। चरण 2 - निम्न जार फ़ाइल को Project/app/libs/ में जोड़ें चरण 3 - फ़ा

  1. सर्कुलर इमेज व्यू एंड्रॉइड पर छाया और सीमा कैसे जोड़ें?

    यह उदाहरण दर्शाता है कि गोलाकार छवि पर छाया और बॉर्डर कैसे जोड़ा जाता है देखें android चरण 1 - एंड्रॉइड स्टूडियो में एक नया प्रोजेक्ट बनाएं, फाइल ⇒ न्यू प्रोजेक्ट पर जाएं और एक नया प्रोजेक्ट बनाने के लिए सभी आवश्यक विवरण भरें। चरण 2 - निम्न कोड को res/layout/activity_main.xml में जोड़ें। चरण 3