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

Android में Network Provider से वर्तमान पोस्टल कोड कैसे प्राप्त करें?

Android में Network Provider से वर्तमान पोस्टल कोड प्राप्त करना

यह उदाहरण दर्शाता है कि Android में Network Provider का उपयोग करके वर्तमान पोस्टल कोड कैसे प्राप्त किया जाए।

चरण 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 android.support.annotation.RequiresApi;
import android.support.v4.app.ActivityCompat;
import android.support.v7.app.AppCompatActivity;
import android.widget.TextView;
import java.io.IOException;
import java.util.List;

public class MainActivity extends AppCompatActivity {
    TextView textView;
    Location location;
    List<Address> 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) {
                        return;
                    }
                    try {
                        addresses = geocoder.getFromLocation(location.getLatitude(), location.getLongitude(), 10);
                        if (addresses != null && !addresses.isEmpty()) {
                            Address address = addresses.get(0);
                            textView.setText(address.getPostalCode());
                        }
                    } 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) {
            return;
        }
        try {
            addresses = geocoder.getFromLocation(location.getLatitude(), location.getLongitude(), 10);
            if (addresses != null && !addresses.isEmpty()) {
                Address address = addresses.get(0);
                textView.setText(address.getPostalCode());
            }
        } 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.READ_PHONE_STATE" />
    <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 डिवाइस को कंप्यूटर से कनेक्ट करें। Android Studio में प्रोजेक्ट की एक्टिविटी फ़ाइल खोलें और टूलबार से Run आइकन पर क्लिक करें। अपना मोबाइल डिवाइस चुनें और डिवाइस पर आउटपुट देखें।

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

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

  1. Android में इंटरनेट से वर्तमान दिनांक और समय कैसे प्राप्त करें Android में इंटरनेट से वर्तमान दिनांक और समय कैसे प्राप्त करें

    परिचयडिवाइस का स्थानीय समय अविश्वसनीय हो सकता है। यह लेख एक सरल उदाहरण दिखाता है जहां बटन क्लिक पर वर्तमान दिनांक-समय प्रदर्शित किया जाता है (हालांकि यह उदाहरण वास्तव में डिवाइस के कैलेंडर का उपयोग करता है, इंटरनेट से नहीं; वास्तविक नेटवर्क समय के लिए NTP या समय API की आवश्यकता होती है)।कार्यान्वयनच

  1. एंड्रॉइड पर प्रोग्रामेटिकली वर्तमान GPS लोकेशन कैसे प्राप्त करें? एंड्रॉइड पर प्रोग्रामेटिकली वर्तमान GPS लोकेशन कैसे प्राप्त करें?

    एंड्रॉइड में FusedLocationProviderClient का उपयोग करके GPS लोकेशन प्राप्त करना यह उदाहरण दर्शाता है कि एंड्रॉइड ऐप में प्रोग्रामेटिकली वर्तमान GPS लोकेशन कैसे प्राप्त करें। हम Google Play Services के FusedLocationProviderClient का उपयोग करेंगे, जो बैटरी-कुशल तरीके से सटीक लोकेशन प्रदान करता है। आवश