salut a tous . je désire remplir un fichier texte (FileWriter) avec des données provenant d'une base de données SQLITE. dans le LogCAT, J'ai l'erreur suivante :
voici mes codes
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 06-20 13:24:09.703: E/CursorWindow(1970): need to grow: mSize = 1048576, size = 81, freeSpace() = 14, numRows = 9239 06-20 13:24:09.733: E/CursorWindow(1970): not growing since there are already 9239 row(s), max size 1048576 06-20 13:24:09.733: E/CursorWindow(1970): The row failed, so back out the new row accounting from allocRowSlot 9238 06-20 13:24:09.733: E/Cursor(1970): Failed allocating fieldDir at startPos 0 row 9238
au niveau des opérations CRUD , J'ai ceci :
Au niveau de la classe service , j'ai les opérations suivantes
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48 @Override public List<Coordonnees> GetAll() { // TODO Auto-generated method stub // Récupération de la liste des coordonnees Cursor cursor = maBDD.query(CoordonneesOpenHelper.COORDONNEES_TABLE_NAME, new String[] { CoordonneesOpenHelper.COLUMN_ID, CoordonneesOpenHelper.COLUMN_LATITUDE, CoordonneesOpenHelper.COLUMN_LONGITUDE, CoordonneesOpenHelper.COLUMN_ALTITUDE, CoordonneesOpenHelper.COLUMN_PRECISION, CoordonneesOpenHelper.COLUMN_VITESSE, CoordonneesOpenHelper.COLUMN_FOURNISSEUR, CoordonneesOpenHelper.COLUMN_DIRECTION, CoordonneesOpenHelper.COLUMN_DATE }, null, null, null,null, null); return ConvertCursorToListObject(cursor); } @Override public List<Coordonnees> ConvertCursorToListObject(Cursor c) { // TODO Auto-generated method stub @SuppressWarnings({ "unchecked", "rawtypes" }) List<Coordonnees> liste = new ArrayList(); // Si la liste est vide if (c.getCount() == 0) return liste ; // position sur le premier item c.moveToFirst(); // Pour chaque item do { Coordonnees coord = ConvertCursorToObject(c); liste.add(coord); } while (c.moveToNext()); // Fermeture du curseur c.close(); return liste; }
QUE FAIRE ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95 au demarrage , je fais ceci : public int onStartCommand(Intent intent, int flags, int startId) { Toast.makeText(this, "Démarrage du service", Toast.LENGTH_SHORT).show(); final Handler handler = new Handler(); task = new TimerTask() { public void run() { handler.post(new Runnable() { public void run() { try{ StoreData(); }catch(SQLiteException e){ e.getCause() ; } } }); } }; timer.schedule(task, 2000, 100); // TODO Auto-generated method stub final Handler hand = new Handler(); stask = new TimerTask() { public void run() { hand.post(new Runnable() { public void run() { try{ SelectData(); }catch(SQLiteException e){ e.getCause(); e.getLocalizedMessage(); e.getStackTrace(); e.toString(); } } }); } }; time.schedule(stask, 5000, 5000); return super.onStartCommand(intent, flags, startId); } public void SelectData(){ cr = new CoordonneesRepository<CRepository<Coordonnees>>(this); PrintWriter fic = null ; cr.Open(); List<Coordonnees> coordonnees = cr.GetAll() ; try{ FileWriter file = new FileWriter("Coordonnees"); fic = new PrintWriter(file); for(Coordonnees cd : coordonnees) { fic.print(cd.getLatitude()); fic.print(cd.getLongitude()); fic.print(cd.getAltitude()); fic.print(cd.getPrecision()); fic.print(cd.getVitesse()); fic.print(cd.getFournisseur()); fic.print(cd.getDirection()); fic.print(cd.getDate()); fic.println(); fic.println(); } }catch(IOException e){ e.getCause(); } finally { if (fic != null){ fic.close(); cr.Close() ; } }
Partager