我正在开发一个Android应用程序。它必须在第一次运行时从用户那里获取一些信息,然后应用程序才会使用该信息。
for ex - 假设app有5个活动,比如性别,身高,体重,出生日期,姓名,这将是这项工作。因此,当用户首次启动应用程序时,他会在用户永远看不到它们之后输入所有信息。
我坚持这个话题,我怎么能创造它们。 请准确回答源代码。
提前致谢
答案 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" />