title: How to display sqlite database in the form of cards in android?
body: <p>This is my code how i store the data in sqlite database.Now i want that all the data from the database display in the form of cards in other activity suppose when i press showdb button then the data displayed.</p>
  
  <pre><code>public class ConfigureNode extends AppCompatActivity implements
          LocationListener,
          GoogleApiClient.ConnectionCallbacks,
          GoogleApiClient.OnConnectionFailedListener {
  
      private static final String TAG = "LocationActivity";
      private static final long INTERVAL = 1000 * 10;
      private static final long FASTEST_INTERVAL = 1000 * 5;
      private SQLiteDatabase db;
      Button btnFusedLocation, btnPushData;
      TextView tvLocation;
      EditText Latval, LongVal,NodeId;
      LocationRequest mLocationRequest;
      GoogleApiClient mGoogleApiClient;
      Location mCurrentLocation;
      String mLastUpdateTime;
      public String DBPath;
      public static String DBName = "sample";
      public static final int version = '1';
      public static Context currentContext;
  
  
      protected void createLocationRequest() {
          mLocationRequest = new LocationRequest();
          mLocationRequest.setInterval(INTERVAL);
          mLocationRequest.setFastestInterval(FASTEST_INTERVAL);
          mLocationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);
      }
  
      @Override
      protected void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
          createDatabase();
          Log.d(TAG, "onCreate ...............................");
          //show error dialog if GoolglePlayServices not available
          if (!isGooglePlayServicesAvailable()) {
              finish();
          }
          createLocationRequest();
          mGoogleApiClient = new GoogleApiClient.Builder(this)
                  .addApi(LocationServices.API)
                  .addConnectionCallbacks(this)
                  .addOnConnectionFailedListener(this)
                  .build();
  
          setContentView(R.layout.activity_configure_node);
          tvLocation = (TextView) findViewById(R.id.tvLocation);
  
          btnFusedLocation = (Button) findViewById(R.id.btnShowLocation);
          Latval = (EditText) findViewById(R.id.latVal);
          LongVal = (EditText) findViewById(R.id.longVal);
          NodeId=(EditText)findViewById(R.id.NodeId);
          btnPushData = (Button) findViewById(R.id.btnPushLoc);
          btnPushData.setOnClickListener(new View.OnClickListener() {
              @Override
              public void onClick(View v) {
                  insertIntoDB();
              }
          });
          btnFusedLocation.setOnClickListener(new View.OnClickListener() {
              @Override
              public void onClick(View v) {
                  updateUI();
              }
  
          });
  
      }
  
      @Override
      public void onStart() {
          super.onStart();
          Log.d(TAG, "onStart fired ..............");
          mGoogleApiClient.connect();
      }
  
      @Override
      public void onStop() {
          super.onStop();
          Log.d(TAG, "onStop fired ..............");
          mGoogleApiClient.disconnect();
          Log.d(TAG, "isConnected ...............: " + mGoogleApiClient.isConnected());
      }
  
      private boolean isGooglePlayServicesAvailable() {
          int status = GooglePlayServicesUtil.isGooglePlayServicesAvailable(this);
          if (ConnectionResult.SUCCESS == status) {
              return true;
          } else {
              GooglePlayServicesUtil.getErrorDialog(status, this, 0).show();
              return false;
          }
      }
  
      @Override
      public void onConnected(Bundle bundle) {
          Log.d(TAG, "onConnected - isConnected ...............: " + mGoogleApiClient.isConnected());
          startLocationUpdates();
      }
  
      protected void startLocationUpdates() {
          if (ActivityCompat.checkSelfPermission(this, android.Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED &amp;&amp; ActivityCompat.checkSelfPermission(this, android.Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
              // TODO: Consider calling
              //    ActivityCompat#requestPermissions
              // here to request the missing permissions, and then overriding
              //   public void onRequestPermissionsResult(int requestCode, String[] permissions,
              //                                          int[] grantResults)
              // to handle the case where the user grants the permission. See the documentation
              // for ActivityCompat#requestPermissions for more details.
              return;
          }
          PendingResult&lt;Status&gt; pendingResult = LocationServices.FusedLocationApi.requestLocationUpdates(
                  mGoogleApiClient, mLocationRequest, (com.google.android.gms.location.LocationListener) this);
          Log.d(TAG, "Location update started ..............: ");
      }
  
      @Override
      public void onConnectionSuspended(int i) {
  
      }
  
      @Override
      public void onConnectionFailed(ConnectionResult connectionResult) {
          Log.d(TAG, "Connection failed: " + connectionResult.toString());
      }
  
      @Override
      public void onLocationChanged(Location location) {
          Log.d(TAG, "Firing onLocationChanged..............................................");
          mCurrentLocation = location;
          mLastUpdateTime = DateFormat.getTimeInstance().format(new Date());
          updateUI();
      }
  
  
      private void updateUI() {
          Log.d(TAG, "UI update initiated .............");
          if (null != mCurrentLocation) {
              String lat = String.valueOf(mCurrentLocation.getLatitude());
              String lng = String.valueOf(mCurrentLocation.getLongitude());
              tvLocation.setText("At Time: " + mLastUpdateTime + "\n" +
                      "Latitude: " + lat + "\n" +
                      "Longitude: " + lng + "\n" +
                      "Accuracy: " + mCurrentLocation.getAccuracy() + "\n" +
                      "Provider: " + mCurrentLocation.getProvider());
              LongVal.setText(lng);
              Latval.setText(lat);
          } else {
              Toast.makeText(ConfigureNode.this,"location not detected ",Toast.LENGTH_SHORT).show();
          }
      }
  
      @Override
      protected void onPause() {
          super.onPause();
          stopLocationUpdates();
      }
  
      protected void stopLocationUpdates() {
          LocationServices.FusedLocationApi.removeLocationUpdates(
                  mGoogleApiClient, (LocationListener) this);
          Log.d(TAG, "Location update stopped .......................");
      }
  
      @Override
      public void onResume() {
          super.onResume();
          if (mGoogleApiClient.isConnected()) {
              startLocationUpdates();
              Log.d(TAG, "Location update resumed .....................");
          }
      }
      protected void createDatabase(){
          db=openOrCreateDatabase("PersonDB", Context.MODE_PRIVATE, null);
          db.execSQL("CREATE TABLE IF NOT EXISTS persons(id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, name VARCHAR,address VARCHAR,NodeId VARCHAR);");
      }
  
      protected void insertIntoDB(){
          String name = Latval.getText().toString().trim();
          String add = LongVal.getText().toString().trim();
          String Nodid=NodeId.getText().toString().trim();
          if(name.equals("") || add.equals("")||Nodid.equals("")){
              Toast.makeText(getApplicationContext(),"Please fill all fields", Toast.LENGTH_LONG).show();
              return;
          }
  
          String query = "INSERT INTO persons (name,address,NodeId) VALUES('"+name+"', '"+add+"', '"+Nodid+"');";
          db.execSQL(query);
          Toast.makeText(getApplicationContext(),"Saved Successfully", Toast.LENGTH_LONG).show();
      }
  
  }
  </code></pre>