将前一天文件发送到服务器

时间:2013-11-28 07:09:27

标签: android https

我创建了一个简单日期概念的文本文件。每天,文本文件将在当天的日期存储在我的系统中。我使用计时器概念自动将这些文本文件发送到服务器。

现在我的问题是我想将前一天的文本文件发送到服务器。例如:如果今天是星期一,并且根据我的计时器时间表8,我需要将星期日的(前一天)文本文件发送到服务器。我被困在这里,我不知道如何实现这一目标。 这是我的编码

File mydir = new File("file path");
mydir.mkdirs();
final String filename =   new SimpleDateFormat("dd-MM-yyyy").format(new Date());
File outputFile = new File(mydir, filename);
FileOutputStream fos = new FileOutputStream(outputFile,true);

2 个答案:

答案 0 :(得分:1)

您需要定义service并使用handler,该((8-5) * 60 * 60 *60 * 1000)最初应按照从开始时间到8'O时钟的时差进行设置。那么计时器间隔应该是24小时,在执行过程中你可以发送文件......

例如:您是在下午5点安装应用程序,您需要在晚上8点开始发送文件,以便计算自handler使用milliseconds以来的24 * 60 * 60 *60 * 1000间隔。之后,您可以将其设置为private int mInterval = 5000; // 5 seconds by default, can be changed later private Handler mHandler; @Override protected void onCreate(Bundle bundle) { mHandler = new Handler(); } Runnable mStatusChecker = new Runnable() { @Override public void run() { updateStatus(); //this function can change value of mInterval. mHandler.postDelayed(mStatusChecker, mInterval); } }; void startRepeatingTask() { mStatusChecker.run(); } void stopRepeatingTask() { mHandler.removeCallbacks(mStatusChecker); }

<强>更新

使用像这样的处理程序

{{1}}

在这里你需要改变我之前解释的间隔

答案 1 :(得分:0)

您需要做的是构建前一天的文件名并查看它是否存在,然后将其发送到服务器。

请按照以下步骤操作。

  1. 创建新的约会对象
  2. 从中减去一天 - 您将获得前一天的对象
  3. 根据此对象创建文本文件的文件名
  4. 使用此路径名创建文件对象
  5. 检查文件是否存在
  6. 如果文件存在,请将文件发送到服务器,否则不执行任何操作。

    修改:假设您能够正确创建前一天的文件名,

    String filePath = FILES_DIRECTORY + yesterdaysDate + FILE_EXTENSION;
    File yesterdaysFile = new File(filePath);
    if( yesterdaysFile.exists() ){
        // Upload this file to the server
    }