Постоянная проверка файлов в директории Android

Я столкнулся с такой проблемой: мне нужно каким-то образом проверять файлы в директории на внутренней памяти Android-устройства через определённое кол-во времени, и если появляются новые, то читать их при помощи BufferedReader. Буду очень признателен вашей помощи


Ответы (1 шт):

Автор решения: Maks
  1. повторять через определенное время можно так:

    private Runnable repeatativeTaskRunnable = new Runnable() {
     public void run() {
         new 
    Handler(getMainLooper()).post(new 
    Runnable() {
             @Override
             public void run() {
    
      //DO YOUR THINGS
     }
    };
    

Чтобы запустить повтор и установить задержку:

private Handler taskHandler = new NonLeakyHandler(FlashActivity.this);
taskHandler.postDelayed(repeatativeTaskRunnable , DELAY_MILLIS);

2.для того чтобы сканировать папку на наличие новых файлов надо:

-прочитать названия всех файлов

-если файл уже есть в массиве с названиями файлов то пропускаем,а если нет то записываем его название в массив и читаем его.

3.читать файл можно так:

void readFile() {
try {
  // открываем поток для чтения
  BufferedReader br = new BufferedReader(new InputStreamReader(
      openFileInput(FILENAME)));
  String str = "";
  // читаем содержимое
  while ((str = br.readLine()) != null) {
    Log.d(LOG_TAG, str);
  }
} catch (FileNotFoundException e) {
  e.printStackTrace();
} catch (IOException e) {
  e.printStackTrace();
}
}
→ Ссылка