CERCA
PER MODELLO
FullScreen Chatbox! :)

Utente del giorno: megthebest con ben 2 Thanks ricevuti nelle ultime 24 ore
Utente della settimana: megthebest con ben 9 Thanks ricevuti negli ultimi sette giorni
Utente del mese: megthebest con ben 31 Thanks ricevuti nell'ultimo mese

Visualizzazione dei risultati da 1 a 1 su 1
Discussione:

Semplice Blocco Note

Se questa discussione ti è stata utile, ti preghiamo di lasciare un messaggio di feedback in modo che possa essere preziosa in futuro anche per altri utenti come te!
  1. #1
    SHI
    SHI non è in linea
    Baby Droid


    Registrato dal
    Aug 2012
    Messaggi
    7

    Ringraziamenti
    0
    Ringraziato 1 volta in 1 Post
    Predefinito

    Semplice Blocco Note

    Salve a tutti, ho da pochissimo cominciato a programmare in android e purtroppo non essendo un grandissimo esperto di Java ho riscontrato alcuni problemi, mi ero messo in testa di fare un'app che memorizzi i dati su di un file JSon, così ho deciso di procedere per passi e uno di questi era creare un semplice blocco note con 2 aree una in cui inserire il testo l'altra in cui inserire il nome del file più 2 bottoni(carica, salva).

    Questo è il codice:


     
    1
    2
    package com.example.blocconote;
    3
    4
    import android.os.Bundle;
    5
    import android.app.Activity;
    6
    import android.view.Menu;
    7
    import android.view.View;
    8
    import android.widget.EditText;
    9
    import android.widget.Button;
    10
    import java.io.Writer;
    11
    import java.io.Reader;
    12
    import java.io.InputStreamReader;
    13
    import java.io.OutputStreamWriter;
    14
    15
    public class MainActivity extends Activity {
    16
    17
        EditText nome_f, testo_f;
    18
        Button carica, salva;
    19
        
    20
        @Override
    21
        protected void onCreate(Bundle savedInstanceState) {
    22
            
    23
            
    24
            super.onCreate(savedInstanceState);
    25
            
    26
            setContentView(R.layout.activity_main);
    27
            
    28
            Button carica = (Button) findViewById(R.id.carica_file);
    29
                    
    30
            carica.setOnClickListener(new View.OnClickListener() {
    31
                EditText nome_f = (EditText) findViewById(R.id.nome_file);
    32
                @Override
    33
                public void onClick(View v) {
    34
                    if(nome_f.toString().length()!=0){
    35
                        carica_file(nome_f.toString());
    36
                    }
    37
                }
    38
            });
    39
            
    40
            Button salva = (Button) findViewById(R.id.salva_file);
    41
            
    42
            salva.setOnClickListener(new View.OnClickListener() {
    43
                EditText nome_f = (EditText) findViewById(R.id.nome_file);
    44
                EditText testo_f = (EditText) findViewById(R.id.testo_file);
    45
                @Override
    46
                public void onClick(View v) {
    47
                    if(nome_f.toString().length()!=0){
    48
                        salva_file(nome_f.toString(), testo_f.toString());
    49
                    }
    50
                }
    51
            });
    52
        }
    53
    54
        private void salva_file(String nome_file, String testo_file){
    55
            Writer scrittore = null;
    56
            try{
    57
                scrittore = new OutputStreamWriter(openFileOutput(nome_file, MODE_PRIVATE));
    58
                //scrittore = new OutputStreamWriter(openFileOutput("prova.txt", MODE_PRIVATE));
    59
                scrittore.write(testo_file);
    60
            }catch(Exception e){
    61
                //TODO:Implementare messaggio per eccezione
    62
            }finally{
    63
                try{
    64
                    scrittore.close();
    65
                }catch(Exception e){
    66
                    //TODO:Implementare messaggio per eccezione
    67
                }
    68
            }
    69
        }
    70
        
    71
        private String carica_file(String nome_file){
    72
            String testo="";
    73
            Reader lettore=null;
    74
            try{
    75
                lettore = new InputStreamReader(openFileInput(nome_file));
    76
                //TODO:Capire come funziona di preciso la lettura
    77
                StringBuffer aux = new StringBuffer();
    78
                char[] buf = new char[1024];
    79
                int len;
    80
                while ((len = lettore.read(buf)) != -1) {
    81
                    aux.append(buf, 0, len);
    82
                }
    83
                testo = aux.toString();
    84
            }catch(Exception e){
    85
                //TODO:Implementare messaggio per eccezione
    86
            }finally{
    87
                try{
    88
                    lettore.close();
    89
                }catch(Exception e){
    90
                    //TODO:Implementare messaggio per eccezione
    91
                }
    92
                
    93
            }
    94
            
    95
            return testo;
    96
        }
    97
        
    98
        @Override
    99
        public boolean onCreateOptionsMenu(Menu menu) {
    100
            // Inflate the menu; this adds items to the action bar if it is present.
    101
            getMenuInflater().inflate(R.menu.main, menu);
    102
            return true;
    103
        }
    104
    105
    }
    106


    41
     
    1
    2
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    3
        xmlns:tools="http://schemas.android.com/tools"
    4
        android:layout_width="match_parent"
    5
        android:layout_height="match_parent"
    6
        android:paddingBottom="@dimen/activity_vertical_margin"
    7
        android:paddingLeft="@dimen/activity_horizontal_margin"
    8
        android:paddingRight="@dimen/activity_horizontal_margin"
    9
        android:paddingTop="@dimen/activity_vertical_margin"
    10
        tools:context=".MainActivity" >
    11
    12
        <TextView
    13
            android:id="@+id/nome_file"
    14
            android:layout_width="wrap_content"
    15
            android:layout_height="wrap_content" />
    16
    17
        <TextView
    18
            android:id="@+id/testo_file"
    19
            android:layout_width="wrap_content"
    20
            android:layout_height="wrap_content"
    21
            android:layout_alignParentRight="true"
    22
            android:layout_below="@+id/nome_file" />
    23
    24
        <Button
    25
            android:id="@+id/carica_file"
    26
            android:layout_width="wrap_content"
    27
            android:layout_height="wrap_content"
    28
            android:layout_alignParentBottom="true"
    29
            android:layout_alignParentRight="true"
    30
            android:text="@string/caricamento" />
    31
    32
        <Button
    33
            android:id="@+id/salva_file"
    34
            android:layout_width="wrap_content"
    35
            android:layout_height="wrap_content"
    36
            android:layout_alignParentBottom="true"
    37
            android:layout_alignParentLeft="true"
    38
            android:text="@string/salvataggio" />
    39
        
    40
    </RelativeLayout>
    41


    come potete vedere oltre la mancanza di log per gli errori che dovrei aver capito come inserire, c'è un: "//TODO:Capire come funziona di preciso la lettura", questo perché ho copiato quella parte di codice da un'esempio non conoscendo ancora bene gli streaming di Java(credo che scrivere su file sia una delle cose che mi è capitata di fare più di rado).

    C'è anche la riga 57 commentata che apre un file con un nome specifico e non passato dai parametri del metodo, l'ho inserita dopo qualche tentativo di creare un codice eseguibile lasciando meno codice possibile e decommentando nuove parti fino al presentarsi di errori, ed effettivamente passare al metodo openFileOutput una stringa anzi che un parametro sembrava giovargli.

    Il problema è che quando lancio l'applicazione si chiude dasola e mi da una marea di errori che al momento non riesco neanche a riportarvi perché a quanto pare eclipse ha deciso di salvarmi i log in file vuoti.

    Non riesco a inserire l'xml per una restrizione sui link

    Spero di non aver dimenticato nulla e di essermi spiegato abbastanza chiaramente, in ogni caso vi ringrazio in anticipo per l'aiuto .
    Ultima modifica di ZiCkY; 31-03-13 alle 11:41

  2.  

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire risposte
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Torna su
Privacy Policy