我是一名Web开发人员(PHP).我想使用PHP搜索到Windows Phone 7的推送通知,但结果总是.NET.
请有人可以帮助我.
更新:如何一次发送多个设备?因为延迟时间大约是1秒,所以如果我要推送1000个设备,我可能需要1000秒才能等待.
我已经看到c2dm本身已被弃用.但是新方法Google Cloud Messaging似乎发送了以com.google.android.c2dm.intent.RECEIVE作为操作的意图.
我的代码使用它来获取注册密钥:
gcm = GoogleCloudMessaging.getInstance(getApplicationContext());
gcm.register(SENDER_ID);
Run Code Online (Sandbox Code Playgroud)
事情正确到达,但我想知道我是否已经离开了处于半弃状态的东西.
android push-notification android-intent google-cloud-messaging
如果数据库查询返回空,抛出异常的正确方法是什么?我正在尝试使用该.orElseThrow()方法,但它不会编译:
Meeting meeting = meetingRepository.findByMeetingId(meetingId).orElseThrow(new MeetingDoesNotExistException(meetingId));
Run Code Online (Sandbox Code Playgroud)
编译器说:
"他的方法orElseThrow(Supplier)中的Optional类型不适用于参数(MeetingRestController.MeetingDoesNotExistException)
是否可以使用lambda表达式执行此操作?
CrudRepository:
import java.util.Optional;
import org.springframework.data.repository.CrudRepository;
public interface MeetingRepository extends CrudRepository<Meeting, Long>{
Optional<Meeting> findByMeetingId(Long id);
}
Run Code Online (Sandbox Code Playgroud)
例外:
@ResponseStatus(HttpStatus.CONFLICT) // 409
class MeetingDoesNotExistException extends RuntimeException{
public MeetingDoesNotExistException(long meetingId){
super("Meeting " + meetingId + " does not exist.");
}
}
Run Code Online (Sandbox Code Playgroud) 如果Perl 5中的字符串通过looks_like_number,它也可能是一个数字.例如,
my $s = "10" + 5;
Run Code Online (Sandbox Code Playgroud)
结果$s被分配15.
是否有任何情况下字符串的行为与其数字等价物不同?
我一直在为我的Android应用程序研究GCM.我注意到,几乎每次我的设备都有不同的GCM注册ID.我UNIQUE_KEY对GCM注册ID 的约束是否安全?并删除所有带错误NotRegistered的ID并更新所有ID canonical_ids?
我正在设置Google Cloud Messaging机制的服务器端,使用MySQL存储移动应用程序提供的注册ID.由于Google可以发出最多4k的注册ID,因此我不得不将它们存储在TEXT字段中.到目前为止一切都很好,问题是我必须处理这样的情况:
所以问题是我必须确保数据库中注册ID的唯一性,但是我不能为该TEXT字段添加UNIQUE索引.
我能想到的可能的解决方案:
我确信我不是唯一面临这个问题的人,但我找不到好的解决方案.关于如何解决这个问题的任何想法?
我正在尝试在我的Android应用中使用GoogleCloudMessaging(GCM)API进行推送通知.
参考http://www.androidhive.info/2012/10/android-push-notifications-using-google-cloud-messaging-gcm-php-and-mysql/和http://developer.android.com/google /play-services/setup.html#Setup,我试图在AndroidManifest.xml中设置它们,但它给了我一些错误:
该块位于Application标签中
<receiver
android:name="com.google.android.gcm.GCMBroadcastReceiver"
android:permission="com.google.android.c2dm.permission.SEND" >
<intent-filter>
<!-- Receives the actual messages. -->
<action android:name="com.google.android.c2dm.intent.RECEIVE" />
<!-- Receives the registration id. -->
<action android:name="com.google.android.c2dm.intent.REGISTRATION" />
<category android:name="com.zaqqle.disqover" />
</intent-filter>
</receiver>
<service android:name=".GCMIntentService" />
Run Code Online (Sandbox Code Playgroud)
我正在使用Android Studio和我所做的
compile 'com.google.android.gms:play-services:4.3.23'在build.gradle中<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />在AndroidManifest.xml中你能帮我指出我错过的地方吗?感谢您的帮助!
您好我想将gcm添加到我的应用程序中.我的申请是一个新闻申请.用户可在注册后查看新闻.应用程序询问用户兴趣(经济,体育,汽车等)并保存它们.我想通过php和mysql发送消息给用户.我必须决定向哪些用户发送哪些新闻.所以我需要注册ID.
是android设备号吗?或Android设备谷歌帐户和Android设备号码的组合?
或Android设备谷歌帐户和Android设备号和我的应用程序用户ID的组合?
例
Android设备ID = a => GCM RegID =
Android设备ID = a,Google帐户ID = b => GCM RegID = ab
Android设备ID = a,Google帐户ID = b,应用x用户ID = c => GCM RegID = ABC
如果x用户从应用程序注销并且用户登录同一设备,GCM RegId会更改吗?如果它没有改变并且我将经济新闻推送给用户(对经济不感兴趣),设备将向错误的用户显示错误的通知.那么什么是GCM注册ID?
我不明白以下方法的第三个参数的效用:
<R> R collect(Supplier<R> supplier,
BiConsumer<R,? super T> accumulator,
BiConsumer<R,R> combiner)
Run Code Online (Sandbox Code Playgroud)
来自javaDoc:
这产生的结果相当于:
Run Code Online (Sandbox Code Playgroud)R result = supplier.get(); for (T element : this stream) accumulator.accept(result, element); return result;
如您所见,combiner未使用该参数.例如,以下内容将字符串累积到ArrayList中:
List<String> asList = stringStream.collect(ArrayList::new, ArrayList::add,
ArrayList::addAll);
Run Code Online (Sandbox Code Playgroud)
但我期待这个:
List<String> asList = stringStream.collect(ArrayList::new, ArrayList::add );
Run Code Online (Sandbox Code Playgroud) 我有以下代码:
public boolean isImageSrcExists(String imageSrc) {
int resultsNum = 0;
List<WebElement> blogImagesList = driver.findElements(blogImageLocator);
for (WebElement thisImage : blogImagesList) {
if (thisImage.getAttribute("style").contains(imageSrc)) {
resultsNum++;
}
}
if (resultsNum == 2) {
return true;
} else {
return false;
}
}
Run Code Online (Sandbox Code Playgroud)
将它转换为使用Java 8 Stream的正确方法是什么?
当我试图使用时map(),我得到一个错误,因为getAttribute不是Function.
int a = (int) blogImagesList.stream()
.map(WebElement::getAttribute("style"))
.filter(s -> s.contains(imageSrc))
.count();
Run Code Online (Sandbox Code Playgroud)