Conteúdo completo: Nesse vídeo mostro o que é, como funciona e como …
Nguồn:https://u-os.org/
Xem thêm Bài Viết:
- Hướng dẫn cách lắp anten ngoài trời đúng kỹ thuật, thu sóng khỏe nhất
- Giải đáp bí ẩn Xamarin là gì? Ưu và nhược điểm khi sử dụng Xamarin
- Tuyệt chiêu sửa lỗi window photo viewer can’t open this picture because
- Bộ nhớ đệm là gì? Có nên xóa bộ nhớ đệm trên thiết bị không?
- Bật mí 3 cách chụp ảnh bằng máy tính win 7 dễ như ăn kẹo
No finalzinho ficou mais fácil de entender o que é uma Thread. Thread então é uma tarefa executada em background?
Faz um tempinho que vi um vídeo dizendo que é mais "prudente" usar Runnable, pois este é implementado na Thread. Isso seria para evitar mudanças no comportamento da Thread principal. Faz algum sentido?
Runnable runnable = new Runnable({…}) -> new Thread(runnable).start() – para nova tarefa – ou runnable.run() – para background na mesma Thread.
"Tá ligado foi boa" kkkkk
Bons videos cara!!!
Boa tarde professor, estou começando agora a trabalhar com android studio e estou precisando verificar se um determinado registro existe no firebase para poder inclui-lo ou altera-lo. usei a theard mas nao funcionou, pois a mensagem de execucao da thread apareceu depois da mensagem de conclusao da thread. Por favor veja o que estou fazendo errado:
public void CarregaRelogio() {
Calendar mcurrentTime = Calendar.getInstance(TimeZone.getTimeZone("Brazil/East"));
int hour = mcurrentTime.get(Calendar.HOUR_OF_DAY);
int minute = mcurrentTime.get(Calendar.MINUTE);
TimePickerDialog mTimePicker = new TimePickerDialog(AgendaCadActivity.this, new TimePickerDialog.OnTimeSetListener() {
public void onTimeSet( TimePicker timePicker, int selectedHour, int selectedMinute ) {
horaC = String.valueOf(selectedHour).trim();
minutoC = String.valueOf(selectedMinute).trim();
if (Integer.valueOf(horaC) < 10) {
horaC = "0" + Integer.valueOf(horaC);
}
if (Integer.valueOf(minutoC) < 10) {
minutoC = "0" + Integer.valueOf(minutoC);
}
varIdAtual = txtDataCad.getText().toString().replace('/', ' ') + horaC + ":" + minutoC;
varTrueFalse = true;
if (varIdLista != varIdAtual) {
pesquisaCadastro b = new pesquisaCadastro();
b.start();
synchronized (b) {
try {
System.out.println("Aguardando o b completar…");
b.wait();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
if (varTrueFalse = false) {
Toast.makeText(AgendaCadActivity.this, "Já existe um registro para esta data/hora", Toast.LENGTH_LONG).show();
} else {
Toast.makeText(AgendaCadActivity.this, "nao encontrado registro", Toast.LENGTH_LONG).show();
txtHoraCad.setText(horaC + ":" + minutoC);
}
} else {
varTrueFalse = true;
txtHoraCad.setText(horaC + ":" + minutoC);
}
}
}, hour, minute, true);
mTimePicker.setTitle("Selecione o Horário");
mTimePicker.show();
}}
}
public class pesquisaCadastro extends Thread {
@Override
public void run(){
synchronized(this){
DatabaseReference referenciaFirebase = ConfiguracaoFirebase.getFirebase();
Query query = referenciaFirebase.child("cadastro").orderByChild("id").equalTo(varIdAtual);
query.addValueEventListener(new ValueEventListener() {
public void onDataChange( DataSnapshot dataSnapshot ) {
try {
for (DataSnapshot objSnapshot : dataSnapshot.getChildren()) {
varTrueFalse = true;
Toast.makeText(AgendaCadActivity.this, "to dentro", Toast.LENGTH_LONG).show();
}
} catch (Exception e) {
}
}
@Override
public void onCancelled( DatabaseError databaseError ) {
varTrueFalse = true;
}
});
notify();
}
}
}
Já usei muito thread e handler, mas sem saber muito bem para que servia o Handler.
Parabéns pelos vídeos. Volta e meio volto pros vídeos de "iniciantes" e acabo aprendendo conceitos que estavam faltando.
Excelente aula Thiengo.
mais uma vez o video de thiengo calopsita salvando, meu app chamava ulr dentro da thread principal, nao dava ero no console mas congelava o app, foi so criar a nova thread e saaaallllvooou, mais uma vez obrigado mestre, depois dessa vi que tenho que recomeçar do zero no android, vc me aconselha a comecar por qual etapa?
Tô ligado bicho!
Excelente, ajudou muuuuito.
Cara vc não tem noção do quanto estes videos ajudam e poupam tempo!
vlw a moral!
Boa noite, Thiengo
Tudo bem com você?
Gostaria que você, gentilmente, me esclarecesse uma dúvida sobre service e threads. Tenho uma
classe LocationService que extends Thread, uma segunda classe GPSService que extends Service e é responsável
por instanciar e iniciar a execução de LocationService. Na Atividade Principal tenho um ScheduledExecutorService
cuja função é iniciar e encerrar a execução do Service (Classe GPSService). Minha dúvida é a seguinte: enquanto a tela
está ativa tudo funciona adequadamente, porém quando a tela do smartphone é bloqueada o serviço continua sua execução
mas o ScheduledExecutorService deixa de executar sua função. Nessa situação o ScheduledExecutorService é aniquilado pelo
Android? Por qual razão ele deixa de executar?
Muito obrigada.
Um forte abraço.
Patricia
Agradeço imensamente conseguir resolver um problema no meu projeto nas versões novas do Android com Thread. Valeu Thiendo !
to ligado!
muito foda sua explicação (Y)
Tá ligado!!! Heheheh dahora man seus vídeos! Parabéns!
Show Thiengo!
Cara muito obrigado por compartilhar seus conhecimentos com a gente!
De parabéns suas aulas e como sempre acompanho seus vídeos já faz um tempo!
Obrigado e continue com o seu sucesso em vídeo aulas para o Android!
Me ajudou, muito obrigado.
Poutz cara muito boa a vídeo aula, além me ajudar a entender o conceito ainda me ajudou a resolver um problema com Thread de um outro projeto em Java SE. Por favor continue postando e realizando este ótimo trabalho.
Estou vendo todos os seus videos e principalmente sobre service, eu baixei todos, eu baixando tu ganha visualização?
n consegui acessar o post, parece q n existe aq ;d
Vídeo muito bom, obrigado e parabéns
consigo usar a handler mais de uma vez!?
Olá, muito bom o vídeo. Teria uma dica de como colocar um ProgressDialog com o tempo do download da imagem, dentro dessa thread?
Muito boa a explicação. Parabéns.
husahusa To ligado mano rsrs
"Tá ligado… tá ligado foi boa" HUAUHAHU
mando muito! show de bola
Parabéns pelo video, era isso que eu tava precisando.
xD