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

एंड्रॉइड में नेटवर्क प्रोवाइडर से शहर की जानकारी कैसे प्राप्त करें?

एंड्रॉइड में नेटवर्क प्रोवाइडर से शहर की जानकारी प्राप्त करने का तरीका

यह उदाहरण दर्शाता है कि एंड्रॉइड में नेटवर्क प्रोवाइडर का उपयोग करके वर्तमान स्थान से शहर की जानकारी कैसे प्राप्त की जाए। हम LocationManager और Geocoder का उपयोग करेंगे।

चरण 1: नया प्रोजेक्ट बनाएं

Android Studio में File → New Project पर जाएं और आवश्यक विवरण भरकर एक नया प्रोजेक्ट बनाएं।

चरण 2: लेआउट फ़ाइल संशोधित करें

res/layout/activity_main.xml में निम्न कोड जोड़ें:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="https://schemas.android.com/apk/res/android"
    xmlns:app="https://schemas.android.com/apk/res-auto"
    xmlns:tools="https://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:gravity="center"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <TextView
        android:id="@+id/text"
        android:textSize="30sp"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

</LinearLayout>

उपरोक्त कोड में हमने शहर की जानकारी दिखाने के लिए एक TextView लिया है।

चरण 3: MainActivity.java में कोड जोड़ें

src/MainActivity.java में निम्न कोड जोड़ें:

package com.example.myapplication;

import android.Manifest;
import android.content.pm.PackageManager;
import android.location.Address;
import android.location.Geocoder;
import android.location.Location;
import android.location.LocationManager;
import android.os.Build;
import android.os.Bundle;
import androidx.annotation.RequiresApi;
import androidx.core.app.ActivityCompat;
import androidx.appcompat.app.AppCompatActivity;
import android.widget.TextView;
import java.io.IOException;
import java.util.List;

public class MainActivity extends AppCompatActivity {

    TextView textView;
    Location location;
    List
addresses; Geocoder geocoder; @RequiresApi(api = Build.VERSION_CODES.P) @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); textView = findViewById(R.id.text); LocationManager locationManager = (LocationManager) getSystemService(LOCATION_SERVICE); if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) { ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.ACCESS_COARSE_LOCATION}, 101); } location = locationManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER); geocoder = new Geocoder(this); } @RequiresApi(api = Build.VERSION_CODES.O) @Override public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) { switch (requestCode) { case 101: if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) { if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED || ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) == PackageManager.PERMISSION_GRANTED) { try { addresses = geocoder.getFromLocation(location.getLatitude(), location.getLongitude(), 10); Address address = addresses.get(0); textView.setText("" + address.getLocality()); } catch (IOException e) { e.printStackTrace(); } } } break; default: super.onRequestPermissionsResult(requestCode, permissions, grantResults); } } @RequiresApi(api = Build.VERSION_CODES.O) @Override protected void onResume() { super.onResume(); if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED || ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) == PackageManager.PERMISSION_GRANTED) { try { addresses = geocoder.getFromLocation(location.getLatitude(), location.getLongitude(), 10); Address address = addresses.get(0); textView.setText("" + address.getLocality()); } catch (IOException e) { e.printStackTrace(); } } } }

चरण 4: AndroidManifest.xml में परमिशन जोड़ें

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="https://schemas.android.com/apk/res/android"
    package="com.example.myapplication">

    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

    <application
        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">

        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

    </application>
</manifest>

ऐप चलाएं

अपने वास्तविक एंड्रॉइड डिवाइस को कंप्यूटर से कनेक्ट करें। Android Studio में प्रोजेक्ट की एक्टिविटी फ़ाइल खोलें और टूलबार से Run आइकन पर क्लिक करें। अपना मोबाइल डिवाइस चुनें और देखें कि स्क्रीन पर वर्तमान शहर का नाम प्रदर्शित होगा।

  1. एंड्रॉइड में डिवाइस आईडी कैसे प्राप्त करें? एंड्रॉइड में डिवाइस आईडी कैसे प्राप्त करें?

    एंड्रॉइड में डिवाइस आईडी प्राप्त करने का पूरा गाइड यह ट्यूटोरियल आपको एंड्रॉइड ऐप में डिवाइस की यूनिक आईडी (IMEI/MEID) प्राप्त करना सिखाता है। ध्यान दें कि एंड्रॉइड 10 (API 29) से Google ने डिवाइस आईडी एक्सेस पर प्रतिबंध लगा दिए हैं, इसलिए आधुनिक ऐप्स को अन्य पहचानकर्ताओं का उपयोग करना चाहिए। चरण 1

  1. एंड्रॉइड में सिम सर्विस जानकारी कैसे प्राप्त करें? एंड्रॉइड में सिम सर्विस जानकारी कैसे प्राप्त करें?

    एंड्रॉइड में सिम सर्विस स्टेट (नेटवर्क स्थिति) प्राप्त करना यह ट्यूटोरियल दिखाता है कि TelephonyManager.getServiceState() का उपयोग करके सिम कार्ड की नेटवर्क सर्विस स्थिति कैसे प्राप्त करें। चरण 1: नया प्रोजेक्ट बनाएं Android Studio में File → New Project चुनें। चरण 2: लेआउट (res/layout/activity_ma

  1. एंड्रॉइड में कंटेंट प्रोवाइडर से फोन नंबर कैसे प्राप्त करें? एंड्रॉइड में कंटेंट प्रोवाइडर से फोन नंबर कैसे प्राप्त करें?

    एंड्रॉइड में कंटेंट प्रोवाइडर से फोन नंबर प्राप्त करना यह ट्यूटोरियल दिखाता है कि एंड्रॉइड ऐप में ContactsContract कंटेंट प्रोवाइडर का उपयोग करके डिवाइस के संपर्कों से फोन नंबर कैसे प्राप्त करें। हम READ_CONTACTS रनटाइम परमिशन को संभालेंगे, संपर्कों को क्वेरी करेंगे, और उन्हें एक ListView में प्रदर्