Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/230.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在BroadcastReceiver中,静态数组总是用零填充_Java_Android_Arrays_Broadcastreceiver_Static Array - Fatal编程技术网

Java 在BroadcastReceiver中,静态数组总是用零填充

Java 在BroadcastReceiver中,静态数组总是用零填充,java,android,arrays,broadcastreceiver,static-array,Java,Android,Arrays,Broadcastreceiver,Static Array,我想从BroadcastReceiver中的一些静态数组中获取值。问题是,它在BroadcastReceiver中总是用零填充,而在应用程序的其他任何地方都没有。在MainActivity内部,我创建了一个testArray方法,该方法还将相同的数组显示到logcat中,并且值不同 AlarmReceiver.java testArray方法-MainActivity.java代码的一部分 Data.java 造成这种结果的原因是什么?我不明白为什么静态数组包含不同的值?如何在Broadcast

我想从BroadcastReceiver中的一些静态数组中获取值。问题是,它在BroadcastReceiver中总是用零填充,而在应用程序的其他任何地方都没有。在MainActivity内部,我创建了一个testArray方法,该方法还将相同的数组显示到logcat中,并且值不同

AlarmReceiver.java

testArray方法-MainActivity.java代码的一部分

Data.java


造成这种结果的原因是什么?我不明白为什么静态数组包含不同的值?如何在BroadcastReceiver中获取静态数组的正确值?

您如何注册此接收器?如果它作为元素存在于清单中,那么该元素上是否有android:process属性?另外,请记住,您的进程可能会在任何时候终止-仅使用静态数据成员作为缓存,数据可以延迟初始化或以其他方式再次获取。请发布您的AndroidManifest.xml,您可能正在Receiver中使用process属性。我的AndroidManifest.xml文件中有以下一行:由于BroadcastReceiver的manifest声明中有android:process条目,它运行在与您的活动不同的进程中。这就是为什么您看到的行为您看到的是BroadcastReceiver运行的进程从未初始化过数据。从BroadcastReceiver的清单中删除android:process说明符。
public class AlarmReceiver extends BroadcastReceiver {

    @Override
    public void onReceive(Context k1, Intent k2) {
        // TODO Auto-generated method stub
        final Calendar c = Calendar.getInstance();
        int hour = c.get(Calendar.HOUR_OF_DAY);

        for (int i=0; i<24; i++) {
            Log.d("Receiver " + Integer.toString(i), Double.toString(Data.mean_temp_day[i]));
        }
    }

}
01-17 22:03:02.007  10911-10911/com.example.nimboo:remote D/Receiver 0﹕ 0.0
01-17 22:03:02.007  10911-10911/com.example.nimboo:remote D/Receiver 1﹕ 0.0
01-17 22:03:02.007  10911-10911/com.example.nimboo:remote D/Receiver 2﹕ 0.0
01-17 22:03:02.007  10911-10911/com.example.nimboo:remote D/Receiver 3﹕ 0.0
01-17 22:03:02.007  10911-10911/com.example.nimboo:remote D/Receiver 4﹕ 0.0
01-17 22:03:02.007  10911-10911/com.example.nimboo:remote D/Receiver 5﹕ 0.0
01-17 22:03:02.007  10911-10911/com.example.nimboo:remote D/Receiver 6﹕ 0.0
01-17 22:03:02.007  10911-10911/com.example.nimboo:remote D/Receiver 7﹕ 0.0
01-17 22:03:02.007  10911-10911/com.example.nimboo:remote D/Receiver 8﹕ 0.0
01-17 22:03:02.007  10911-10911/com.example.nimboo:remote D/Receiver 9﹕ 0.0
01-17 22:03:02.017  10911-10911/com.example.nimboo:remote D/Receiver 10﹕ 0.0
01-17 22:03:02.017  10911-10911/com.example.nimboo:remote D/Receiver 11﹕ 0.0
01-17 22:03:02.027  10911-10911/com.example.nimboo:remote D/Receiver 12﹕ 0.0
01-17 22:03:02.027  10911-10911/com.example.nimboo:remote D/Receiver 13﹕ 0.0
01-17 22:03:02.027  10911-10911/com.example.nimboo:remote D/Receiver 14﹕ 0.0
01-17 22:03:02.027  10911-10911/com.example.nimboo:remote D/Receiver 15﹕ 0.0
01-17 22:03:02.027  10911-10911/com.example.nimboo:remote D/Receiver 16﹕ 0.0
01-17 22:03:02.027  10911-10911/com.example.nimboo:remote D/Receiver 17﹕ 0.0
01-17 22:03:02.027  10911-10911/com.example.nimboo:remote D/Receiver 18﹕ 0.0
01-17 22:03:02.027  10911-10911/com.example.nimboo:remote D/Receiver 19﹕ 0.0
01-17 22:03:02.037  10911-10911/com.example.nimboo:remote D/Receiver 20﹕ 0.0
01-17 22:03:02.037  10911-10911/com.example.nimboo:remote D/Receiver 21﹕ 0.0
01-17 22:03:02.037  10911-10911/com.example.nimboo:remote D/Receiver 22﹕ 0.0
01-17 22:03:02.037  10911-10911/com.example.nimboo:remote D/Receiver 23﹕ 0.0
public void testArray(View v) {
        for(int i=0; i<24; i++) {
            Log.d("Test " + Integer.toString(i), Double.toString(Data.mean_temp_day[i]));
        }
    }
01-17 22:02:23.387    9929-9929/com.example.nimboo D/Test 0﹕ 0.0
01-17 22:02:23.387    9929-9929/com.example.nimboo D/Test 1﹕ 0.0
01-17 22:02:23.387    9929-9929/com.example.nimboo D/Test 2﹕ 0.0
01-17 22:02:23.387    9929-9929/com.example.nimboo D/Test 3﹕ 0.0
01-17 22:02:23.387    9929-9929/com.example.nimboo D/Test 4﹕ 0.0
01-17 22:02:23.387    9929-9929/com.example.nimboo D/Test 5﹕ 0.0
01-17 22:02:23.387    9929-9929/com.example.nimboo D/Test 6﹕ 0.0
01-17 22:02:23.387    9929-9929/com.example.nimboo D/Test 7﹕ 0.0
01-17 22:02:23.387    9929-9929/com.example.nimboo D/Test 8﹕ 0.0
01-17 22:02:23.387    9929-9929/com.example.nimboo D/Test 9﹕ 0.0
01-17 22:02:23.387    9929-9929/com.example.nimboo D/Test 10﹕ 0.0
01-17 22:02:23.387    9929-9929/com.example.nimboo D/Test 11﹕ 0.0
01-17 22:02:23.387    9929-9929/com.example.nimboo D/Test 12﹕ 0.0
01-17 22:02:23.387    9929-9929/com.example.nimboo D/Test 13﹕ 24.721666666666664
01-17 22:02:23.387    9929-9929/com.example.nimboo D/Test 14﹕ 12.02
01-17 22:02:23.387    9929-9929/com.example.nimboo D/Test 15﹕ 0.0
01-17 22:02:23.387    9929-9929/com.example.nimboo D/Test 16﹕ 0.0
01-17 22:02:23.387    9929-9929/com.example.nimboo D/Test 17﹕ 21.323333333333334
01-17 22:02:23.387    9929-9929/com.example.nimboo D/Test 18﹕ 22.481666666666666
01-17 22:02:23.387    9929-9929/com.example.nimboo D/Test 19﹕ 22.06833333333333
01-17 22:02:23.387    9929-9929/com.example.nimboo D/Test 20﹕ 22.098
01-17 22:02:23.387    9929-9929/com.example.nimboo D/Test 21﹕ 21.98166666666667
01-17 22:02:23.387    9929-9929/com.example.nimboo D/Test 22﹕ 21.67
01-17 22:02:23.387    9929-9929/com.example.nimboo D/Test 23﹕ 0.0
public final class Data {
    public static double[] mean_temp_day = new double[24];
    private Data() {
    }
}