Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Cacio Renato

Monitorar arquivo

Recommended Posts

Boa tade,

Sou novo nessa linguagem estou tentando fazer a seguinte situação , monitorar arquivo no android , ao inserir um arquivo em um pasta definida quando eu gravar o arquivo la ele fazer vim o caminho com o nome do arquivo e extensão, ouvi falar do fileobserver mas tentei fazer com alguns modelos mas não tive exito , alguém tem um exemplo ou pode me ajudar nesse quesito .

Compartilhar este post


Link para o post
Compartilhar em outros sites

Passou um bom tempo e ninguém se prontificou mas eu comecei a fazer e tenho alguns problemas que não to me achando quando eu clico no botão para inicial o serviço ele diz que ta monitorando o arquivo mas quando eu mando na pasta ele não faz nada e eu debug no código mas não acho nada vou postar aqui um pouco do código pra ve se aguem se prontifica a me ajudar.

package br.com.prodasiq.servicenfe;

import android.content.DialogInterface;
import android.content.Intent;
import android.content.SharedPreferences;
import android.support.annotation.Nullable;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.app.Dialog;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;

public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

SharedPreferences prefs = getSharedPreferences(Constants.PREFS_KEY, MODE_PRIVATE);
if (prefs.contains(Constants.PATH_KEY)) {
String path = prefs.getString(Constants.PATH_KEY, "");

// initialize the value in the text field
EditText pathTxt = (EditText) findViewById(R.id.pathTxt);
pathTxt.setText(path);

// start observing
Intent i = new Intent(this, InvoiceObserverService.class);
startService(i);

// notifies the user
NotificationHelper.showNotification(this, "Monitoramento iniciado", "O diretório " + path + " está sendo monitorado");
}


Button startBtn = (Button) findViewById(R.id.startBtn);

startBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// get the path entered by the user
EditText pathTxt = (EditText) findViewById(R.id.pathTxt);
String path = pathTxt.getText().toString().trim();

// stores the path in the shared preferences so in the next boot, the system may check
// if it was already entered and so start monotoring the same path automatically
if (!path.isEmpty()) {
File pathFile = new File(path);

// if the path is a directory
if (pathFile.isDirectory()) {
SharedPreferences prefs = getSharedPreferences(Constants.PREFS_KEY, MODE_PRIVATE);
SharedPreferences.Editor editor = prefs.edit();
editor.putString(Constants.PATH_KEY, path);
editor.apply();

// start observing
Intent i = new Intent(MainActivity.this, InvoiceObserverService.class);
startService(i);

// notifies the user
NotificationHelper.showNotification(MainActivity.this, "Monitoramento iniciado", "O diretório " + path + " está sendo monitorado");
} else {
// show an alert dialog informing the user about the error
Bundle dialogBundle = new Bundle();
dialogBundle.putString(Constants.PATH_KEY, path);

showDialog(Constants.DIALOG_PATH_INVALID, dialogBundle);
}
}
}
});

}

@Nullable
@Override
protected Dialog onCreateDialog(final int id, Bundle args) {
switch (id) {
case Constants.DIALOG_PATH_INVALID:
String message = "O caminho " + args.getString(Constants.PATH_KEY) + " não é válido.";

AlertDialog.Builder builder = new AlertDialog.Builder(this)
.setCancelable(false)
.setTitle("Erro")
.setMessage(message).setPositiveButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dismissDialog(id);
removeDialog(id);
}
});

return builder.create();
default:
return null;
}
}

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por pashaa
      Como podem ver a google não aceita mais a SDK da unity ads por motivos da empresa
      Então resolvi remover toda a SDK do meu código. Libs,linhas de comando, tudo. e mesmo assim ainda ela acusa que tenho a sdk dentro do meu app
      Já tenho mais ou menos 1 ano programando em android e nunca tinha visto algo sobre ou esse erro persistir já que tirei tudo de dentro do app
      A minha dúvida é, onde estou errando? Onde deixei alguma coisa sobre essa sdk?Que inclusive coloquei pra teste a uns 5 meses atrás e até tinha esquecido dela kk
      Peço que me ajudem dando sugestões de como remover por completo pois eu praticamente reverti o processo de adicionar a SDK e todo tipo de linha relacionada a unity.ads
       

    • Por Fernando Rafael
      Bom dia, estou baixando arquivos que estão em uma hospedagem própria para serem acessados por um aplicativo que estou desenvolvendo (consigo fazer normalmente utilizando os comandos citado mais a baixo), porém os arquivos ficam salvos na pasta padrão de DOWNLOADS do Android, minha intenção não é ficar acumulando estes arquivos no aparelho, ou esperar que o usuário exclua manualmente, gostaria em salva-los em uma pasta interna do aplicativo para que seja possível excluir automaticamente pelo próprio aplicativo, já tentei como alternativa excluir esses arquivos da pasta DOWNLOADS, mas não consegui...
       
      Segue o código que estou usando para baixar os arquivos, queria adaptar para baixar direto na pasta interna do aplicativo, ou como alternativa caso isso não seja possível, conseguir excluir esses arquivos da pasta DOWNLOADS do Android...
       
      String url = "https://www.site.com/arquivo.pdf"; //Arquivo que vou baixar DownloadManager.Request request = new DownloadManager.Request(Uri.parse(url)); request.setDescription("Alguma descrição"); request.setTitle("Algum titulo"); //A notificação de conslusão só esta disponível a partir da API 11 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) { request.allowScanningByMediaScanner(); request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED); } //Salvando o arquivo no diretório de Downloads request.setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWNLOADS, "arquivo.pdf"); DownloadManager manager = (DownloadManager) getSystemService(DOWNLOAD_SERVICE); manager.enqueue(request);  
    • Por Fernando Rafael
      Bom dia, alguém poderia me ajudar com esse problema? 
       
      Estou fazendo um aplicativo bem simples em que sua única função será criar uma pasta no celular (em local acessível pelo gerenciador de arquivos do usuário), e posteriormente copiar arquivos de outro local ou rede e colocar nesta pasta.
       
      Fiz algumas pesquisas, mas por incrível que pareça não encontrei algo que tenha funcionando. Também tenho dúvidas sobre qual seria o equivalente ao "C:/" do Android.
    • Por rharisonluca
      Bom dia galera.
       
      Vou iniciar uma projeto para a empresa onde eu trabalho, eu não sou desenvolvedor, porém tenho noção e sou formado na área. Abaixo vou explicar o modelo do projeto:
       
      O projeto consiste em um aplicativo para controle de roteirização da frota;
      Cada motorista terá acesso ao app pelo celular com login e senha;
      O encarregado pelo logística terá que ter acesso pelo PC (WEB) onde ele irá direcionar os roteiros para cada motorista, nessa plataforma web ele irá enviar as coletas e entregas que cada motorista terá que fazer.
       
      Basicamente o projeto é esse, preciso de norte para saber o que tenho que estudar para desenvolver esse projeto, qual framework estudar, qual liguagem, etc.
       
      Desde já agradeço, abraços.
       
      Att.
       
    • Por glocatelli
      Boa tarde,

      Preciso desenvolver um app com os parâmetros descritos na tabela e estou com dificuldade de pensar uma forma de fazer isso, pensei em vários "If's" para classificar o conforto térmico, mas como existem resultados que se repetem em mais de uma classificação acabei descartando esse caminho.
      Se possível me deem dicas de como os senhores procederiam =D

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.