2016-04-26 80 views
0

我的代码有问题,我需要从用户读取EditText,然后将该文本放入另一个布局中并进行一些计算。我的问题是,我不明白如何在Android中读取/写入数据。以下是读/写代码的一部分。写入并读取Android

感谢您的帮助!

编辑:应该指出的是,所有这一切都是我的MainActivity类别

public EditText editName; 
public EditText editAMT; 
public Button save; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    editName = (EditText) findViewById(R.id.editName); 
    editAMT = (EditText) findViewById(R.id.editAMT); 
    save = (Button) findViewById(R.id.save); 


    File fName = new File(name); 
    File fAMT = new File(AMT); 

    //WRITING TO THE FILE 
    try{ 
     FileOutputStream test = openFileOutput(name, Context.MODE_PRIVATE); 
     FileOutputStream test2 = openFileOutput(AMT, Context.MODE_PRIVATE); 

     test.write(editName.getText().toString().getBytes()); 
     test2.write(editAMT.getText().toString().getBytes()); 

     test.close(); 
     test2.close(); 

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

    //READING FROM THE FILE 

    try{ 
     BufferedReader inputReader = new BufferedReader(new InputStreamReader(openFileInput(name))); 
     String inputString; 
     StringBuffer stringBuffer = new StringBuffer(); 

     while ((inputString = inputReader.readLine()) != null){ 
      stringBuffer.append(inputString + "\n"); 
     } 

    } catch (IOException e){ 
     e.printStackTrace(); 
    } 

} 

编辑里面:这是我的行动计划。

1)从EditText获取名为(eAMT)的信息。 2)从EditText获取名为(eName)的信息。 3)将eAMT的信息放入一个名为eName.txt的文件中4)在另一个活动中,搜索名为eName的文件。 5)一旦搜索完成,拉动该文件的内容并显示到另一个活动(主要活动)。相反,写入文件的

+1

你的问题是** **不Android Studio相关。标签已移除。不要使用无关标签发送垃圾邮件! –

+1

从EditText中检索文本,在其他布局中设置文本以及将数据保存到磁盘都是单独的操作。请说明你实际上想要完成什么,并具体说明(包括任何相关的错误输出),这是怎么发生的。 – NoChinDeluxe

+0

你可以在这个主题上找到类似的答案在SO上http://stackoverflow.com/questions/14376807/how-to-read-write-string-from-a-file-in-android – EAA

回答

1

,使用Android的SharedPreferences

SharedPreferences preferences = getSharedPreferences("com.example.myapp", MODE_PRIVATE); 
SharedPreferences.Editor editor = preferences.edit(); 
editor.putString("UniqueEditNameKey", editName.getText().toString); 

从另外一个活动,您可以执行以下操作来检索值:

SharedPreferences preferences = getSharedPreferences("com.example.myapp", MODE_PRIVATE); 
String name = preferences.getString("UniqueEditNameKey", ""); // second argument is default value if key does not exist 
+0

我宁愿不想做SharedPreferences。我需要它是一个文件。我需要能够选择一个文件并从中获取信息。自从这篇文章以来,我取得了进展。 –