gpt4 book ai didi

java - 尝试在 Android 上使用 Google Tasks API 让我的应用程序崩溃

转载 作者:行者123 更新时间:2023-12-02 00:37:09 25 4
gpt4 key购买 nike

我正在尝试使用 Google Tasks API 为 Android 构建一个简单的待办事项应用程序。
然而,无论我尝试、更改或包含什么,我的应用程序都编译得很好,但每当我尝试使用任务 API 时,它就会在手机上崩溃。
所有库都在我的 libs 文件夹中,但我不知道我还需要包含哪些依赖项。这是我当前的代码,一旦我删除任务行的注释,我的应用程序在手机上打开后就会崩溃。
jack 的事情是为了测试 JacksonFactory 不是错误。
问题可能是我正在调用 new GoogleAccessProtectedResource(null) ,它必须使用 oAuth authkey 进行调用?

package de.purespider.tasks;

import android.app.Activity;
import android.os.Bundle;

import com.google.api.client.extensions.android2.AndroidHttp;
import com.google.api.client.googleapis.auth.oauth2.draft10.GoogleAccessProtectedResource;
import com.google.api.client.googleapis.extensions.android2.auth.GoogleAccountManager;
import com.google.api.client.http.HttpResponse;
import com.google.api.client.http.HttpResponseException;
import com.google.api.client.http.HttpTransport;
import com.google.api.client.json.jackson.JacksonFactory;
import com.google.api.services.tasks.Tasks;
import com.google.api.services.tasks.model.Task;

import android.accounts.Account;
import android.accounts.AccountManager;
import android.accounts.AccountManagerCallback;
import android.accounts.AccountManagerFuture;
import android.app.AlertDialog;
import android.app.Dialog;
import android.app.ListActivity;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.SharedPreferences;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.ArrayAdapter;

import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;

public class TasksActivity extends Activity
{
private static final String TAG = "TasksSample";

// This must be the exact string, and is a special for alias OAuth 2 scope
// "https://www.googleapis.com/auth/tasks"
private static final String AUTH_TOKEN_TYPE = "Manage your tasks";

private static final String PREF = "MyPrefs";
private static final int DIALOG_ACCOUNTS = 0;
private static final int MENU_ACCOUNTS = 0;
public static final int REQUEST_AUTHENTICATE = 0;

private final HttpTransport transport = AndroidHttp.newCompatibleTransport();

Tasks service;
GoogleAccessProtectedResource accessProtectedResource = new GoogleAccessProtectedResource(null);

// TODO(yanivi): save auth token in preferences?
GoogleAccountManager accountManager;

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

JacksonFactory jack = new JacksonFactory();
//service = new Tasks(transport, accessProtectedResource, new JacksonFactory());
//service.setKey(/* my auth key goes here */);
//service.setApplicationName("tasks");

accountManager = new GoogleAccountManager(this);
}
}

我正在使用netbeans(没有maven)并且还没有手动修改我的AndroidManifest.xml。

编辑:
我通过项目的 libs 目录包含的库是:

  • google-api-client-1.4.1-beta.jar
  • google-api-client-extensions-1.4.1-beta.jar
  • google-api-client-extensions-android2-1.4.1-beta.jar
  • google-api-client-googleapis-1.4.1-beta.jar
  • google-api-client-googleapis-extensions-1.4.1-beta.jar
  • google-api-client-googleapis-extensions-android2-1.4.1-beta.jar
  • google-api-services-tasks-v1-1.2.0-beta.jar gson-1.6.jar
  • Guava -r09.jar
  • httpclient-4.0.3.jar
  • jackson-core-asl-1.6.7.jar

感谢您提前提供的任何帮助。

最佳答案

升级到 Google 客户端库 1.5.0 beta 修复了这个问题,我的 libs 文件夹现在看起来像这样:

  • google-api-client-1.5.0-beta.jar
  • google-api-client-extensions-1.5.0-beta.jar
  • google-api-client-extensions-android2-1.5.0-beta.jar
  • google-api-services-tasks-v1-1.2.0-beta.jar
  • google-http-client-1.5.0-beta.jar
  • google-http-client-extensions-1.5.0-beta.jar
  • google-http-client-extensions-android2-1.5.0-beta.jar
  • google-oauth-client-1.5.0-beta.jar
  • google-oauth-client-extensions-1.5.0-beta.jar
  • Guava -r09.jar
  • jackson-core-asl-1.6.7.jar

我还必须添加
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
<uses-permission android:name="android.permission.GET_ACCOUNTS"></uses-permission>
<uses-permission android:name="android.permission.USE_CREDENTIALS"></uses-permission>

到我的 AndroidManifest.xml
希望对遇到同样问题的人有所帮助!
另请参阅http://code.google.com/p/buzz-java-client/issues/detail?id=18供引用。

关于java - 尝试在 Android 上使用 Google Tasks API 让我的应用程序崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7475092/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com