【发布时间】:2016-05-02 10:02:45
【问题描述】:
我是安卓新手。我正在开发一个应用程序来持续保存传感器的数据并拍照。事实上,我想开始将加速度计数据保存到文件中拍照,或者屏幕变黑。 我已经达到这一点,我的应用程序会在我触摸按钮时保存传感器数据,但它只执行一次。 我怎样才能让它连续保存数据而不影响我的应用程序的其他部分运行? 我希望它在我在我的应用中拍照时保存数据,当屏幕变黑时,当我不在我的应用程序中时(例如应用程序暂停)
请多多关照。
这是我的代码
private OnClickListener saveFun =new OnClickListener(){
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
try {
File root = Environment.getExternalStorageDirectory();
if (root.canWrite()){
File f = new File(root, "test.txt");
FileWriter fw;
if ( saveBtnCnt == 0){
fw = new FileWriter(f);
saveBtnCnt = 1;
}
else{
fw = new FileWriter(f,true);
}
BufferedWriter out = new BufferedWriter(fw);
c = Calendar.getInstance();
miliseconds = c.get(Calendar.MILLISECOND);
seconds = c.get(Calendar.SECOND);
minutes = c.get(Calendar.MINUTE);
hour = c.get(Calendar.HOUR);
day = c.get(Calendar.DAY_OF_MONTH);
month = c.get(Calendar.MONTH)+1;
year = c.get(Calendar.YEAR);
out.write(year+"/"+month+"/"+day
+"\n"+hour+":"+minutes+":"+seconds+"."+miliseconds+"\n");
out.write(currentX.getText()+"\n");
out.write(currentY.getText()+"\n");
out.write(currentZ.getText()+"\n");
out.close();
Toast.makeText(getBaseContext(), "File saved successfully!",
Toast.LENGTH_SHORT).show();
}
} catch (IOException e) {
}
}
};
【问题讨论】:
-
旁白:您应该真正了解如何使用
SimpleDateFormat而不是使用year+"/"+month+"/"+day+"\n"+hour+":"+minutes+":"+seconds+"."+miliseconds+"\n"。
标签: java android eclipse android-intent android-service