创建仅在首次运行时运行的一组android输入活动

时间:2015-04-17 14:50:24

标签: android android-activity

我正在开发一个Android应用程序。它必须在第一次运行时从用户那里获取一些信息,然后应用程序才会使用该信息。

for ex - 假设app有5个活动,比如性别,身高,体重,出生日期,姓名,这将是这项工作。因此,当用户首次启动应用程序时,他会在用户永远看不到它们之后输入所有信息。

我坚持这个话题,我怎么能创造它们。 请准确回答源代码。

提前致谢

1 个答案:

答案 0 :(得分:0)

要检查数据是否已存在,请提出问题:

String fileName = "UserData.txt";
String filepath = "MyFileStorage/StoredData";
try {   
 File myExternalFile = new File(cxt.getExternalFilesDir(filepath), filename);

 if(myExternalFile.exists()) {   
  FileInputStream fis = new FileInputStream(myExternalFile);
  DataInputStream in = new DataInputStream(fis);
  BufferedReader br = new BufferedReader(new InputStreamReader(in));
  String strLine;
  while ((strLine = br.readLine()) != null) {
   myData = myData + strLine;
  }
  fis.close();
  br.close();
  in.close();
 }else{
 //must be first time so ask questions then save
 }
} catch (IOException e) {
   e.printStackTrace();
}

然后如果文件dosnt存在,获取答案并写入文件;

String fileName = "UserData.txt";
String filepath = "MyFileStorage/StoredData";
File f= new File(cxt.getExternalFilesDir(filepath), fileName);
f.createNewFile();  
FileWriter writer = new FileWriter(f); 
writer.append("Name"+System.getProperty("line.separator") + "Gender");
writer.flush();
writer.close(); 

或者你可以有一个名为Globals的类,它扩展了Application; 把变量存放在那个类中;

package ExamplePackage.YourPackage;

public class Globals  extends Application{
static String name="";
static int age = 0;

public Globals() {
    }
}

在androidmanifest中放置一个应用程序标签;

 <application
    android:name=".Globals"
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name" />