小编Juv*_*uvi的帖子

使用JSON.parse时,'未捕获的SyntaxError:意外的标记u'

我在使用LocalStorage的计算机上使用JSON.parse作为一个简单的数据库.它工作顺利,直到我正在检查这个"数据库"; 下面是用于向LocalStorage输入信息的代码:

var users = JSON.parse(localStorage.registeredUsers);
users.push({username:name, password:userpass, connected:false});
localStorage.registeredUsers = JSON.stringify(users);
Run Code Online (Sandbox Code Playgroud)

当我'检查那些注册用户时,我收到错误"Uncaught SyntaxError:Unexpected token u":

var users = JSON.parse(localStorage.registeredUsers);
        if(users[userindex].connected)
        {.........}
Run Code Online (Sandbox Code Playgroud)

该错误指向JSON.parse行.我试图用一些类似的主题弄清楚但却无法找到方法.

我推入localstorage数组的代码:

function regBtn(event)
    {
        event.preventDefault();
        name=document.forms["regform"]["username"].value;
        userpass=document.forms["regform"]["password"].value;
        localStorage.username=name;
        localStorage.password=userpass;
        if(!(localStorage.registeredUsers))
        {
            localStorage.registeredUsers = '[]';
        }
        var users = JSON.parse(localStorage.registeredUsers);
        users.push({username:name, password:userpass, connected:false});
        localStorage.registeredUsers = JSON.stringify(users);
        $('#mainContent').load('HomePage.html');        
    }
Run Code Online (Sandbox Code Playgroud)

javascript jquery json

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

在主屏幕上创建特定活动的快捷方式

我想为我的用户提供一个选项,可以在应用程序中创建特定页面的快捷方式.当你长按聊天时我在Whatsapp上看到了类似的用法,你可以创建这个特定聊天的桌面快捷方式.

我已经尝试找到有关此功能的一些文档,但无法使其正常工作.这就是我所拥有的:

不是启动器活动的活动(包括意图过滤器)

 <activity android:name="com.my.example.pages.Topics"
    android:parentActivityName="com.my.example.pages.Apps">
        <intent-filter>
            <action android:name="android.intent.action.CREATE_SHORTCUT"/>
            <category android:name="android.intent.category.DEFAULT"/>
        </intent-filter>
    </activity>
Run Code Online (Sandbox Code Playgroud)

createShortcut函数

 public void createShortcut(){
        Intent shortcutIntent = new Intent("com.my.example.pages.Topics");
        Intent.ShortcutIconResource iconResource = Intent.ShortcutIconResource.fromContext(getActivity(), R.drawable.app_logo);

        // The result we are passing back from this activity
        Intent intent = new Intent();
        intent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, shortcutIntent);
        intent.putExtra(Intent.EXTRA_SHORTCUT_NAME, "Shortcut Test");
        intent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, iconResource);
        getActivity().setResult(getActivity().RESULT_OK, intent);
        getActivity().finish();

        Toast.makeText(getActivity(),"Shortcut created",Toast.LENGTH_SHORT).show();
    }
Run Code Online (Sandbox Code Playgroud)

表现

<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />
Run Code Online (Sandbox Code Playgroud)

我可能错过了一些东西,因为在调用函数后我得到了Toasts但是没有创建快捷方式,并且应用程序因为finish()方法而退出.

为了更清楚 - 如何为非启动器活动创建快捷方式?

*我正在我的一个viewpager片段中运行代码.

android shortcut intentfilter android-intent

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

Firestore 批量写入与事务

在遵循这个firestore 文档之后,很明显批量写入和事务都非常适合对多个操作进行分组。

虽然我无法确定我的用例的最佳实践是什么。

这是我的批量写入:

val batch = db.batch()

        val docRef = db.collection(CHATS_COLLECTION).document()
        chat.id = docRef.id

        return Observable.create { emitter: ObservableEmitter<String> ->
            batch.set(docRef, chat)
            batch.update(db.collection(USERS_COLLECTION).document(userId), "chatIds",
                FieldValue.arrayUnion(db.document("$CHATS_COLLECTION/${docRef.id}")))

            batch.commit()
                .addOnSuccessListener {
                    emitter.onNext(docRef.id)
                    emitter.onComplete()
                }
                .addOnFailureListener { e ->
                    emitter.onError(e)
                }
        }
Run Code Online (Sandbox Code Playgroud)

我正在创建新的聊天文档,同时使用批量写入使用新创建的文档更新我的用户文档“chatsIds”数组。

用事务代替批量写入有什么缺点?

firebase google-cloud-firestore

4
推荐指数
2
解决办法
1594
查看次数

GCM在Android上运行良好,但在iOS上无效

我已经成功地为Android实现了GCM,但是当我尝试将它实现到我的iOS版本时,我不会得到推送消息.

我在iOS版本上获得了gcm令牌,并且可以发送消息(我使用了Postman).我得到了一个成功的响应和一个唯一的消息ID,但没有收到推送.几天来我一直在努力.

我试图创建一个新的GCm项目,并运行iOS的GCM示例,但没有任何作用.

我在iOS和Android上使用相同的帐户,具有相同的apiKey ofcourse.

邮差:

{
          "collapse_key": "score_update",
          "time_to_live": 108,
          "delay_while_idle": true,
          "data": {
            "score": "4x8",
            "time": "15:16.2342"
          },
          "registration_ids":["My Token"],
}
Run Code Online (Sandbox Code Playgroud)

我错过了什么?

android ios google-cloud-messaging

3
推荐指数
1
解决办法
2140
查看次数

仅当应用程序正在运行或在后台运行时才会触发GCM BroadcastReceiver

我已经实现了GCM服务,一切正常,但当我关闭应用程序后我应该收到通知(通过长按主页按钮,然后在垃圾图标 - Galaxy S III),我不接受它.

这是我的Manifest.xml:

  <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.proj"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="12"
        android:targetSdkVersion="18" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
    <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/>
    <uses-permission android:name="android.permission.CALL_PHONE" />
    <!-- The following two permissions are not required to use
         Google Maps Android API v2, but are recommended. -->
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.GET_ACCOUNTS" />
    <uses-permission android:name="android.permission.WAKE_LOCK" />
    <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
    <permission android:name="com.example.proj.permission.C2D_MESSAGE"
        android:protectionLevel="signature" />
    <uses-permission android:name="com.example.proj.permission.C2D_MESSAGE" />


    <uses-feature
        android:glEsVersion="0x00020000"
        android:required="true"/>
    <application
        android:allowBackup="true" …
Run Code Online (Sandbox Code Playgroud)

android broadcastreceiver google-cloud-messaging

2
推荐指数
1
解决办法
3760
查看次数

将autocompletetextview限制为仅限城市

我正在使用谷歌地方autocompletetextview,我按照教程,它工作得很好.到目前为止,我得到了建议结果列表,但没有城市过滤器,大多数建议都是街道名称.

我的问题是,有没有办法过滤街道名称,所以结果列表将只包括城市.

继承我的StringBuilder代码:

    HttpURLConnection conn = null;
    StringBuilder jsonResults = new StringBuilder();
    try {
        StringBuilder sb = new StringBuilder(PLACES_API_BASE + TYPE_AUTOCOMPLETE + OUT_JSON);
        sb.append("?sensor=false&key=" + API_KEY);
        sb.append("&components=country:il");
        sb.append("&input=" + URLEncoder.encode(input, "utf8"));
Run Code Online (Sandbox Code Playgroud)

android autocompletetextview google-places-api

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