小编Bra*_*don的帖子

GCM defaultSenderID

有人可以帮我理解gcm_defaultSenderId在以下代码中的含义(在RegistrationIntentService.java中的onHandleIntent中找到):

InstanceID instanceID = InstanceID.getInstance(this);
            String token = instanceID.getToken(getString(R.string.gcm_defaultSenderId),
                    GoogleCloudMessaging.INSTANCE_ID_SCOPE, null);
            // [END get_token]
            Log.i(TAG, "GCM Registration Token: " + token);
Run Code Online (Sandbox Code Playgroud)

这是来自Google示例应用程序,用于将GCM实现到您的应用程序中,甚至无法在其应用程序中编译!我确定这是每个应用程序特有的东西.我已经将GCM API添加到我的应用程序中,只是不知道这个字符串应该是什么!谢谢!

notifications android google-cloud-messaging

26
推荐指数
3
解决办法
2万
查看次数

未找到Joda Time资源错误

我正在尝试获取一个字符串并以更易读的格式将其转换为另一个字符串:

String startTime = invite.get_start_time();
Log.d(LOG_TAG, "String to be converted is " + startTime);
DateTimeFormatter fmt = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss");
DateTime dt = fmt.parseDateTime(startTime);
invite.set_start_time(dt.toString("MM dd yyyy hh:mmaa"));
Run Code Online (Sandbox Code Playgroud)

08-02 14:33:19.011:D/InvitesObjectListAdapter(856):要转换的字符串是2015-08-03 10:30:00 08-02 14:33:19.041:W/System.err(856):java .io.IOException:找不到资源:"org/joda/time/tz/data/ZoneInfoMap"ClassLoader:dalvik.system.PathClassLoader [DexPathList [[zip file"/data/app/me.lunchbunch.core-1/base .apk"],nativeLibraryDirectories = [/ vendor/lib64,/ system/lib64]]]

有谁知道这个错误来自哪里?

java time android jodatime

16
推荐指数
1
解决办法
5048
查看次数

在API 16上使用PhoneNumberUtils.formatNumber()

我正在尝试将数字格式化为默认的国家/地区代码,我知道如何,但是当我这样做时,会出现一个错误,说这只适用于API 21.我的目标是API 16.如果我使用旧方法,我会得到说该方法已被弃用的错误?如何在API 16上使用该方法?

谢谢!

文档:http://developer.android.com/reference/android/telephony/PhoneNumberUtils.html#FORMAT_NANP

api country android

11
推荐指数
1
解决办法
7739
查看次数

我无法在Lollipop上看到ProgressDialog中的进度微调器

使用ProgressDialog制作应用程序,它在JellyBean上显示正常,但在使用Lollipop测试时我只看到标题和消息,没有进度微调器..我正在使用

compile 'com.android.support:appcompat-v7:22.2.0'
Run Code Online (Sandbox Code Playgroud)

支持库和AppCompatActivity

代码是:

 ProgressDialog progressDialog = new ProgressDialog(AddBuddyActivity.this);
 progressDialog.setMessage("Loading...");
 progressDialog.setCancelable(false);
 progressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
 progressDialog.show();
Run Code Online (Sandbox Code Playgroud)

您可以在此处查看我在同一主题上发布的另一个问题.

android dialog progress spinner

8
推荐指数
1
解决办法
6272
查看次数

在使用Volley重试旧请求之前重新获得新令牌

我有一个使用Volley实现的简单身份验证系统.它是这样的:在登录时从服务器获取一个令牌 - >一小时后,这个令牌到期 - >当它到期时,我们会发现一个失败的API调用,所以我们应该(在重试时) - >获取一个新的当该呼叫失败然后 - >重试原始呼叫时令牌.

我已经实现了这个,并且令牌成功返回,但是因为我认为我对Volley RequestQueue做错了,原始请求在新的有效令牌能够被使用之前使用了所有它的重试.请参阅以下代码:

public class GeneralAPICall extends Request<JSONObject> {
public static String LOG_TAG = GeneralAPICall.class.getSimpleName();

SessionManager sessionManager; //instance of sessionManager needed to get user's credentials
private Response.Listener<JSONObject> listener; //the response listener used to deliver the response
private Map<String, String> headers = new HashMap<>(); //the headers used to authenticate
private Map<String, String> params; //the params to pass with API call, can be null

public GeneralAPICall(int method, String url, Map<String, String> params, Context context, …
Run Code Online (Sandbox Code Playgroud)

authentication queue token android-volley

7
推荐指数
1
解决办法
4845
查看次数

使用Otto从GcmListenerService刷新listadapter

当伙伴们对我进行研究时,我正在使用Otto来刷新好友列表.我在从非主线程更新UI时遇到问题,所以我查看了它并使用这篇文章 "解决"了这个问题.他们使用的代码是这样的:

public class BusProvider extends Bus{

public static final String LOG_TAG = BusProvider.class.getSimpleName();

private final Handler mainThread = new Handler(Looper.getMainLooper());
private static Bus mInstance;

public static synchronized Bus getInstance() {
    if (mInstance == null) {
        mInstance = new Bus();
    }
    return mInstance;
}

@Override
public void post(final Object event) {
    if (Looper.myLooper() == Looper.getMainLooper()) {
        Log.d(LOG_TAG, "Posting event using super!");
        super.post(event);
    } else {
        mainThread.post(new Runnable() {
            @Override
            public void run() {
                Log.d(LOG_TAG, "Posting event using AndroidBus!");
                BusProvider.super.post(event); …
Run Code Online (Sandbox Code Playgroud)

service post multithreading android otto

5
推荐指数
1
解决办法
410
查看次数

Firebase-functions-test “默认的 Firebase 应用不存在。”

我已经开始使用新的firebase-functions-test测试 SDK 来对我的Cloud Firestore功能进行单元测试。当我通过运行测试npm test时,出现以下错误:

The default Firebase app does not exist. Make sure you call initializeApp() before using any of the Firebase services

我的方法与quickstarts示例中makeUppercase方法非常相似,因此我主要从test.js文件中复制了测试。

describe('updateActiveNotesCount', () => {

    // Test Case: Setting environments/{environment}/users/{userId}/people/{personId}/notes/{noteId}/isActive to 'true' should cause
    // .../{personId}/activeNotesCount to be incremented

    it('Should increment active notes count on the person field', () => {
      // [START assertOffline]
      const childParam = 'activeNotesCount'; // The field to set
      const …
Run Code Online (Sandbox Code Playgroud)

firebase firebase-realtime-database google-cloud-functions google-cloud-firestore

5
推荐指数
1
解决办法
5949
查看次数