Dovrei estrarre le stringhe dal codice sorgente nel core java come fa Android?

0

I solo ha iniziato a fare cose per lo sviluppo Android dopo essersi adattato a Java. Le app Android tendono a fare questa cosa strana in cui hanno tutte le stringhe per il loro programma contenute in un file XML chiamato stringhe e il programma fa riferimento alle stringhe anziché ai letterali di stringa nel codice o persino negli oggetti String.

La ragione solo a cui posso pensare di fare questo è l'internazionalizzazione. È così? Quali sono i vantaggi / svantaggi di questo approccio? Dovrei assumerlo nei miei altri tentativi di programmazione (come Java normale)?

Sembra un livello inutile di astrazione.

    
posta Bassinator 13.01.2015 - 23:43
fonte

3 risposte

3

Il motivo per cui Android mette le stringhe in file XML separati è per la localizzazione.

Dovresti farlo? Sì. Anche se la tua app supporterà solo una lingua, non saprai mai se supporterai altre persone in futuro, nel qual caso dovrai solo aggiungere un altro file XML.

Questo non è affatto strano , in realtà è la regola.

Tutte le piattaforme hanno una sorta di meccanismo come questo. La piattaforma .Net di Microsoft utilizza .resx file, Android utilizza .xml file e "regolare Java" utilizza .properties file ( vedi i documenti ).

    
risposta data 14.01.2015 - 02:29
fonte
1

Secondo questa domanda di stackoverflow il motivo delle stringhe in XML è per la localizzazione.

Dovresti farlo negli altri tuoi sforzi? La risposta alla linea dura è probabilmente sì. Detto questo, il mio istinto mi dice che se si sta solo distribuendo in una lingua, è possibile che si tratti di un'ottica prematura. Quindi la mia risposta è difficile forse.

    
risposta data 14.01.2015 - 01:46
fonte
0

Se si tratta solo di localizzazione, ci sarebbero molte applicazioni Java 'regolari' in cui ciò non sarebbe necessario, o addirittura utile. Nei casi in cui il programma utilizza stringhe che non verranno visualizzate per gli umani, non saranno importanti più lingue. Un esempio di ciò sarebbe dove le stringhe sono usate per costruire protocolli testuali per parlare con sistemi esterni che si aspettano un linguaggio specifico per la sintassi dei messaggi di protocollo, ad es. JSON.

    
risposta data 14.01.2015 - 08:47
fonte

Leggi altre domande sui tag