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 :

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
voici mes codes

au niveau des opérations CRUD , J'ai ceci :

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;
		 	    }
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
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() ;
			}
 
 
 
		}
QUE FAIRE ?