title: How can I get my current location in Android using GPS?
body: <blockquote>
    <p>I want to get my current location in the form of an address by GPS. I am using the android studio.
    It is saying that my application stops working.
    What is the error in it?
    Can someone help me to get out of this, please?</p>
  </blockquote>
  
  <p>My Code in activity_main.xml file is</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt;
  &lt;android.support.constraint.ConstraintLayout 
  xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:app="http://schemas.android.com/apk/res-auto"
  xmlns:tools="http://schemas.android.com/tools"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  tools:context=".MainActivity"&gt;
  
  &lt;TextView
      android:id="@+id/text_view"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="Hello World!"
      app:layout_constraintBottom_toBottomOf="parent"
      app:layout_constraintLeft_toLeftOf="parent"
      app:layout_constraintRight_toRightOf="parent"
      app:layout_constraintTop_toTopOf="parent" /&gt;
  </code></pre>
  
  <p></p>
  
  <p>My code in MainActivity.java is</p>
  
  <pre><code>package com.example.showlatlong;
  
  import androidx.appcompat.app.AppCompatActivity;
  import androidx.core.app.ActivityCompat;
  
  import android.Manifest;
  import android.content.Context;
  import android.content.pm.PackageManager;
  import android.location.Address;
  import android.location.Geocoder;
  import android.location.Location;
  import android.location.LocationManager;
  import android.os.Bundle;
  import android.widget.TextView;
  
  import java.util.List;
  import java.util.Locale;
  
  public class MainActivity extends AppCompatActivity {
  
  Location gps_loc, network_loc, final_loc;
  double longitude;
  double latitude;
  String userCountry, userAddress;
  
  
  @Override
  protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);
  
      TextView tv = findViewById(R.id.text_view);
  
      LocationManager locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
  
  
      if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED
              &amp;&amp; ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED
              &amp;&amp; ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_NETWORK_STATE) != PackageManager.PERMISSION_GRANTED) {
  
          return;
      }
  
      try {
          gps_loc = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
          network_loc = locationManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);
      } catch (Exception e) {
          e.printStackTrace();
      }
  
      if (gps_loc != null) {
          final_loc = gps_loc;
          latitude = final_loc.getLatitude();
          longitude = final_loc.getLongitude();
      }
      else if (network_loc != null) {
          final_loc = network_loc;
          latitude = final_loc.getLatitude();
          longitude = final_loc.getLongitude();
      }
      else {
          latitude = 0.0;
          longitude = 0.0;
      }
  
       ActivityCompat.requestPermissions(this, new String[] {Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.ACCESS_COARSE_LOCATION, Manifest.permission.ACCESS_NETWORK_STATE}, 1);
  
  
  
      try {
  
          Geocoder geocoder = new Geocoder(this, Locale.getDefault());
          List&lt;Address&gt; addresses = geocoder.getFromLocation(latitude, longitude, 1);
          if (addresses != null &amp;&amp; addresses.size() &gt; 0) {
              userCountry = addresses.get(0).getCountryName();
              userAddress = addresses.get(0).getAddressLine(0);
              tv.setText(userCountry + ", " + userAddress);
          }
          else {
              userCountry = "Unknown";
              tv.setText(userCountry);
          }
  
      } catch (Exception e) {
          e.printStackTrace();
      }
  
  }
  </code></pre>
  
  <p>}</p>
  
  <p>My code in manifest.xml is</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt;
  </code></pre>
  
  <p></p>
  
  <pre><code>&lt;uses-permission android:name="android.permission.INTERNET"/&gt;
  &lt;uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/&gt;
  &lt;uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/&gt;
  &lt;uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/&gt;
  
  &lt;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"&gt;
      &lt;activity android:name=".MainActivity"&gt;
          &lt;intent-filter&gt;
              &lt;action android:name="android.intent.action.MAIN" /&gt;
  
              &lt;category android:name="android.intent.category.LAUNCHER" /&gt;
          &lt;/intent-filter&gt;
      &lt;/activity&gt;
  &lt;/application&gt;
  </code></pre>
  
  <p></p>
  
  <p>The entire code is this. It is opening the app and in less than a second, it is closing by throwing an error message that "app keeps stopping" on my android application.
  This is what I got in the logcat is</p>
  
  <pre><code>2019-09-11 12:58:45.344 15400-15400/com.example.showlatlong E/AndroidRuntime: FATAL EXCEPTION: main
  Process: com.example.showlatlong, PID: 15400
  java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.showlatlong/com.example.showlatlong.MainActivity}: android.view.InflateException: Binary XML file line #2: Binary XML file line #2: Error inflating class android.support.constraint.ConstraintLayout
      at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2723)
      at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2784)
      at android.app.ActivityThread.-wrap12(ActivityThread.java)
      at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1523)
      at android.os.Handler.dispatchMessage(Handler.java:102)
      at android.os.Looper.loop(Looper.java:163)
      at android.app.ActivityThread.main(ActivityThread.java:6238)
      at java.lang.reflect.Method.invoke(Native Method)
      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:933)
      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:823)
   Caused by: android.view.InflateException: Binary XML file line #2: Binary XML file line #2: Error inflating class android.support.constraint.ConstraintLayout
   Caused by: android.view.InflateException: Binary XML file line #2: Error inflating class android.support.constraint.ConstraintLayout
   Caused by: java.lang.ClassNotFoundException: Didn't find class "android.support.constraint.ConstraintLayout" on path: DexPathList[[zip file "/data/app/com.example.showlatlong-1/base.apk", zip file "/data/app/com.example.showlatlong-1/split_lib_dependencies_apk.apk", zip file "/data/app/com.example.showlatlong-1/split_lib_slice_0_apk.apk", zip file "/data/app/com.example.showlatlong-1/split_lib_slice_1_apk.apk", zip file "/data/app/com.example.showlatlong-1/split_lib_slice_2_apk.apk", zip file "/data/app/com.example.showlatlong-1/split_lib_slice_3_apk.apk", zip file "/data/app/com.example.showlatlong-1/split_lib_slice_4_apk.apk", zip file "/data/app/com.example.showlatlong-1/split_lib_slice_5_apk.apk", zip file "/data/app/com.example.showlatlong-1/split_lib_slice_6_apk.apk", zip file "/data/app/com.example.showlatlong-1/split_lib_slice_7_apk.apk", zip file "/data/app/com.example.showlatlong-1/split_lib_slice_8_apk.apk", zip file "/data/app/com.example.showlatlong-1/split_lib_slice_9_apk.apk"],nativeLibraryDirectories=[/data/app/com.example.showlatlong-1/lib/arm64, /system/lib64, /vendor/lib64]]
      at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
      at java.lang.ClassLoader.loadClass(ClassLoader.java:380)
      at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
      at android.view.LayoutInflater.createView(LayoutInflater.java:613)
      at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:812)
      at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:752)
      at android.view.LayoutInflater.inflate(LayoutInflater.java:499)
      at android.view.LayoutInflater.inflate(LayoutInflater.java:430)
      at android.view.LayoutInflater.inflate(LayoutInflater.java:377)
      at androidx.appcompat.app.AppCompatDelegateImpl.setContentView(AppCompatDelegateImpl.java:555)
      at androidx.appcompat.app.AppCompatActivity.setContentView(AppCompatActivity.java:161)
      at com.example.showlatlong.MainActivity.onCreate(MainActivity.java:29)
      at android.app.Activity.performCreate(Activity.java:6857)
      at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1119)
      at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2676)
      at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2784)
      at android.app.ActivityThread.-wrap12(ActivityThread.java)
      at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1523)
      at android.os.Handler.dispatchMessage(Handler.java:102)
      at android.os.Looper.loop(Looper.java:163)
      at android.app.ActivityThread.main(ActivityThread.java:6238)
      at java.lang.reflect.Method.invoke(Native Method)
      at 
  
  
   com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit. 
   java:933)
   2019-09-11 12:58:45.344 15400-15400/com.example.showlatlong  
   E/AndroidRuntime:     
   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:823)
  </code></pre>