我在使用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) 我想为我的用户提供一个选项,可以在应用程序中创建特定页面的快捷方式.当你长按聊天时我在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片段中运行代码.
在遵循这个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”数组。
用事务代替批量写入有什么缺点?
我已经成功地为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)
我错过了什么?
我已经实现了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) 我正在使用谷歌地方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)