Bonsoir à tous,
Voilà je bloque sur une erreur pour sauvegarder mon fichier txt dans la mémoire avec Androidstudio.

L'erreur se situe au niveau de getDir

Ci-dessous mon extrait de code avec ma méthode ecrireFichier

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
package com.example.essaitension1;
 
import static android.content.Context.MODE_PRIVATE;
 
import android.os.Bundle;
import androidx.annotation.NonNull;
import androidx.fragment.app.Fragment;
 
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import com.example.essaitension1.databinding.FragmentRelevBinding;
import org.jetbrains.annotations.Nullable;
 
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
 
public class RelevFragment extends Fragment {
    //variable globale pour binding
    FragmentRelevBinding binding;
    private String  voirtensions; //variable représentant les tensions dans EditText
 
    //ci-dessous constructeur
    public RelevFragment() {
        this.voirtensions = voirtensions;
    }
 
    public static RelevFragment newInstance(){
    RelevFragment fragment = new RelevFragment();
    return fragment;
    }
 
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
    }
 
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        //ci-dessous modif pour indiquer au systeme qu'il doit fire la liaison avec la classe
        // de liaison viewBinding
        binding = FragmentRelevBinding.inflate(inflater, container, false);
        return binding.getRoot();
    }
 
    @Override
    public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
        super.onViewCreated(view, savedInstanceState);
        binding.LesTensions.setText(voirtensions);//cré la liaison
 
        binding.CreateFichier.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
               // binding.LesTensions.getText().toString();//transforme le contenu en String
                ecrireFichier("monFichier.txt", binding.LesTensions.getText().toString());//transforme le contenu en String
 
            }
        });
    }
 
    public void ecrireFichier(String nomFichier, String mesTensions){
        BufferedWriter writer = null;
        try {
            File dir = getDir("TousMesFichiers", MODE_PRIVATE);
            File newfile = new File(dir.getAbsolutePath() + File.separator + nomFichier);
            newfile.createNewFile();
            writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(newfile)));
            writer.write(voirtensions);
 
        } catch (Exception e) {
            e.printStackTrace();
        }
        finally {
            if (writer != null){
                try {
                    writer.close();
                } catch (IOException e){
                    e.printStackTrace();
                }
            }
        }
    }
voici la sortie d'erreur ci-dessous

File dir = getDir("TousMesFichiers", MODE_PRIVATE);error: cannot find symbol
^
symbol: method getDir(String,int)
location: class RelevFragment


Il me demande de créer une méthode getDir

ça fait un moment que je cherche vraiment je ne vois pas de solution !!!

Merci pour toute aide
cordialement
rapidego