无法检索源码信息

编程入门 行业动态 更新时间:2024-10-12 01:25:51
本文介绍了无法检索源码信息的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我有我的屏幕上的3个按钮选择图像,SAVEDATA,checkdata。当我点击校验数据它显示一个空白屏幕,不显示任何图像 有一个警告,未使用的字段DataManipulator.insert的值 任何一个可以纠正我的code? 这是我DataManipulator.java

公共类DataManipulator {     私有静态最后弦乐DATABASE_NAME =mydatabase.db;     私有静态最终诠释DATABASE_VERSION = 1;     静态最后弦乐TABLE_NAME =newtable的;     私有静态上下文的背景下;     静态SQLiteDatabase分贝;     私人SQLiteStatement插入;     私有静态最后弦乐INSERT =变成+ TABLE_NAME +(名称)值(?);     公共DataManipulator(上下文的背景下){         DataManipulator.context =背景;         OpenHelper openHelper =新OpenHelper(DataManipulator.context);         DataManipulator.db = openHelper.getWritableDatabase();         this.insert = DataManipulator.dbpileStatement(INSERT);     }     众长刀片(字符串名称){         ContentValues​​的args =新ContentValues​​();         args.put(姓名,名);         返回db.insert(TABLE_NAME,空,参数);     }     公共无效用deleteAll(){         db.delete(TABLE_NAME,NULL,NULL);     }     公开名单<的String []>全选()     {         名单<的String []>名单=新的ArrayList<的String []>();         光标光标= db.query(TABLE_NAME,新的String [] {姓名},NULL,NULL,NULL,NULL,NULL);         INT X = 0;         如果(cursor.moveToFirst()){             做 {                 的String [] B1 =新的String [] {cursor.getString(0)};                 list.add(B1);                 X = X + 1;             }而(cursor.moveToNext());         }         如果(光标=空&安培;!&安培;!cursor.isClosed()){             cursor.close();         }         cursor.close();         返回列表;     }     公共无效删除(INT ROWID){         db.delete(TABLE_NAME,NULL,NULL);     }     私有静态类OpenHelper扩展SQLiteOpenHelper {         OpenHelper(上下文的背景下){             超(背景下,DATABASE_NAME,空,DATABASE_VERSION);         }         @覆盖         公共无效的onCreate(SQLiteDatabase DB){             db.execSQL(CREATE TABLE+ TABLE_NAME +(Name文本));         }         @覆盖         公共无效onUpgrade(SQLiteDatabase分贝,INT oldVersion,诠释静态网页){             db.execSQL(DROP TABLE IF EXISTS+ TABLE_NAME);             的onCreate(DB);         }     } }

当我调试的logcat输出

12月5号至23日:05:04.021:E / SQLiteDatabase(883):关闭()从来没有明确要求数据库/data/data/list.certificates/databases/mydatabase .db的 12月5日至23号:05:04.021:E / SQLiteDatabase(883):android.database.sqlite.DatabaseObjectNotClosedException:应用程序没有关闭在这里打开的游标或数据库对象 12月5日至23号:05:04.021:E / SQLiteDatabase(883):在android.database.sqlite.SQLiteDatabase< INIT>(SQLiteDatabase.java:1943) 12月5日至23号:05:04.021:E / SQLiteDatabase(883):在android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:1007) 12月5日至23号:05:04.021:E / SQLiteDatabase(883):在android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:986) 12月5日至23号:05:04.021:E / SQLiteDatabase(883):在android.database.sqlite.SQLiteDatabase.openOrCreateDatabase(SQLiteDatabase.java:1051) 12月5日至23号:05:04.021:E / SQLiteDatabase(883):在android.app.ContextImpl.openOrCreateDatabase(ContextImpl.java:770) 12月5日至23号:05:04.021:E / SQLiteDatabase(883):在android.content.ContextWrapper.openOrCreateDatabase(ContextWrapper.java:221) 12月5日至23号:05:04.021:E / SQLiteDatabase(883):在android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:157) 12月5日至23号:05:04.021:E / SQLiteDatabase(883):在list.certificates.DataManipulator< INIT>(DataManipulator.java:25) 12月5日至23号:05:04.021:E / SQLiteDatabase(883):在list.certificates.SaveData.onClick(SaveData.java:57) 12月5日至23号:05:04.021:E / SQLiteDatabase(883):在android.view.View.performClick(View.java:3480) 12月5日至23号:05:04.021:E / SQLiteDatabase(883):在android.view.View $ PerformClick.run(View.java:13983) 12月5日至23号:05:04.021:E / SQLiteDatabase(883):在android.os.Handler.handleCallback(Handler.java:605) 12月5日至23号:05:04.021:E / SQLiteDatabase(883):在android.os.Handler.dispatchMessage(Handler.java:92) 12月5日至23号:05:04.021:E / SQLiteDatabase(883):在android.os.Looper.loop(Looper.java:137) 12月5日至23号:05:04.021:E / SQLiteDatabase(883):在android.app.ActivityThread.main(ActivityThread.java:4340) 12月5日至23号:05:04.021:E / SQLiteDatabase(883):在java.lang.reflect.Method.invokeNative(本机方法) 12月5日至23号:05:04.021:E / SQLiteDatabase(883):在java.lang.reflect.Method.invoke(Method.java:511) 12月5日至23号:05:04.021:E / SQLiteDatabase(883):在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:784) 12月5日至23号:05:04.021:E / SQLiteDatabase(883):在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551) 12月5日至23号:05:04.021:E / SQLiteDatabase(883):在dalvik.system.NativeStart.main(本机方法) 12月5日至23号:05:04.061:E /系统(883):未捕获的异常抛出终结 12月5日至23号:05:04.281:E /系统(883):java.lang.IllegalStateException:不具备数据库锁! 12月5日至23号:05:04.281:E /系统(883):在android.database.sqlite.SQLiteDatabase.verifyLockOwner(SQLiteDatabase.java:2090) 12月5日至23号:05:04.281:E /系统(883):在android.database.sqlite.SQLiteDatabase $ 1.entryRemoved(SQLiteDatabase.java:2182) 12月5日至23号:05:04.281:E /系统(883):在android.database.sqlite.SQLiteDatabase $ 1.entryRemoved(SQLiteDatabase.java:2178) 12月5日至23号:05:04.281:E /系统(883):在android.util.LruCache.trimToSize(LruCache.java:197) 12月5日至23号:05:04.281:E /系统(883):在android.util.LruCache.evictAll(LruCache.java:285) 12月5日至23号:05:04.281:E /系统(883):在android.database.sqlite.SQLiteDatabase.deallocCachedSqlStatements(SQLiteDatabase.java:2143) 12月5日至23号:05:04.281:E /系统(883):在android.database.sqlite.SQLiteDatabase.closeClosable(SQLiteDatabase.java:1126) 12月5日至23号:05:04.281:E /系统(883):在android.database.sqlite.SQLiteDatabase.finalize(SQLiteDatabase.java:1914) 12月5日至23号:05:04.281:E /系统(883):在java.lang.Daemons $ FinalizerDaemon.doFinalize(Daemons.java:182) 12月5日至23号:05:04.281:E /系统(883):在java.lang.Daemons $ FinalizerDaemon.run(Daemons.java:168) 12月5日至23号:05:04.281:E /系统(883):在java.lang.Thread.run(Thread.java:856)

解决方案

实施乌尔code本code检索   公开名单<字符串> selectAll_trips(){       名单<字符串>名单=新的ArrayList<字符串>();       光标光标= this.db.query(TABLE_NAME,新的String [] {*},               NULL,NULL,NULL,NULL,TRIPID降序);       如果(cursor.moveToFirst()){              做 {                  list.add(cursor.getString(0));                  list.add(cursor.getString(1));                  list.add(cursor.getString(2));                  list.add(cursor.getString(3));                  list.add(cursor.getString(4));                  list.add(cursor.getString(5));                }而(cursor.moveToNext());           }       如果(光标=空&安培;!&安培;!cursor.isClosed()){          cursor.close();       }       返回列表;    }

I have 3 buttons on my screen choose image, savedata, checkdata. When I click on check data it shows a blank screen, it is not showing any images There is a warning that The value of the field DataManipulator.insert is not used Can any one correct my code? This is my DataManipulator.java

public class DataManipulator { private static final String DATABASE_NAME = "mydatabase.db"; private static final int DATABASE_VERSION = 1; static final String TABLE_NAME = "newtable"; private static Context context; static SQLiteDatabase db; private SQLiteStatement insert; private static final String INSERT = " into " + TABLE_NAME + " (name) values (?)"; public DataManipulator(Context context) { DataManipulator.context = context; OpenHelper openHelper = new OpenHelper(DataManipulator.context); DataManipulator.db = openHelper.getWritableDatabase(); this.insert = DataManipulator.dbpileStatement(INSERT); } public long insert(String name) { ContentValues args = new ContentValues(); args.put("name", name); return db.insert(TABLE_NAME, null, args); } public void deleteAll() { db.delete(TABLE_NAME, null, null); } public List<String[]> selectAll() { List<String[]> list = new ArrayList<String[]>(); Cursor cursor = db.query(TABLE_NAME, new String[] { "name"}, null, null, null, null, null); int x=0; if (cursor.moveToFirst()) { do { String[] b1=new String[]{cursor.getString(0)}; list.add(b1); x=x+1; } while (cursor.moveToNext()); } if (cursor != null && !cursor.isClosed()) { cursor.close(); } cursor.close(); return list; } public void delete(int rowId) { db.delete(TABLE_NAME, null, null); } private static class OpenHelper extends SQLiteOpenHelper { OpenHelper(Context context) { super(context, DATABASE_NAME, null, DATABASE_VERSION); } @Override public void onCreate(SQLiteDatabase db) { db.execSQL("CREATE TABLE " + TABLE_NAME + " (name TEXT)"); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { db.execSQL("DROP TABLE IF EXISTS " + TABLE_NAME); onCreate(db); } } }

logcat output when I was debugging

05-23 12:05:04.021: E/SQLiteDatabase(883): close() was never explicitly called on database '/data/data/list.certificates/databases/mydatabase.db' 05-23 12:05:04.021: E/SQLiteDatabase(883): android.database.sqlite.DatabaseObjectNotClosedException: Application did not close the cursor or database object that was opened here 05-23 12:05:04.021: E/SQLiteDatabase(883): at android.database.sqlite.SQLiteDatabase.<init>(SQLiteDatabase.java:1943) 05-23 12:05:04.021: E/SQLiteDatabase(883): at android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:1007) 05-23 12:05:04.021: E/SQLiteDatabase(883): at android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:986) 05-23 12:05:04.021: E/SQLiteDatabase(883): at android.database.sqlite.SQLiteDatabase.openOrCreateDatabase(SQLiteDatabase.java:1051) 05-23 12:05:04.021: E/SQLiteDatabase(883): at android.app.ContextImpl.openOrCreateDatabase(ContextImpl.java:770) 05-23 12:05:04.021: E/SQLiteDatabase(883): at android.content.ContextWrapper.openOrCreateDatabase(ContextWrapper.java:221) 05-23 12:05:04.021: E/SQLiteDatabase(883): at android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:157) 05-23 12:05:04.021: E/SQLiteDatabase(883): at list.certificates.DataManipulator.<init>(DataManipulator.java:25) 05-23 12:05:04.021: E/SQLiteDatabase(883): at list.certificates.SaveData.onClick(SaveData.java:57) 05-23 12:05:04.021: E/SQLiteDatabase(883): at android.view.View.performClick(View.java:3480) 05-23 12:05:04.021: E/SQLiteDatabase(883): at android.view.View$PerformClick.run(View.java:13983) 05-23 12:05:04.021: E/SQLiteDatabase(883): at android.os.Handler.handleCallback(Handler.java:605) 05-23 12:05:04.021: E/SQLiteDatabase(883): at android.os.Handler.dispatchMessage(Handler.java:92) 05-23 12:05:04.021: E/SQLiteDatabase(883): at android.os.Looper.loop(Looper.java:137) 05-23 12:05:04.021: E/SQLiteDatabase(883): at android.app.ActivityThread.main(ActivityThread.java:4340) 05-23 12:05:04.021: E/SQLiteDatabase(883): at java.lang.reflect.Method.invokeNative(Native Method) 05-23 12:05:04.021: E/SQLiteDatabase(883): at java.lang.reflect.Method.invoke(Method.java:511) 05-23 12:05:04.021: E/SQLiteDatabase(883): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784) 05-23 12:05:04.021: E/SQLiteDatabase(883): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551) 05-23 12:05:04.021: E/SQLiteDatabase(883): at dalvik.system.NativeStart.main(Native Method) 05-23 12:05:04.061: E/System(883): Uncaught exception thrown by finalizer 05-23 12:05:04.281: E/System(883): java.lang.IllegalStateException: Don't have database lock! 05-23 12:05:04.281: E/System(883): at android.database.sqlite.SQLiteDatabase.verifyLockOwner(SQLiteDatabase.java:2090) 05-23 12:05:04.281: E/System(883): at android.database.sqlite.SQLiteDatabase$1.entryRemoved(SQLiteDatabase.java:2182) 05-23 12:05:04.281: E/System(883): at android.database.sqlite.SQLiteDatabase$1.entryRemoved(SQLiteDatabase.java:2178) 05-23 12:05:04.281: E/System(883): at android.util.LruCache.trimToSize(LruCache.java:197) 05-23 12:05:04.281: E/System(883): at android.util.LruCache.evictAll(LruCache.java:285) 05-23 12:05:04.281: E/System(883): at android.database.sqlite.SQLiteDatabase.deallocCachedSqlStatements(SQLiteDatabase.java:2143) 05-23 12:05:04.281: E/System(883): at android.database.sqlite.SQLiteDatabase.closeClosable(SQLiteDatabase.java:1126) 05-23 12:05:04.281: E/System(883): at android.database.sqlite.SQLiteDatabase.finalize(SQLiteDatabase.java:1914) 05-23 12:05:04.281: E/System(883): at java.lang.Daemons$FinalizerDaemon.doFinalize(Daemons.java:182) 05-23 12:05:04.281: E/System(883): at java.lang.Daemons$FinalizerDaemon.run(Daemons.java:168) 05-23 12:05:04.281: E/System(883): at java.lang.Thread.run(Thread.java:856)

解决方案

implement ur code in this code for retrieving public List<String> selectAll_trips() { List<String> list = new ArrayList<String>(); Cursor cursor = this.db.query(TABLE_NAME, new String[] { "*" }, null , null, null, null, "tripid desc"); if (cursor.moveToFirst()) { do { list.add(cursor.getString(0)); list.add(cursor.getString(1)); list.add(cursor.getString(2)); list.add(cursor.getString(3)); list.add(cursor.getString(4)); list.add(cursor.getString(5)); } while (cursor.moveToNext()); } if (cursor != null && !cursor.isClosed()) { cursor.close(); } return list; }

更多推荐

无法检索源码信息

本文发布于:2023-11-06 08:28:22,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1563191.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:源码   信息

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!