Advertisement
Guest User

Untitled

a guest
Apr 8th, 2016
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 14.94 KB | None | 0 0
  1. 04-08 21:22:52.448 27585-27585/app.fingervoiz.com.tamla E/AndroidRuntime: FATAL EXCEPTION: main
  2. Process: app.fingervoiz.com.tamla, PID: 27585
  3. java.lang.RuntimeException: Unable to start activity ComponentInfo{app.fingervoiz.com.tamla/app.fingervoiz.com.tamla.FingerPrintList}: java.lang.IllegalStateException: Couldn't read row 0, col 0 from CursorWindow. Make sure the Cursor is initialized correctly before accessing data from it.
  4. at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2534)
  5. at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2608)
  6. at android.app.ActivityThread.access$800(ActivityThread.java:178)
  7. at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1470)
  8. at android.os.Handler.dispatchMessage(Handler.java:111)
  9. at android.os.Looper.loop(Looper.java:194)
  10. at android.app.ActivityThread.main(ActivityThread.java:5637)
  11. at java.lang.reflect.Method.invoke(Native Method)
  12. at java.lang.reflect.Method.invoke(Method.java:372)
  13. at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:959)
  14. at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:754)
  15. Caused by: java.lang.IllegalStateException: Couldn't read row 0, col 0 from CursorWindow. Make sure the Cursor is initialized correctly before accessing data from it.
  16. at android.database.CursorWindow.nativeGetLong(Native Method)
  17. at android.database.CursorWindow.getLong(CursorWindow.java:511)
  18. at android.database.CursorWindow.getInt(CursorWindow.java:578)
  19. at android.database.AbstractWindowedCursor.getInt(AbstractWindowedCursor.java:84)
  20. at app.fingervoiz.com.tamla.TamlaDBHelper.getAllFingerPrint(TamlaDBHelper.java:129)
  21. at app.fingervoiz.com.tamla.FingerPrintList.onCreate(FingerPrintList.java:35)
  22. at android.app.Activity.performCreate(Activity.java:6092)
  23. at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1112)
  24. at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2481)
  25. at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2608) 
  26. at android.app.ActivityThread.access$800(ActivityThread.java:178) 
  27. at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1470) 
  28. at android.os.Handler.dispatchMessage(Handler.java:111) 
  29. at android.os.Looper.loop(Looper.java:194) 
  30. at android.app.ActivityThread.main(ActivityThread.java:5637) 
  31. at java.lang.reflect.Method.invoke(Native Method) 
  32. at java.lang.reflect.Method.invoke(Method.java:372) 
  33. at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:959) 
  34. at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:754) 
  35.  
  36. package app.fingervoiz.com.tamla;
  37.  
  38. import android.content.ContentValues;
  39. import android.content.Context;
  40. import android.database.Cursor;
  41. import android.database.sqlite.SQLiteDatabase;
  42. import android.database.sqlite.SQLiteOpenHelper;
  43.  
  44. import java.util.ArrayList;
  45. import java.util.List;
  46.  
  47. /**
  48. * Created by MEIHEART on 4/4/2016.
  49. */
  50. public class TamlaDBHelper extends SQLiteOpenHelper{
  51.  
  52. //DataBase
  53. private static final String DATABASE_NAME = "TamlaDB";
  54. private static final String DATABASE_TABLE_1 = "Users";
  55. private static final String DATABASE_TABLE_2 = "FingerPrintDataset";
  56. private static final int DATABASE_VERSION = 1;
  57.  
  58. //Users Table
  59. public static final String KEY_ROW_ID = "Users_Id";
  60. public static final String KEY_ROW_NAME_1 = "firstName";
  61. public static final String KEY_ROW_NAME_2 = "middleName";
  62. public static final String KEY_ROW_NAME_3 = "lastName";
  63. public static final String KEY_ROW_AGE = "user_age";
  64. public static final String KEY_ROW_JOB_POSITION = "user_position";
  65. public static final String KEY_ROW_WORK_STATION = "user_station";
  66. public static final String KEY_ROW_EMAIL_ADDRESS = "user_email";
  67. public static final String KEY_ROW_USERNAME = "usrName";
  68. public static final String KEY_ROW_PASSWORD = "passWrd";
  69. public static final String KEY_ROW_DEFAULT_PICTURE = "DPicture";
  70.  
  71. //FINGERPRINT Dataset Table
  72. public static final String KEY_ROW_FPD_ID = "FPDs_Id"; //0
  73. public static final String KEY_ROW_FPD_NAME = "FPDs_fullname"; //1
  74. public static final String KEY_ROW_FPD_AGE = "FPDs_Age"; //2
  75. public static final String KEY_ROW_FPD_GENDER = "FPDs_Gender"; //3
  76. public static final String KEY_ROW_FPD_ADDRESS = "FPDs_Address"; //4
  77. public static final String KEY_ROW_FPD_FINGERPRINT_1 = "FPDs_Fingerprint1"; //5
  78. public static final String KEY_ROW_FPD_FINGERPRINT_2 = "FPDs_Fingerprint2"; //6
  79. public static final String KEY_ROW_FPD_FINGERPRINT_3 = "FPDs_Fingerprint3"; //7
  80. public static final String KEY_ROW_FPD_FINGERPRINT_4 = "FPDs_Fingerprint4"; //8
  81. public static final String KEY_ROW_FPD_FINGERPRINT_5 = "FPDs_Fingerprint5"; //9
  82. public static final String KEY_ROW_FPD_FINGERPRINT_6 = "FPDs_Fingerprint6"; //10
  83. public static final String KEY_ROW_FPD_FINGERPRINT_7 = "FPDs_Fingerprint7"; //11
  84. public static final String KEY_ROW_FPD_FINGERPRINT_8 = "FPDs_Fingerprint8"; //12
  85. public static final String KEY_ROW_FPD_FINGERPRINT_9 = "FPDs_Fingerprint9"; //13
  86. public static final String KEY_ROW_FPD_FINGERPRINT_10 = "FPDs_Fingerprint10"; //14
  87. public static final String KEY_ROW_FPD_DEFAULT_PICTURE = "DPicture"; //15
  88.  
  89. public TamlaDBHelper(Context context){
  90. super(context, DATABASE_NAME, null, DATABASE_VERSION);
  91. }
  92.  
  93.  
  94. @Override
  95. public void onCreate(SQLiteDatabase db) {
  96.  
  97. db.execSQL("CREATE TABLE " + DATABASE_TABLE_1 + " (" + KEY_ROW_ID + " INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, " + KEY_ROW_NAME_1 + " TEXT, " + KEY_ROW_NAME_2 + " TEXT, " + KEY_ROW_NAME_3 + " TEXT, " + KEY_ROW_AGE + " INTEGER, " + KEY_ROW_JOB_POSITION + " TEXT, " + KEY_ROW_WORK_STATION + " TEXT, " + KEY_ROW_EMAIL_ADDRESS + " TEXT, " + KEY_ROW_USERNAME + " TEXT, " + KEY_ROW_PASSWORD + " TEXT, " + KEY_ROW_DEFAULT_PICTURE + " BLOB);");
  98.  
  99. db.execSQL("CREATE TABLE " + DATABASE_TABLE_2 + " (" + KEY_ROW_FPD_ID + " INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, " + KEY_ROW_FPD_NAME + " TEXT, " + KEY_ROW_FPD_AGE + " INTEGER, " + KEY_ROW_FPD_GENDER + " TEXT, " + KEY_ROW_FPD_ADDRESS + " TEXT, " + KEY_ROW_FPD_FINGERPRINT_1 + " BLOB, " + KEY_ROW_FPD_FINGERPRINT_2 + " BLOB, " + KEY_ROW_FPD_FINGERPRINT_3 + " BLOB, " + KEY_ROW_FPD_FINGERPRINT_4 + " BLOB, " + KEY_ROW_FPD_FINGERPRINT_5 + " BLOB, " + KEY_ROW_FPD_FINGERPRINT_6 + " BLOB, " + KEY_ROW_FPD_FINGERPRINT_7 + " BLOB, " + KEY_ROW_FPD_FINGERPRINT_8 + " BLOB, " + KEY_ROW_FPD_FINGERPRINT_9 + " BLOB, " + KEY_ROW_FPD_FINGERPRINT_10 + " BLOB, " + KEY_ROW_FPD_DEFAULT_PICTURE + " BLOB);");
  100.  
  101. }
  102.  
  103. @Override
  104. public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
  105. db.execSQL("DROP TABLE IF EXIST " + DATABASE_TABLE_1 + " AND " + DATABASE_TABLE_2);
  106. onCreate(db);
  107. }
  108.  
  109. public // Public Insert new User
  110. void addFingerPrint(FingerPrint fingerPrint){
  111. SQLiteDatabase ourDatabase = this.getWritableDatabase();
  112.  
  113. ContentValues values = new ContentValues();
  114. values.put(KEY_ROW_FPD_NAME, fingerPrint.fulname);
  115. values.put(KEY_ROW_FPD_AGE, fingerPrint.age);
  116. values.put(KEY_ROW_FPD_GENDER, fingerPrint.gender);
  117. values.put(KEY_ROW_FPD_ADDRESS, fingerPrint.address);
  118. values.put(KEY_ROW_FPD_FINGERPRINT_1, fingerPrint.fp1);
  119. values.put(KEY_ROW_FPD_FINGERPRINT_2, fingerPrint.fp2);
  120. values.put(KEY_ROW_FPD_FINGERPRINT_3, fingerPrint.fp3);
  121. values.put(KEY_ROW_FPD_FINGERPRINT_4, fingerPrint.fp4);
  122. values.put(KEY_ROW_FPD_FINGERPRINT_5, fingerPrint.fp5);
  123. values.put(KEY_ROW_FPD_FINGERPRINT_6, fingerPrint.fp6);
  124. values.put(KEY_ROW_FPD_FINGERPRINT_7, fingerPrint.fp7);
  125. values.put(KEY_ROW_FPD_FINGERPRINT_8, fingerPrint.fp8);
  126. values.put(KEY_ROW_FPD_FINGERPRINT_9, fingerPrint.fp9);
  127. values.put(KEY_ROW_FPD_FINGERPRINT_10, fingerPrint.fp10);
  128. values.put(KEY_ROW_FPD_DEFAULT_PICTURE, fingerPrint._dp);
  129.  
  130. ourDatabase.insert(DATABASE_TABLE_2, null, values);
  131. ourDatabase.close();
  132. }
  133.  
  134.  
  135. FingerPrint getFingerPrint(int id){
  136.  
  137. SQLiteDatabase db = this.getWritableDatabase();
  138.  
  139. String[] columns = new String[]{KEY_ROW_FPD_ID,KEY_ROW_FPD_NAME,KEY_ROW_FPD_AGE,KEY_ROW_FPD_GENDER,KEY_ROW_FPD_ADDRESS,KEY_ROW_FPD_FINGERPRINT_1,KEY_ROW_FPD_FINGERPRINT_2,KEY_ROW_FPD_FINGERPRINT_3,KEY_ROW_FPD_FINGERPRINT_4,KEY_ROW_FPD_FINGERPRINT_5,KEY_ROW_FPD_FINGERPRINT_6,KEY_ROW_FPD_FINGERPRINT_7,KEY_ROW_FPD_FINGERPRINT_8,KEY_ROW_FPD_FINGERPRINT_9,KEY_ROW_FPD_FINGERPRINT_10,KEY_ROW_FPD_DEFAULT_PICTURE};
  140.  
  141. Cursor cursor = db.query(DATABASE_TABLE_2,columns,KEY_ROW_FPD_ID + "=?",new String[] { String.valueOf(id) },null,null,null,null);
  142.  
  143. if (cursor != null)
  144. cursor.moveToFirst();
  145.  
  146. FingerPrint fp = new FingerPrint(Integer.parseInt(cursor.getString(0)),cursor.getString(1),cursor.getString(2),cursor.getString(3),cursor.getString(4),cursor.getBlob(5),cursor.getBlob(6),cursor.getBlob(7),cursor.getBlob(8),cursor.getBlob(9),cursor.getBlob(10),cursor.getBlob(11),cursor.getBlob(12),cursor.getBlob(13),cursor.getBlob(14),cursor.getBlob(15));
  147.  
  148. return fp;
  149. }
  150.  
  151. // Getting All Contacts
  152. public List<FingerPrint> getAllFingerPrint() {
  153. List<FingerPrint> contactList = new ArrayList<FingerPrint>();
  154. // Select All Query
  155. String selectQuery = "SELECT * FROM " + DATABASE_TABLE_2;
  156.  
  157. SQLiteDatabase db = this.getWritableDatabase();
  158. Cursor cursor = db.rawQuery(selectQuery, null);
  159.  
  160. // looping through all rows and adding to list
  161. for (cursor.moveToFirst();!cursor.isAfterLast();cursor.moveToNext()){
  162. FingerPrint fps = new FingerPrint();
  163.  
  164. fps.setFpd_id(cursor.getInt(cursor.getColumnIndexOrThrow(KEY_ROW_FPD_ID)));
  165. fps.setFulname(cursor.getString(cursor.getColumnIndexOrThrow(KEY_ROW_FPD_NAME)));
  166. fps.setAge(cursor.getString(cursor.getColumnIndexOrThrow(KEY_ROW_FPD_AGE)));
  167. fps.setGender(cursor.getString(cursor.getColumnIndexOrThrow(KEY_ROW_FPD_GENDER)));
  168. fps.setAddress(cursor.getString(cursor.getColumnIndexOrThrow(KEY_ROW_FPD_ADDRESS)));
  169. fps.setFp1(cursor.getBlob(cursor.getColumnIndexOrThrow(KEY_ROW_FPD_FINGERPRINT_1)));
  170. fps.setFp2(cursor.getBlob(cursor.getColumnIndexOrThrow(KEY_ROW_FPD_FINGERPRINT_2)));
  171. fps.setFp3(cursor.getBlob(cursor.getColumnIndexOrThrow(KEY_ROW_FPD_FINGERPRINT_3)));
  172. fps.setFp4(cursor.getBlob(cursor.getColumnIndexOrThrow(KEY_ROW_FPD_FINGERPRINT_4)));
  173. fps.setFp5(cursor.getBlob(cursor.getColumnIndexOrThrow(KEY_ROW_FPD_FINGERPRINT_5)));
  174. fps.setFp6(cursor.getBlob(cursor.getColumnIndexOrThrow(KEY_ROW_FPD_FINGERPRINT_6)));
  175. fps.setFp7(cursor.getBlob(cursor.getColumnIndexOrThrow(KEY_ROW_FPD_FINGERPRINT_7)));
  176. fps.setFp8(cursor.getBlob(cursor.getColumnIndexOrThrow(KEY_ROW_FPD_FINGERPRINT_8)));
  177. fps.setFp9(cursor.getBlob(cursor.getColumnIndexOrThrow(KEY_ROW_FPD_FINGERPRINT_9)));
  178. fps.setFp10(cursor.getBlob(cursor.getColumnIndexOrThrow(KEY_ROW_FPD_FINGERPRINT_10)));
  179. fps.set_dp(cursor.getBlob(cursor.getColumnIndexOrThrow(KEY_ROW_FPD_DEFAULT_PICTURE)));
  180.  
  181. // Adding contact to list
  182. contactList.add(fps);
  183. }
  184.  
  185. // close inserting data from database
  186. db.close();
  187. // return contact list
  188. return contactList;
  189. }
  190.  
  191.  
  192. // Deleting single contact
  193. public void deleteFingerPrint(FingerPrint fingerPrint) {
  194. SQLiteDatabase db = this.getWritableDatabase();
  195. db.delete(DATABASE_TABLE_2, KEY_ROW_FPD_ID + " = ?",
  196. new String[]{String.valueOf(fingerPrint.get_id())});
  197. db.close();
  198. }
  199.  
  200. // Updating single contact
  201. public int updateFingerPrint(FingerPrint fingerPrint) {
  202. SQLiteDatabase db = this.getWritableDatabase();
  203.  
  204. ContentValues values = new ContentValues();
  205. values.put(KEY_ROW_FPD_NAME, fingerPrint.fulname);
  206. values.put(KEY_ROW_FPD_AGE, fingerPrint.age);
  207. values.put(KEY_ROW_FPD_GENDER, fingerPrint.gender);
  208. values.put(KEY_ROW_FPD_ADDRESS, fingerPrint.address);
  209. values.put(KEY_ROW_FPD_FINGERPRINT_1, fingerPrint.fp1);
  210. values.put(KEY_ROW_FPD_FINGERPRINT_2, fingerPrint.fp2);
  211. values.put(KEY_ROW_FPD_FINGERPRINT_3, fingerPrint.fp3);
  212. values.put(KEY_ROW_FPD_FINGERPRINT_4, fingerPrint.fp4);
  213. values.put(KEY_ROW_FPD_FINGERPRINT_5, fingerPrint.fp5);
  214. values.put(KEY_ROW_FPD_FINGERPRINT_6, fingerPrint.fp6);
  215. values.put(KEY_ROW_FPD_FINGERPRINT_7, fingerPrint.fp7);
  216. values.put(KEY_ROW_FPD_FINGERPRINT_8, fingerPrint.fp8);
  217. values.put(KEY_ROW_FPD_FINGERPRINT_9, fingerPrint.fp9);
  218. values.put(KEY_ROW_FPD_FINGERPRINT_10, fingerPrint.fp10);
  219. values.put(KEY_ROW_FPD_DEFAULT_PICTURE, fingerPrint._dp);
  220.  
  221. // updating row
  222. return db.update(DATABASE_TABLE_2, values, KEY_ROW_FPD_ID + " = ?",
  223. new String[] { String.valueOf(fingerPrint.get_id()) });
  224.  
  225. }
  226.  
  227. // Getting contacts Count
  228. public int getFingerPrintCount() {
  229. String countQuery = "SELECT * FROM " + DATABASE_TABLE_2;
  230. SQLiteDatabase db = this.getReadableDatabase();
  231.  
  232. Cursor cursor = db.rawQuery(countQuery, null);
  233. int count = cursor.getCount();
  234. cursor.close();
  235. db.close();
  236.  
  237. // return count
  238. return count;
  239. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement