현재 DropBox를 Android 앱에 구현하려고합니다. 안드로이드 용 클라이언트 jar 파일을 추가했고 개발 용 보관 용 계정에 로그인하려고 할 때 강제로 내 앱을 닫습니다. AsyncTask를 # 1 java.lang.RuntimeException가 : 아래 DropBox API Android 개발 문제
는 잘못 치명적인 예외를 다음과 같이이 로그 캣의 스택 트레이스 오류로 올라오고 계속해서import android.os.AsyncTask;
import android.util.Log;
import com.dropbox.client.DropboxAPI;
public class LoginASyncTask extends AsyncTask<Void, Void, Integer> {
private static final String TAG = "LoginASyncTask";
String mUser;
String mPassword;
String mErrorMessage = "";
DropBoxLogin mDropBoxLogin;
DropboxAPI.Config mConfig;
DropboxAPI.Account mAccount;
public LoginASyncTask(DropBoxLogin act, String user, String password, DropboxAPI.Config config)
{
super();
mDropBoxLogin = act;
mUser = user;
mPassword = password;
mConfig = config;
}
@Override
protected Integer doInBackground(Void...params)
{
try
{
DropboxAPI api = mDropBoxLogin.getAPI();
int success = DropboxAPI.STATUS_NONE;
if (!api.isAuthenticated())
{
//Going wrong on this line
mConfig = api.authenticate(mConfig, mUser, mPassword);
mDropBoxLogin.setConfig(mConfig);
success = mConfig.authStatus;
if (success != DropboxAPI.STATUS_SUCCESS)
{
return success;
}
}
mAccount = api.accountInfo();
if (!mAccount.isError())
{
return DropboxAPI.STATUS_SUCCESS;
}
else
{
Log.d(TAG, "Account Info Error: " + mAccount.httpCode + " " + mAccount.httpReason);
return DropboxAPI.STATUS_FAILURE;
}
}
catch (Exception e)
{
Log.d(TAG, "Error in loggin in", e);
return DropboxAPI.STATUS_NETWORK_ERROR;
}
}
@Override
protected void onPostExecute(Integer result)
{
if (result == DropboxAPI.STATUS_SUCCESS)
{
if (mConfig != null && mConfig.authStatus == DropboxAPI.STATUS_SUCCESS)
{
mDropBoxLogin.storeKeys(mConfig.accessTokenKey, mConfig.accessTokenSecret);
mDropBoxLogin.setLoggedIn(true);
mDropBoxLogin.showToast("Logged into dropbox");
}
if (mAccount != null)
{
mDropBoxLogin.displayAccountInfo(mAccount);
}
else
{
if (result == DropboxAPI.STATUS_NETWORK_ERROR)
{
mDropBoxLogin.showToast("Network Error: " + mConfig.authDetail);
}
else
{
mDropBoxLogin.showToast("Unsuccessful Login");
}
}
}
}
}
를 어디로 내가 사용하고있는 코드입니다 : doInBackground() 실행 중 오류가 발생했습니다.
누구든지이 문제에 대한 도움을 제공 할 수 있다면 크게 감사하겠습니다. oath.signpost.basic.DefaultOAuthConsumer
나는 이것이 의미 나 방법을 알아낼 수 없습니다 : 그것은 java.lang.NoClassDefFoundError가 발생되고있는 예외가 있음을 @Kannan Goundan에 의해 찾을 수
편집 이 문제를 해결할 수 있습니다.
'RuntimeException'은 아마도 실제 예외를 감싸는 래퍼 일 것입니다. 스택 추적에 "원인"행이 있습니까? 그렇지 않다면'RuntimeException'을 잡고'getCause()'를 호출하여 실제 예외를 얻으십시오. –
답장을 보내 주셔서 감사합니다. 줄로 인한 런타임 예외에 대한 정보를 제공하는 질문에 대한 편집을 추가했습니다. – Boardy
죄송합니다 답변을 드릴 수는 없지만 scribe-java oauth 라이브러리는 DropBox 지원이 내장되어 있습니다 https://github.com/fernandezpablo85/scribe-java – schwiz