Java 包含来自boolean的JSON数据的If语句
我有一个布尔值,它是从Java 包含来自boolean的JSON数据的If语句,java,android,boolean,Java,Android,Boolean,我有一个布尔值,它是从公共静态布尔值checkIfOnline()创建的。但是我想用public void detectonline()创建一个检查系统(从值)。但是当我想在我的protectedvoid onCreate上调用它时。我有这个错误:未处理的异常:org.json.JSONException,java.io.IOException在我的detectonline()上(在onCreate中) 如何检查布尔值是真是假,以及如何对结果执行操作?首先,您的checkIfOnline()函数
公共静态布尔值checkIfOnline()
创建的。但是我想用public void detectonline()
创建一个检查系统(从值)。但是当我想在我的protectedvoid onCreate上调用它时
。我有这个错误:未处理的异常:org.json.JSONException,java.io.IOException
在我的detectonline()上代码>(在onCreate中)
如何检查布尔值是真是假,以及如何对结果执行操作?首先,您的checkIfOnline()函数返回布尔值,但您将其用作空值,即不在任何位置分配返回值。所以改变这个
public static boolean checkIfOnline()
Boolean onair;
对此
public static void checkIfOnline()
private static boolean onair;
其次,在checkIfOnline()函数中,当您在此处的函数本身中声明布尔值时,将布尔值的值赋给局部变量onair:
boolean onair = json.getBoolean("onair");
因此,只需将其更改为:
onair = json.getBoolean("onair");
最后,将onair变量声明为private/public变量,以便函数可以修改它(并且,使用上面代码中编写的boolean而不是boolean)。所以改变这个
public static boolean checkIfOnline()
Boolean onair;
对此
public static void checkIfOnline()
private static boolean onair;
这可能会解决问题。如果没有,我会给你一个更好的答案,但是先试试这个
您的全局变量onair
从未初始化
onair=checkIfOnline()代码>
方法detectionline()
抛出JSONException
和IOException
,因此无论何时调用此方法,都必须通过捕获或重新抛出来处理此类异常
在Java中抛出异常时,必须在某个地方捕获它。这是你的责任,这样做,除非你支付一个例外捕捉为你做!谢谢您的帮助,但是在protectedvoid onCreate
中,当我需要调用'detectonline();`我有同样的问题未处理的异常:org.json.JSONException,java.io.IOException