Получить список файлов Dropbox для приложения Android
Я пытаюсь получить список всех файлов из выпадающего списка в моем приложении для Android. До сих пор я создал аутентификацию для dropbox, и когда я пытаюсь получить список DropboxAPI.Entry, я получаю нулевое значение... Пока часть моего кода:
private DropboxAPI<AndroidAuthSession> mDBApi;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
InitializeSession();
}
void InitializeSession()
{
AppKeyPair appKeys = new AppKeyPair(APP_KEY, APP_SECRET);
AndroidAuthSession session = new AndroidAuthSession(appKeys);
mDBApi = new DropboxAPI<AndroidAuthSession>(session);
mDBApi.getSession().startOAuth2Authentication(MainActivity.this);
}
@Override
protected void onResume()
{
super.onResume();
if (mDBApi.getSession().authenticationSuccessful())
{
try
{
mDBApi.getSession().finishAuthentication();
String accessToken = mDBApi.getSession().getOAuth2AccessToken();
PopulateList();
}
catch (IllegalStateException e)
{
System.out.println("Error : " + e.getMessage());
}
}
}
private void PopulateList()
{
List<String> filename = new ArrayList<>();
String mPath = "/";
DropboxAPI.Entry dirent = null;
try
{
dirent = mDBApi.metadata(mPath, 1000, null, true, null);
}
catch (DropboxException e)
{
System.out.println("Error : " + e.getMessage());
}
for (DropboxAPI.Entry ent : dirent.contents)
{
if (ent.isDir)
{
filename.add(ent.fileName());
}
ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(getBaseContext(), android.R.layout.simple_list_item_1, filename);
}
}
Я застрял в методе PopulateList() в команде: dirent = mDBApi.metadata(mPath, 1000, null, true, null); Я получаю нулевое значение для dirent, и после этого цикл for не может работать.
Сообщения, которые я получаю при отладке метода PopulateList():
com.dropbox.client2.exception.DropboxUnlinkedException
dirnet.contents = java.lang.NullPointerException
ent.isDir = Cannot find local variable 'ent'
Что я делаю неправильно?