Ler arquivos no pc com QRCODE

Gente.

Bom dia. Desenvolvi um sisteminha simples de geração de QR CODE em java. Esta funcionando bem. Ele cria o QR a partir de qualquer link que eu insira nele.

Mas gostaria de saber se é possível ler arquivos em um banco de dados no Desktop, pq ate agora só consegui fazer ele ler arquivos em bancos online. Queria saber se é possível criar um banco offline no desktop e usar o sistema para achar aquivos. Tem como fazer isso?

Se ele já transforma os links em QR já temos certeza que ele faz o trabalho bruto, mas o que você quer dizer com criar um banco offline? colocar um banco de dados na sua desktop é relativamente fácil, ler dados também é o de menos… Se for isso que você quer dizer é perfeitamente possível.

Tentando desembolar sua ideia acredito que você quer distribuir sua aplicação no estilo “baixe e execute” sem ter que ficar configurando o servidor de banco de dados e conexões de rede e etc… acredito que seja um banco local que só vai ser acessado pelo seu programa no seu computador certo? Você vai achar muito material sobre como fazer procurando por “banco de dados embarcado” e eu recomendo o próprio “derby” conhecido também como JavaDB que vem junto com o JDK 8 inclusive e já vem quase todo redondo pra ser usado no Netbeans…

Se eu for te explicar todo o processo de configuração vai virar um post gigante, mas se esse realmente for seu objetivo, eu posso ir te orientando nos seus primeiros passos, só sinalizar que é isso mesmo…

É exatamente isso.

Quando falo de um banco de dados offline, me refiro a um banco criando no meu pc mesmo…em vez de na internet em um servidor.

ai quando eu inserir algum dado nesse banco de dados ( que esta na minha maquina e não na net) eu usaria o gerado de QRCode pra achar esse dado no meio de outros tandos entendeu?

explicando melhor os motivos desse projeto:

trabalho em uma escola e aqui temos um problema de alunos que na hora da prova esquecem de preencher o cabeçado da prova (nome - serie e turma) dai o diretor sugeriu essa ferramente. Criar um gerado de QRCode para achar o dono da prova que nao tem o nome do aluno.

durante o proceço de criaçao da prova seria gerado um QRcode com os dados do respectivo aluno, caso ele esquecesse de colocar o nome na prova poderiamos acha-lo usando o QRCODE gerado no sistema, onde aparecia o nome, a turma, a serie e a foto do aluno.

na minha opinião, existem meios mais simples de se fazer isso. uma delas e inserir o nome do aluno na prova automaticamente, MASS…existe a chance de alunos colarem, trocando de provas e outras coisas relacionadas a isso, Por isso o diretor da escola sugeriu o tal do QRCODE, sendo que ele procuraria os dados do aluno dentro de um banco em um pc, e não na web.

Beleza então… Mas ainda sobre o banco… O mesmo banco vai ser acessado por outros computadores na rede? ou só na sua máquina? e ele vai ser distribuído junto com o app ou você prefere colocar o banco separado do app?

porque a pergunta? As vezes você quer ter o banco em um lugar e varias outras maquinas acessando, e as vezes você quer somente onde vc abrir o app… e as vezes vc quer usar um banco que já existe de outro app…

hum…boa pergunta…

a informação que eu tenho é que sera acessado apenas em uma maquina. E sim, prefiro o banco separado do app

Se você prefere um MYSQL você tem que baixar ele e instalar o servidor na maquina que vai armazenar seu banco… Pra você que está iniciando te aconselho a usar um XAMPP da vida que vem com um pacotão de ferramentas pra facilitar sua vida… Mas alerto, não é recomendável manter isso pois ele oferece furos na segurança se não for bem configurado…

Se optar pelo Derby que sinceramente sou fã… Você não precisa instalar nada só inserir o driver no seu app e sair usando… me fala o que escolheu que passamos pro próximo passo…

O Mysql é bem mais popular, o derby é bem mais fácil…

cara…vamos pra esse derby ai…se vc diz que o negocio é top, eu acredito…Lembrando…o sistema que fiz no netbeans ja ta funionando…

apos essa aula que vc ta me dando. queria te pergutnar outra coisa…mas deixa pro fim dessa aula…

Dentro do Netbeans, na aba “serviços” acesse a opção banco de dados > JavaDB…
clique com o botão direito em javaDB e vá em propriedades me diz o que tem dentro de Instalação do JavaDB…

O netbeans quando é baixado na versão full tem um bug que não inicia o servidor de jeito nenhum ai a gente usa a do glassfish =D

Vai ser aqui que gerenciaremos seu banco de dados, ainda não falamos em conexão… o banco é uma coisa seu app será outra… futuramente a unica conexão entre eles será o acesso…

xiiii…

satangozo meu velho…kkkkkk…estou nesse momento na escola…nao estou em frente a meu pc…

mas agradeco o que vc puder fazer por mim agora…

peraij…verei o que faço aqui na maquina da escola…

Ahhh beleza… quando for fazer fala… que eu vou te dando o caminho das pedras… eu vejo as notificações por email… mas se quiser depois partir sozinho esse é o inicio do seu trabalho… Deixar o banco redondo e depois só conectar… tem muito material na net, mas se ver que vai embolar grita aqui que te dou uma moral…

valeu meu camarada…

agora a pergunta que ia te fazer…
vejo que tu é safo nesse assunto de java e qrcode…entao me diz…como eu faria pra dar precensa em aluno usando o QRCODE?

Tipo assim. o aluno passa o qr code na frente de um leitor que automaticamente da presença pra ele na escola.
com isso evitariamos as famosas chamadas em sala de aula…

Eu acredito que a mais simples é ter um QR code na carteirinha do aluno, e ter um leitor android (celular, tablet e etc…), que upará as informações de presença pra um servidor com webservice… existem varios conceitos diferentes aqui…

1 - Você teria duas camadas, uma seria o cliente que iria upar as informações pro banco, e outra seria o servidor que armazenaria esses dados… O celular (cliente) pode rodar um APP android que iria ler o que a camera do dispositivo capturou e mandar pro seu servidor;

2 - Webservice esse conceito facilita a conversação entre SO’s diferentes como android e Windows por exemplo…

Você pode também contornar essa opção sinistra de ter que aprender duas tecnologias e criar um servidor WEB e aprender somente uma coisa… Assim você faz tudo na nuvem… independentemente do dispositivo usado desde que ele tenha um navegador… você captura o QR pela camera de um celular, ou leitor próprio e upa pela pagina que vc criou…

kkkkk…nao tinha pensando nisso…

Eu curto uma gambiarra básica… e eu acho que vc não ta a fim de partir pra outra tecnologia… quer ficar no que vc ja conhece que é desktop… sendo assim, procura deixar o seu banco de dados acessível, não importa como vai escolher desktop, web, e etc… isso é um passo necessário…

Abre ele pra ser acessado na rede, que depois disso ligar seu app nele é moleza… e se quiser partir pro profissa depois, não precisa alterar quase nada nessa parte… quanto a ler o QR do aluno também nao importa muito se é pelo celular ou por leitor de QR especifico, o que importa é essa informação chegar no banco… e uma vez que seu banco está acessivel na rede, inserir, alterar, e excluir, é trivial…

fala Satangozo…(poxa Santangozo é sacanagem…kkkkkk) bom. pra agilizar o tuto instalei o netbeans na maquina do trabalho. E seguindo as intruides que vc me passou ontem, cheguei no JavaDB e vi isso:

nome para exibição: jdbc:derby://localhost:1527/sample [app em APP]
URL do banco de dados: jdbc:derby://localhost:1527/sample
Driver: apache_derby_net
classe do driver: org.apache.derby.jdbc.ClientDriver
Esquema: APP
Usuario: APP

Feito isso…o que mas faço?

Eu fiz esse vídeo a algum tempo porque eu ia tocar uma agenda acabei desistindo, pula pro 10:20 que eu mostro isso ai que eu falei abaixo ou se preferir leia =D: https://youtu.be/ETi_zhoi7As, inclusive nesse vídeo eu deixo tudo funcionando pra descer o dedo nos código kkkk

---------------------------Se preferir escrito----------------------------
Esse banco que você está falando se chama “Sample” e ele vem como exemplo pra vc seguir os tutoriais do java que tem na página do netbeans inclusive… nós vamos fazer o seu…

primeira coisa é saber se seu netbenas vem com um bugzinho chato do servidor que nao inicia, faz o seguinte:
Serviços > Banco de dados > JavaDB > Clica com o botão direito e vai em propriedades

Em “Localização do banco de dados” aponta pra um lugar que você vá achar seu banco futuramente eu costumo colocar em uma pasta chamada “database” dentro do meu projeto por exemplo, saiba que esse é o lugar que o servidor do netbeans vai procurar os bancos de dados que você cria

Depois disso volta em JavaDB clica com o botão direito e vai em “Criar banco de dados”, e coloque o que vc achar melhor nos campos e dê “OK”, pronto vc ja terá um banco de dados =D.

Agora vamos testar o bug que te falei… quando vc criar seu banco ele vai aparecer dentro de JavaDB, clica com o botão direito em cima do seu banco e clica em conectar… vai aparecer na barrinha embaixo “Iniciando servidor JavaDB…” se passar de 15 segundos é porque está com o bug que te falei, ele vai ficar assim eternamente…

Esse bug acontece porque tem algum erro na instalação do JavaDB que vem com o netbeans, eu costumo apontar a instalação do JavaDB pra um que vem no glassfish e que também é instalado na versão full do netbeans.

Vai em JavaDB e clica com o botão direito e selecione “propriedades”, em instalação do JavaDB aponte para C:\Arquivos de programas\Glassfish-4.1.1\javadb… Caso você não esteja usando a versão full do netbeans o glassfish não foi instalado, e uma gambiarra que vc pode fazer é o seguinte: Vá em Serviços > Servidores, selecione Glassfish, e em localização da instalação coloca em meus documentos por exemplo, vai ter uma caixinha de “aceito o contrato” marca ela e clica em fazer download agora…

Existem formas mais elegantes de resolver isso, mas eu gosto de usar o javadb do glassfish porque eu já aproveito nos APP WEB =D

Uma vez que o glassfish tiver sido instalado é só voltar em JavaDB > Propriedades, e apontar a instalação do JavaDB pra pasta javadb dentro do glassfish, depois disso pode ir lá em JavaDB e clicar com o botão direito no seu banco e iniciar que vai iniciar… e pronto seu banco já vai estar disponível pra gente mexer nele…

So pra dar um pitaco, rsrs.

Eu daria zero pra quem nao preencheu o cabeçalho.:smiley:

Com o qrCode na prova sera necessario o professor ter a app no seu cel para identificar e entregar a prova pro aluno correto.
Acho melhor revisar o processo.

nao campelo…nos temos aqui um leitor de qr code…e um leitor manual que de inicio foi comprado para ler os qrcode de presença…mas nao deu certo…o diretor quer usar para esse fim…e na verdade sao tres…e ele nao serviara apenas para isso…existem outras formas de usar esse metodo de qr code…

e quer saber mais…eu tambem acharia melhor dar logo zero pra quem não preencheu o cabeçalho…

valeu satangozo…ou dar uma olhada…qualquer coisa te procuro aqui