package com.example.imgpicker;
import android.content.ContentResolver;
import android.database.Cursor;
import android.net.Uri;
import android.os.Bundle;
import android.provider.MediaStore;
import android.util.Log;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import androidx.loader.app.LoaderManager;
import androidx.loader.content.CursorLoader;
import androidx.loader.content.Loader;
//D/PickerAvtivity: onCreate: ====================================
//D/PickerAvtivity: _id ==== 43
//D/PickerAvtivity: _data ==== /storage/emulated/0/DCIM/Camera/IMG_20200420_064425.jpg
//D/PickerAvtivity: _size ==== 197214
//D/PickerAvtivity: _display_name ==== IMG_20200420_064425.jpg
//D/PickerAvtivity: mime_type ==== image/jpeg
//D/PickerAvtivity: title ==== IMG_20200420_064425
//D/PickerAvtivity: date_added ==== 1587365066
//D/PickerAvtivity: date_modified ==== 1587365066
//D/PickerAvtivity: description ==== null
//D/PickerAvtivity: picasa_id ==== null
//D/PickerAvtivity: isprivate ==== null
//D/PickerAvtivity: latitude ==== 37.422
//D/PickerAvtivity: longitude ==== -122.084
//D/PickerAvtivity: datetaken ==== 1587365065974
//D/PickerAvtivity: orientation ==== 0
//D/PickerAvtivity: mini_thumb_magic ==== null
//D/PickerAvtivity: bucket_id ==== -1739773001
//D/PickerAvtivity: bucket_display_name ==== Camera
//D/PickerAvtivity: width ==== 960
//D/PickerAvtivity: height ==== 1280
//D/PickerAvtivity: onCreate: ====================================
public class PickerAvtivity extends AppCompatActivity {
private static final String TAG = "PickerAvtivity";
public static final int LOADER_ID=1;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_picker);
// ContentResolver contentResolver=getContentResolver();
// Uri imageUri= MediaStore.Images.Media.EXTERNAL_CONTENT_URI;
// Cursor query =contentResolver.query(imageUri,null,null,null,null);
// String[] colunmNames=query.getColumnNames();
// while (query.moveToNext()){
// Log.d(TAG, "onCreate: ====================================");
// for (String colunmName : colunmNames) {
// Log.d(TAG, colunmName+" ==== "+query.getString(query.getColumnIndex(colunmName)));
// }
// Log.d(TAG, "onCreate: ====================================");
// }
// query.close();
initLoader();
}
private void initLoader() {
LoaderManager loaderManager=LoaderManager.getInstance(this);
loaderManager.initLoader(LOADER_ID, null, new LoaderManager.LoaderCallbacks<Cursor>() {
@NonNull
@Override
public Loader<Cursor> onCreateLoader(int id, @Nullable Bundle args) {
if(id==LOADER_ID){
return new CursorLoader(PickerAvtivity.this,MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
new String[]{"_data","_display_name","date_added"},
null,null,"date_added DESC");
}
return null;
}
@Override
public void onLoadFinished(@NonNull Loader<Cursor> loader, Cursor cursor) {
if (cursor!=null){
String[] colunmNames=cursor.getColumnNames();
while (cursor.moveToNext()){
Log.d(TAG, "onCreate: ====================================");
for (String colunmName : colunmNames) {
Log.d(TAG, colunmName+" ==== "+cursor.getString(cursor.getColumnIndex(colunmName)));
}
Log.d(TAG, "onCreate: ====================================");
}
cursor.close();
}
}
@Override
public void onLoaderReset(@NonNull Loader<Cursor> loader) {
}
});
}
}