如您所知,最近Google更改了他们的GCM文档,他们声称IntentService不再需要处理到达的GCM消息.所有的处理都可以在BroadcastReceiver.
在试图弄清楚是否有任何理由继续使用时IntentService,我发现了这句话:
WakefulBroadcastReceiver将处理GCM消息的工作传递给的服务(通常是IntentService),同时确保设备不会在此过程中重新进入休眠状态.包含IntentService是可选的 - 您可以选择在常规的BroadcastReceiver中处理您的消息,但实际上,大多数应用程序将使用IntentService.
为什么大多数应用会使用IntentService?是否存在直接处理GCM消息的BroadcastReceiver情况不起作用?
android broadcastreceiver push-notification intentservice google-cloud-messaging
我正在开发一个phonegap应用程序,并按照本教程实现PushPlugin.但是,它表示每次触发deviceready事件时注册应用程序.这意味着即使先前已注册,它也会在GCM上注册该设备.
这让我有点不舒服,因为它似乎不是一个好习惯,因为该设备已经注册,所以,我决定来这里问.这是一个好习惯吗?如果没有,为什么?这有一些长期并发症吗?
给出以下代码:
import javax.swing.*;
import java.awt.*;
public class NewClass extends JPanel {
public void paintComponent(Graphics g) {
g.drawLine(0, 0, 90, 90);
}
public static void main(String[] args) {
JFrame jf = new JFrame();
jf.add(new NewClass());
jf.setSize(500, 500);
jf.setVisible(true);
}
}
Run Code Online (Sandbox Code Playgroud)
如果方法drawLine是抽象的,为什么它会画一条线?正如我设法理解的那样,抽象方法没有定义?
先感谢您!
我没有LinkedList通过任何方式(如扫描仪或其他方法)迭代,我使用的Collections.max()是从LinkedList.
我在 Stack Overflow 上读到过这个异常是由于迭代器、扫描器或标记器而引发的,但我没有使用它们。
import java.io.*;
import java.util.*;
class TLG {
public static void main(String[] args)throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
LinkedList<Integer> first = new LinkedList<Integer>();
LinkedList<Integer> second = new LinkedList<Integer>();
int cases = Integer.parseInt(br.readLine());
for(int i=1;i<=cases;i++) {
String score = br.readLine();
int number1 = Integer.parseInt(score.split(" ")[0]);
int number2 = Integer.parseInt(score.split(" ")[1]);
int diff = number1 - number2;
if(diff > 0){
first.add(diff);
}
else {
second.add(java.lang.Math.abs(diff));
}
}
Integer max1 …Run Code Online (Sandbox Code Playgroud) 我知道这LinkedList是作为双链表实现的。在add和remove上,其性能优于Arraylist,但在get和set方法上却较差。
这是否意味着我应该选择LinkedList在Arraylist插入?
我写了一个小测试,发现ArrayList插入速度更快。那如何链表比ArrayList?
请参考下面的示例。
import java.util.Date;
import java.util.LinkedList;
import java.util.List;
public class TestLinkedList {
public static void main(String[] args) {
long lStartTime = new Date().getTime();
System.out.println("lStartTime:: " + lStartTime);
List<Integer> integerList = new LinkedList<Integer>();
for (int i = 0; i < 10000000; i++) {
integerList.add(i);
}
long lEndTime = new Date().getTime();
System.out.println("lEndTime:: " + lEndTime);
long difference = lEndTime - lStartTime;
System.out.println("Elapsed milliseconds: " + difference);
}
}
Run Code Online (Sandbox Code Playgroud) 为什么Object static以Singleton模式制作?
它的实际用途是什么?
如果我们不使对象静态会发生什么?
public class SingleObject {
//create an object of SingleObject
private static SingleObject instance = new SingleObject();
//make the constructor private so that this class cannot be
//instantiated
private SingleObject(){}
//Get the only object available
public static SingleObject getInstance(){
return instance;
}
public void showMessage(){
System.out.println("Hello World!");
}
}
Run Code Online (Sandbox Code Playgroud) 这可能是一个非常基本的问题,但我仍然不知道答案.
String abc = null;
System.out.println(abc);
Run Code Online (Sandbox Code Playgroud)
为什么System.out.println打印"null"而不抛出NullPointerException?
我除了i:20的值,但它给了我0的值,为什么我在java 1.7版本中获得值0?
public class InvalidValue {
private int i = giveMeJ();
private int j = 20;
private int giveMeJ() {
return j;
}
public static void main(String[] args) {
System.out.println("i: " + new InvalidValue().i);
}
}
Run Code Online (Sandbox Code Playgroud) class EntityCompositeId {
private Long firstId;
private Long secondId;
// getter & setter...
}
class EntityComposite {
private EntityCompositeId id;
private String first;
private String second;
// getter & setter...
}
List<EntityComposite> listEntityComposite = ....
Supose this content
1, 1, "firstA", "secondBirdOne"
1, 2, "firstA", "secondBirdTwo"
1, 3, "firstA", "secondBirdThree"
2, 1, "firstB", "secondCatOne"
2, 2, "firstB", "secondCatTwo"
2, 3, "firstB", "secondCatThree"
3, 1, "firstC", "secondDogOne"
3, 2, "firstC", "secondDogTwo"
3, 3, "firstC", "secondDogThree"
Map<Long, List<String>> listOfLists = new HashMap<>(); …Run Code Online (Sandbox Code Playgroud) 我试图计算文本文件中唯一单词的数量.为简单起见,我当前的文件内容是:
这是一个示例文件
我的尝试是:
long wordCount =
Files.lines(Paths.get("sample.txt"))
.map(line -> line.split("\\s+"))
.distinct()
.count();
System.out.println(wordCount);
Run Code Online (Sandbox Code Playgroud)
编译并运行正常,但结果1应该是5.
java ×8
android ×2
java-8 ×2
java-stream ×2
abstract ×1
arraylist ×1
collections ×1
cordova ×1
cpu-word ×1
graphics ×1
linked-list ×1
list ×1
methods ×1
nested-lists ×1