Métodos para salvar a entrada do usuário como notas (de programação Android Estúdio / Java)?

defendendo:

Estou começando a codificar um aplicativo para tomar notas, como o Evernote ou um aplicativo básico memorando pré-instalado, para que eu possa aprender e praticar a codificação.

Atualmente eu salvar a entrada do usuário em um arquivo .txt, de modo que cada nota teria um arquivo de texto no armazenamento, com o conteúdo da nota. Quais são os outros métodos de salvar a entrada do usuário no armazenamento (você não precisa explicar, palavra-chave seria apropriado) e quais são as vantagens ou desvantagens de fazer isso? O que pode ser contras de salvar arquivos de texto como eu estou fazendo agora?

H. Farid:
  1. Salve o conteúdo de um arquivo em cache do seu aplicativo
  2. Se o conteúdo for texto simples (e não muito longo), você pode facilmente usar SharedPreferencespara salvar o conteúdo
  3. Você pode usar um banco de dados

Note-se que, se o conteúdo é um texto rico, você pode formatar que (por exemplo, usando HTML, JSON ou XML e salvar arquivos (como imagens) em uma pasta especificada e escrever a localização dos arquivos para o texto formatado) e depois salvar para um banco de dados.

links úteis para começar:

Utilizando bancos de dados:

Editores de texto rico:

Como obter o diretório cache?

File cacheDir = this.getCacheDir();

ou

File cacheDir = this.getApplicationContext().getCacheDir();

Note-se que, se o conteúdo é importante, você pode criar uma nova pasta no armazenamento (como "My App Nome Files") e salvar o conteúdo para essa pasta.


Se você estiver usando EditText:

Eu nomear o EditText uinput. Aqui vamos nós:

private void saveContent() {
    String content = uinput.getText().toString();
    String name = "Note 1"; // You can create a new EditText for getting name
    // Using SharedPreferences (the simple way)
    SharedPreferences sp = this.getApplicationContext().getSharedPreferences("notes", Context.MODE_PRIVATE);
    SharedPreferences.Editor editor = sp.edit();
    editor.putString(name, content);
    editor.apply();
}

private Map<String, ?> getAllNotes() {
    SharedPreferences sp = this.getApplicationContext().getSharedPreferences("notes", Context.MODE_PRIVATE);
    return sp.getAll();
}

private String getNoteContent(String noteName) {
    SharedPreferences sp = this.getApplicationContext().getSharedPreferences("notes", Context.MODE_PRIVATE);
    return sp.getString(noteName, "Default Value (If not exists)");
}

Não salvar outras coisas na SharedPreferences "notes".

Acho que você gosta

Origin http://43.154.161.224:23101/article/api/json?id=331605&siteId=1
Recomendado
Clasificación