【问题标题】:Passing a variable in Android在 Android 中传递变量
【发布时间】:2012-07-27 20:03:57
【问题描述】:

我目前在我的 Android 应用中有这个页面:

我想将添加到这些字段中的数据传递到设备上存储的 .txt 文件中。

代码如下:

<Button
android:id="@+id/Button02"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/btn2" />
<ScrollView android:layout_width="match_parent" android:id="@+id/scrollView1" android:layout_height="wrap_content">
<LinearLayout android:id="@+id/linearLayout1" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal">
<TextView android:text="Please insert details below to confirm you have completed and understood the app" android:id="@+id/textView1" android:layout_height="fill_parent" android:layout_width="fill_parent" android:layout_gravity="center_horizontal">
</TextView>
</LinearLayout>
</ScrollView>
        <EditText
            android:id="@+id/editText1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:ems="10"
            android:text="Forename" >

            <requestFocus />
        </EditText>

        <EditText
            android:id="@+id/editText2"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:ems="10"
            android:text="Surname" />

        <EditText
            android:id="@+id/editText3"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:ems="10"
            android:inputType="number"
            android:text="Staff ID" />

        <Button
            android:id="@+id/buttonformdata"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Submit" />
</LinearLayout>

我相信这叫做 FileWriter?我在我的项目中创建了一个名为“FileWriterExample.java”的.java 文件。我正在努力做的是能够在我的 XML 文件“Screen10.xml”和这个“FileWriterExample”java 文件之间传递数据。

在我的 FileWriterExample 文件中,我有以下代码:

package org.example.screens;

import  java.io.File; 
import  java.io.FileWriter; 
import  java.io.IOException;

public class  FileWriterExample  { 

  FileWriter writer; 
  File file;

  public  void  write () { 
    // Create File 
     file =  new  File ( "FileWriterTest.txt" ) ; 
     try  { 
       // new FileWriter (file, true) - if the file already exists 
       // the bytes are written to the end of the file 

       // new FileWriter (file) - if the file already exists 
       // this will overwrite 
       writer =  new  FileWriter ( file, true ) ; 

       // text is written to the stream 
    writer.write (edittext1 +" ") ; 

       // text is written to the stream 
    writer.write (edittext2 +" ") ;

       // text is written to the stream 
    writer.write (edittext3 +" ") ;

       // Write the stream to the file 
       // Should always be run at the end, so that the stream  
       // is empty and everything in the file . stands 
       writer.flush () ; 

       // Closes the stream 
       writer.close () ; 
    }  catch  ( Exception e ) { 
      e.printStackTrace () ; 
    } 
  }

  public static  void  main ( String []  args ) { 
    FileWriterExample fileWriterExample =  new  FileWriterExample () ; 
    fileWriterExample.write () ; 
  } 
}

现在我确定变量是在我编辑文本字段的地方传递的吗?如何链接变量以使其起作用?如果需要我的项目的代码,我可以上传它,如果这样会更容易。

【问题讨论】:

    标签: java android eclipse variables


    【解决方案1】:

    我假设您希望在用户单击提交按钮时将数据写入文件。您可以在附加到此按钮的侦听器的 onClick() 方法中执行此操作,如下所示:

    try{
    
    FileOutputStream fout = openFileOutput(“yourfile.txt”,MODE_PRIVATE);
    
    OutputStreamWriter osw = new OutputStreamWriter(fOut);
    
    osw.write(editText1.getText().toString()+" ");
    osw.write(editText2.getText().toString()+" ");
    osw.write(editText3.getText().toString()+" ");
    
    osw.close();
    
    fout.close();
    
    }catch(Exception e){
    
    //do the exception handling
    }
    

    如果您打算使用自己的类来处理所有写入和读取,您可以在 onClick() 方法内创建该类的实例,并使用适当的参数对其调用读取/写入方法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-10-06
      • 2012-05-26
      • 1970-01-01
      • 2020-08-10
      • 2013-12-25
      • 2017-05-22
      • 2020-12-26
      相关资源
      最近更新 更多