保存EditText的简单用户输入

时间:2013-03-29 23:05:44

标签: android

我的应用程序编程遇到了一些问题。我找了很长时间的解决方案,但我找不到它,所以我希望你能帮忙。

假设我已经构建了一个应用程序,使用户可以通过号码所有者的名称保存电话号码。因此,活动包含两个EditeText:一个用于人名,一个用于他的号码,另外还有一个要保存的按钮。

如何使“app”将用户内容保存为文本文件或任何其他内容,使用FILE NAME = person name + FILE CONTENT =他的号码。

我想添加另一项活动,允许用户按其所有者的插入名称搜索数字,而且我也不知道如何设置此功能。

3 个答案:

答案 0 :(得分:1)

  

如何使“app”将用户内容保存为文本文件“或任何   其他的!“与”文件名=人名+文件内容=他的   号码“

     

因为我想添加允许用户搜索的其他活动   数字按其所有者的插入名称

根据您对问题的描述,使用SQLite数据库来存储您的数据听起来是一个很好的理由。

从一开始就很好。我认为你对文件的想法不好而且效率高。让我们假设一个案例,如果你有数字>,在这种情况下你会有milion文件。然后,如果你想阅读文件的内容,你需要打开每个文件来获取数据并且它不好,不是吗?还设计模式一个文件=一个记录(用户)

在第二个Activity中搜索也将是“硬编码”。在这里,您必须根据用户输入的名称浏览文件并比较其名称。

所以正如我的建议是使用SQLite而不是接近文件。在这里,写入和读取数据变得更加舒适,安全和有效。只需创建一个名为User的表,其中包含两列(名称,编号)并执行适当的操作。如果您不知道如何开始,请阅读这篇非常好的文章:

答案 1 :(得分:0)

您可以尝试使用此功能将内容写入手机上sdcard文件夹中的文件。

public void appendToFile(String content, String name)
    {
       File logFile = new File("sdcard/"+name+".txt");
       if (!logFile.exists())
       {
          try
          {
             logFile.createNewFile();
          }
          catch (IOException e)
          {
             e.printStackTrace();
          }
       }
       try
       {
          //BufferedWriter for performance, true to set append to file flag
          BufferedWriter buf = new BufferedWriter(new FileWriter(logFile, true));
          buf.append(text);
          buf.newLine();
          buf.close();
       }
       catch (IOException e)
       {
          e.printStackTrace();
       }
    }

请注意,您需要

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

在AndroidManifest.xml文件中。

答案 2 :(得分:0)

你应该读这个:http://developer.android.com/guide/topics/data/data-storage.html。它是如何在Android应用程序中保存数据的指南。

我建议这个特定任务的SQLite数据库,而不是在文件系统上保存为文件。