Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/187.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 在android数据库中插入时出现异常_Java_Android_Sqlite - Fatal编程技术网

Java 在android数据库中插入时出现异常

Java 在android数据库中插入时出现异常,java,android,sqlite,Java,Android,Sqlite,在for循环和打印日志之后,调用insert函数时会抛出一个UnknownFormatConversionException,我捕获了该异常,但是如何删除它呢?我不知道发生的原因是什么 try { List<Status> timeline = ((YambaApp) getApplication()).getTwitter().getPublicTimeline(); for (Status status : timelin

在for循环和打印日志之后,调用insert函数时会抛出一个UnknownFormatConversionException,我捕获了该异常,但是如何删除它呢?我不知道发生的原因是什么

try {
        List<Status> timeline = 
            ((YambaApp) getApplication()).getTwitter().getPublicTimeline();
        for (Status status : timeline) {
            Log.d(TAG, String.format("%s: %s", status.user.name,
                    status.text));
            statusData.insert(status);

            }
    } catch (TwitterException e) {
        Log.d(TAG,"Failed to access twitter service  ",e);
    } catch(NullPointerException a){
        Log.d(TAG,"Pref had been changed and twitter object is null",a);
    } catch (UnknownFormatConversionException u){
        Log.d(TAG,"exception "+ u);
    }
下面是抛出异常的完整堆栈跟踪

10-10 06:05:22.648: E/AndroidRuntime(627): FATAL EXCEPTION: IntentService[RefreshService]
10-10 06:05:22.648: E/AndroidRuntime(627): java.util.UnknownFormatConversionException: Conversion: i
10-10 06:05:22.648: E/AndroidRuntime(627):  at java.util.Formatter$FormatToken.unknownFormatConversionException(Formatter.java:1397)
10-10 06:05:22.648: E/AndroidRuntime(627):  at     java.util.Formatter$FormatToken.checkFlags(Formatter.java:1334)
10-10 06:05:22.648: E/AndroidRuntime(627):  at java.util.Formatter.transform(Formatter.java:1440)
10-10 06:05:22.648: E/AndroidRuntime(627):  at java.util.Formatter.doFormat(Formatter.java:1079)
10-10 06:05:22.648: E/AndroidRuntime(627):  at java.util.Formatter.format(Formatter.java:1040)
10-10 06:05:22.648: E/AndroidRuntime(627):  at java.util.Formatter.format(Formatter.java:1009)
10-10 06:05:22.648: E/AndroidRuntime(627):  at java.lang.String.format(String.java:1998)
10-10 06:05:22.648: E/AndroidRuntime(627):  at java.lang.String.format(String.java:1972)
10-10 06:05:22.648: E/AndroidRuntime(627):  at com.example.yamba.StatusData$DbHelper.onCreate(StatusData.java:59)
10-10 06:05:22.648: E/AndroidRuntime(627):  at android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:165)
10-10 06:05:22.648: E/AndroidRuntime(627):  at com.example.yamba.StatusData.insert(StatusData.java:32)
10-10 06:05:22.648: E/AndroidRuntime(627):  at com.example.yamba.RefreshService.onHandleIntent(RefreshService.java:32)
10-10 06:05:22.648: E/AndroidRuntime(627):  at android.app.IntentService$ServiceHandler.handleMessage(IntentService.java:65)
10-10 06:05:22.648: E/AndroidRuntime(627):  at android.os.Handler.dispatchMessage(Handler.java:99)
10-10 06:05:22.648: E/AndroidRuntime(627):  at android.os.Looper.loop(Looper.java:137)
10-10 06:05:22.648: E/AndroidRuntime(627):  at android.os.HandlerThread.run(HandlerThread.java:60)
10-10 06:05:22.968: W/IInputConnectionWrapper(627): showStatusIcon on inactive InputConnection
insert()
方法更改中

String status_id= new String(bi.toByteArray());

调用
bi.toByteArray()
将返回一个字节数组,其中包含
BigInteger
的二进制表示形式。您无法以正确的方式将其转换为
字符串。只需在
insert()
方法更改中使用所提供的
toString()
方法

String status_id= new String(bi.toByteArray());


调用
bi.toByteArray()
将返回一个字节数组,其中包含
BigInteger
的二进制表示形式。您无法以正确的方式将其转换为
字符串。只需使用提供的
toString()
方法
biginger

那么,异常是什么呢?UnknownInformationConversionException:conversion:i10-09 23:44:24.744:D/RefreshService(1493):exception java.util.UnknownInformationException:ConversionException:iIs status.user.name字符串?format语句需要一个字符串%s如果要查看异常的确切抛出位置,只需删除
catch(UnknownFormatConversionException u)
子句即可。然后,您将获得一个堆栈跟踪,该跟踪准确显示异常引发的位置。那么,异常是什么?UnknownFormatConversionException:conversion:i10-09 23:44:24.744:D/RefreshService(1493):异常java.util.UnknownFormatConversionException:conversion:iIs status.user.name字符串?format语句需要一个字符串%s如果要查看异常的确切抛出位置,只需删除
catch(UnknownFormatConversionException u)
子句即可。然后,您将得到一个堆栈跟踪,它精确地显示异常抛出的位置。
String status_id = bi.toString();