Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Kreiranje txt file na sdcard Androdi

[es] :: Java :: Kreiranje txt file na sdcard Androdi

[ Pregleda: 3609 | Odgovora: 9 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Dejan tf
student, Fakultet tehnickih nauka Cacak

Član broj: 307010
Poruke: 97
*.dynamic.sbb.rs.



+2 Profil

icon Kreiranje txt file na sdcard Androdi20.04.2015. u 21:51 - pre 108 meseci
Potrebna mi je pomoc :

Zelim da kreiram txt file na sdcard u koji cu upisivati neke podatke,
Dobijam sledecu poruku o gresci:

04-20 20:24:14.857: E/Nije kreiran file(1119): /sdcard/Rezultati aplikacije/MojaAPP.txt: open failed: ENOENT (No such file or directory)

Evo koda:

Code:

      public void onClick(View v) {
             /*String value = et1.getText().toString();
             */
        
                 try {
                       PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter("/sdcard"+File.separator+"Rezultati aplikacije"+File.separator + "MojaAPP.txt", true)));
                       out.println(et1.getText().toString());
                       
                       out.close();
                       Log.e("Super", "radi");
                   } catch (IOException e) {
                       Log.e("Nije kreiran file",e.getMessage());
                   }


Nzm. zbog cega mi nece da kreira txt file..U jednoj drugoj aplikaciji kviz koju sam radio sve je radilo super, upisivao sam igraca , datum i rezultat. Medjutim sada nesto ne funkcionise nzm. gde gresim.

Molim vas za pomoc.

 
Odgovor na temu

dusans
Stojanov Dušan
Pančevo

Član broj: 9551
Poruke: 1343
*.dynamic.sbb.rs.



+311 Profil

icon Re: Kreiranje txt file na sdcard Androdi20.04.2015. u 22:01 - pre 108 meseci
Lepo ti kaže greška.
1. Proveri da li postoji taj direktorijum.
2. Ako direktorijum postoji, onda možda neće da radi pošto pokušavaš append fajla koji ne postoji.
 
Odgovor na temu

Dejan tf
student, Fakultet tehnickih nauka Cacak

Član broj: 307010
Poruke: 97
*.dynamic.sbb.rs.



+2 Profil

icon Re: Kreiranje txt file na sdcard Androdi21.04.2015. u 08:37 - pre 108 meseci
Dusane hvala na odgovoru, ti si jedan od retkih koji se na ovom forumu oglasavaju sto se tice androida.

Proverio sam sada u DDMS->pa file explorer->storage->sdcard

nije mi kreirao ni folder Rezultati aplikaicje..


Pa sam sada pokusavao da taj txt file postavim u assest folder. I tu da upisujem neke podatke..

Medjutim ponovo greska..

04-21 07:33:45.289: E/Nije ok(932): provera.txt: open failed: EROFS (Read-only file system)


U ovom slucaju mi nadje taj txt file, ali nece nista u njega da upise javi se izuzetak..

evo koda..

Ovaj kod treba da radi sledece:
1)Ako se u txt file nalazi samo vrednost 0 koju sam rucno upisao, korisnik mora upisati probnu sifru, pre

pravoog logovanja npr. u ovom slucaju je (DPL). U trenutku kada upise probnu sifru ide na dugme uloguj se u txt file

se upisuje vrednost 1.


2) Korisnik nece vise nikada imati potrebu na pocetku da vrsi probno logovanje (npr. DPL), vec ce tada vuci podatke iz baze za svoje logovanje sa svojim usernemom i passwordom..

Code:

Scanner scan = null;
                try {
                    scan = new Scanner(new BufferedInputStream(getAssets().open("provera.txt")));
                    Log.e("postoji fie","da");
                    
                } catch (FileNotFoundException e) {
                    // TODO Auto-generated catch block
                    Log.e("Nema klase",e.getMessage());
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
                int x = 0;
            while(scan.hasNextInt()){
                 x = scan.nextInt();
                
                
            }
            if(x==0){
                
                Log.e("Ispred upisa imena i pass","da");
                try {

                    if((edtKorisnicko.getText()).equals("DPL") && edtPassword.getText()).equals("DPL") ){
                        
                    PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter("provera.txt", true)));//PrintWriter nasledjuje klasu Writer 
                        
                    Log.e("Uporedjeni","kada");
                    
                  
                    out.append("\n");
                    
                    out.append("1");
                    Log.e("1","da SE ZNAM");
                
                    out.close();
                    Log.e("Upisani podaci","hdh");

                    }else
                        
                    edtKorisnicko.setText("Nisu vam dobri podaci");
                
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    Log.e("Nije ok",e.getMessage());
                }        
            }else if(x==1){
                System.out.println("Jupi");
                
            }
                
                
        }
        });

    }




 
Odgovor na temu

dusans
Stojanov Dušan
Pančevo

Član broj: 9551
Poruke: 1343
*.dynamic.sbb.rs.



+311 Profil

icon Re: Kreiranje txt file na sdcard Androdi21.04.2015. u 08:53 - pre 108 meseci
Ja sam radio nešto malo u Androidu ali pre dve godine,
tako da i ovaj kod pišem napamet i ne proveravam.
Bolje se vrati na prvu varijantu i probaj ovako:

Code:

public void onClick(View v) {
try {
    // Ako ne radi kreiranje direktorijuma, probaj da Environment.getExternalStorageDirectory() zameniš sa "/sdcard" ili sličnim path-om
    // Prepare directory
    string fileDir = Environment.getExternalStorageDirectory()+File.separator+"Rezultati aplikacije";
    File dir = new File(fileDir);
    dir.mkdirs();

    // Write file content
    string filePath = fileDir+File.separator + "MojaAPP.txt";
    PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter(filePath, true)));
    out.println(et1.getText().toString());
    out.close();
    Log.e("Super", "radi");
} catch (IOException e) {
    Log.e("Nije kreiran file",e.getMessage());
}


A ovo stavi u AndroidManifest.xml ako već nije tamo:
Code:

<uses-permission> android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission> android:name="android.permission.READ_EXTERNAL_STORAGE" />


A preporučujem ti da pročitaš dokumentaciju koja se tiče čuvanja podataka/podešavanja:
http://developer.android.com/t...torage/shared-preferences.html
http://developer.android.com/t...basics/data-storage/files.html

Ja koliko vidim, za ono što tebi treba, je SharedPreferences dušu dao.
SharedPreferences je baš i pravljen za scenarije slične tvom,
bukvalno 5 linija koda za čitanje i upis tvoje "0" ili "1".
 
Odgovor na temu

Dejan tf
student, Fakultet tehnickih nauka Cacak

Član broj: 307010
Poruke: 97
*.dynamic.sbb.rs.



+2 Profil

icon Re: Kreiranje txt file na sdcard Androdi21.04.2015. u 09:01 - pre 108 meseci
Ok, sada cu da pokusam. Sto se tice AndroidManifesta.xml tu sam vec stavio :

Code:

<uses-permission> android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission> android:name="android.permission.READ_EXTERNAL_STORAGE" />


Hvala jos jednom.
 
Odgovor na temu

Dejan tf
student, Fakultet tehnickih nauka Cacak

Član broj: 307010
Poruke: 97
*.dynamic.sbb.rs.



+2 Profil

icon Re: Kreiranje txt file na sdcard Androdi21.04.2015. u 09:14 - pre 108 meseci
Ovo radi, upisuje podatak iz edit polja.

Sada cu pokusati sa txt fil-om pa cu i to izbaciti ovde..



 
Odgovor na temu

Dejan tf
student, Fakultet tehnickih nauka Cacak

Član broj: 307010
Poruke: 97
*.dynamic.sbb.rs.



+2 Profil

icon Re: Kreiranje txt file na sdcard Androdi24.04.2015. u 07:12 - pre 108 meseci
Kod koji funkcionise :

Na pocetku kada se kreira apliakcija kreira se txt file :

Code:


    try{
            file= getBaseContext().getFileStreamPath(filename);
               Log.e("Postoji file", "da");
            }catch(Exception e){
                Log.e("ne postoji file", e.getMessage());
            }
        try {
            outputStream = openFileOutput(filename, Context.MODE_PRIVATE);
            try {
                //outputStream.write(broj.getBytes());
                outputStream.close();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            
            
        } catch (FileNotFoundException e) {
            // TODO Auto-generated catch block
            
        }
           
        }



Prvo u mom slucaju citamo vrednost iz txt file, ako u file ne postoji ni jedna vrednost, tada za aktiviranje aplikacije moramo

upisati neku vrednost, ako je vec aktivirana aplikacija u txt file je upisana vrednost..


Code:

 try {
                     fileis=openFileInput(filename);
                     InputStreamReader isr = new InputStreamReader ( fileis ) ;
                        BufferedReader buffreader = new BufferedReader ( isr ) ;

                        String readString = null;
                        try {
                            readString = buffreader.readLine ( );
                            //edtKorisnicko.setText(readString);
                            Log.e("Procitan podatak","da");
                        } catch (IOException e1) {
                            // TODO Auto-generated catch block
                            e1.printStackTrace();
                        }
                     
                        if ( readString == null) {
                            

                            if(("DPl").equalsIgnoreCase(edtKorisnicko.getText().toString()) && ("Dpl").equalsIgnoreCase(edtPassword.getText().toString())){
                            
                            String string = "1";
                            
                            Log.e("Postoji fajl","daaa");
                            

                            
                              try {
                                outputStream = openFileOutput(filename, Context.MODE_PRIVATE);
                            } catch (FileNotFoundException e) {
                                // TODO Auto-generated catch block
                                e.printStackTrace();
                            }
                              try {
                                  //outputStream.write("\n".getBytes());
                                outputStream.write(string.getBytes());
                            } catch (IOException e) {
                                // TODO Auto-generated catch block
                                e.printStackTrace();
                            }
                              Log.e("Postoji","da da da");
                             isr.close ( ) ;
                              try {
                                outputStream.close();
                            } catch (IOException e) {
                                // TODO Auto-generated catch block
                                e.printStackTrace();
                            }
                            }
                            
                            }else {
                                
                                edtKorisnicko.setText("Predjite na pravo logovanje");
                                
                            }

            
            }catch(Exception e){
                }
            }
            });

        }





Mredjutim ovde i dalje postoji jedan problem kada zatvorimo aplikaciju i ponovo pokrenemo ponovo cemo morati da unosimo username i pass za aktiviranje aplaikacije, ako tu neko moze da mi pomogne, ovo smestam u internu memoriju, ako bih kreirao txt file na sdcard i ako telefoon nema sdcard tu bih bio problem.
 
Odgovor na temu

Dejan tf
student, Fakultet tehnickih nauka Cacak

Član broj: 307010
Poruke: 97
*.dynamic.sbb.rs.



+2 Profil

icon Re: Kreiranje txt file na sdcard Androdi24.04.2015. u 10:22 - pre 108 meseci
Dodao sam sledecu liniju koda, provera da li postoji file.
Code:
try{
            file= getBaseContext().getFileStreamPath(filename);
               Log.e("Postoji file", "da");
            }catch(Exception e){
                Log.e("ne postoji file", e.getMessage());
            }
        
             if(!file.exists()){
            try {
                outputStream = openFileOutput(filename, Context.MODE_PRIVATE);
                Log.e("Otvoren file", "da");
            } catch (FileNotFoundException e1) {
                // TODO Auto-generated catch block
                Log.e("nije otvoren file",e1.getMessage());
            }
            try {
                //outputStream.write(broj.getBytes());
                outputStream.close();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            
            Log.e("Upisana je 0", "da");
        
            }else{
                
                edtKorisnicko.setText("Predji na prvo logovanje");
            }
        }


Sada sve funkcionise
 
Odgovor na temu

dule_ns
Novi Sad

Član broj: 123863
Poruke: 257
194.247.212.*



+690 Profil

icon Re: Kreiranje txt file na sdcard Androdi27.04.2015. u 12:20 - pre 108 meseci
Ajde molim te samo jedno pitanje: proveri da li vidiš fajl iz file managera sa telefona i da li vidiš fajl kad telefon prikačiš na PC iz PC-jevog file managera.
 
Odgovor na temu

Dejan tf
student, Fakultet tehnickih nauka Cacak

Član broj: 307010
Poruke: 97
*.dynamic.sbb.rs.



+2 Profil

icon Re: Kreiranje txt file na sdcard Androdi27.04.2015. u 13:32 - pre 108 meseci
Ovako u eclipsi u DDMS->file explorer->nadjes apliakciju i u lokalnoj memoriji se kreira txt file. Ne vidim taj file u file menager. Aplikacija funkcionise.
 
Odgovor na temu

[es] :: Java :: Kreiranje txt file na sdcard Androdi

[ Pregleda: 3609 | Odgovora: 9 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.