java – Como adicionar um dado em um laço filho??? firebase

(!(inserir a descrição da imagem aqui)(1))(1)

(1): https://i.stack.imgur.com/moyvL.png`import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;

import android.content.DialogInterface;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.Toast;

import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;

import java.util.ArrayList;

public class bloco extends AppCompatActivity {

private EditText editText;
private Button botCriar;
private ListView listView;
private FirebaseDatabase database;
private DatabaseReference myRef;
private Dados dados;
public String UserID;



private ArrayList<String> notas = new ArrayList<String>();
ArrayAdapter<String> adapter = null;

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


    database = FirebaseDatabase.getInstance();
    myRef = database.getReference();
    editText = (EditText) findViewById(R.id.name);
    botCriar =  findViewById(R.id.botCriar);
    listView = (ListView) findViewById(R.id.listView);
    adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, notas);
    listView.setAdapter(adapter);

    UserID = myRef.push().getKey();

    botCriar.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            String textoNota = editText.getText().toString();
            if (textoNota.length()>0){
                editText.setText("");
                editText.findFocus();
                notas.add(textoNota);
                adapter.notifyDataSetChanged();
            }

            //dados.setTexto(textoNota);
            dados.setNotas(notas);

            myRef.child("task").child("dados").setValue(dados);
        }
    });
    listView.setOnItemClickListener(new AdapterView.OnItemClickListener(){

        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
            AlertDialog.Builder adb = new AlertDialog.Builder(bloco.this);
            adb.setTitle("Nota");
            adb.setMessage("Você deseja apagar essa nota?");
            final int positionToRemove = position;
            adb.setNegativeButton("Não", null);
            adb.setPositiveButton("Sim", new AlertDialog.OnClickListener() {
                public void onClick (DialogInterface dialog, int which) {
                    notas.remove(positionToRemove);
                    adapter.notifyDataSetChanged();
                }
            });
            adb.show();
        }
    });
}

}`

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

import com.google.firebase.auth.FirebaseAuth;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;

public class criandoConta extends AppCompatActivity {

private EditText loginNovoUsuarioEditText;
private EditText senhaNovoUsuarioEditText;
private FirebaseAuth mAuth;
private FirebaseDatabase database;
private DatabaseReference myRef;
private Button criarUsuario;
private User user;
//private String UserID;


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

    loginNovoUsuarioEditText = findViewById(R.id.loginNovoUsuarioEditText);
    senhaNovoUsuarioEditText = findViewById(R.id.senhaNovoUsuarioEditText);
    mAuth = FirebaseAuth.getInstance();
    database = FirebaseDatabase.getInstance();
    myRef = database.getReference();
    criarUsuario = findViewById(R.id.criarUsuario);
    criarUsuario.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            criarUsuario(loginNovoUsuarioEditText.getText().toString(), senhaNovoUsuarioEditText.getText().toString());

        }
    });
    //UserID = myRef.push().getKey();
}

public void criarUsuario(String login, String senha){


  String key = myRef.child("task").push().getKey();

    user = new User();

    user.setLogin(login);
    user.setSenha(senha);

    myRef.child("task").child(key).setValue(user);

    Toast.makeText(this , "Contra criada com sucesso!", Toast.LENGTH_SHORT).show();

    mAuth.createUserWithEmailAndPassword(login, senha).addOnSuccessListener((result) -> {
        startActivity(new Intent(this, MainActivity.class));
        Toast.makeText(this, result.getUser().toString(), Toast.LENGTH_SHORT).show();
    })
            .addOnFailureListener(error -> error.printStackTrace());

}
import java.util.ArrayList;

public class User {

public String login;
public String senha;



public User(String login, String senha) {
    this.login = login;
    this.senha = senha;
}

public User() {

}


public String getLogin() {
    return login;
}

public String getSenha() {
    return senha;
}

public void setLogin(String login) {
    this.login = login;
}

public void setSenha(String senha) {
    this.senha = senha;
}

}

import java.util.ArrayList;

public class Dados {

public ArrayList<String> notas;
public String dataSelect;


public Dados(ArrayList<String> notas, String dataSelect) {
    this.notas = notas;
    this.dataSelect = dataSelect;
}

public Dados() {
}

public ArrayList<String> getNotas() {
    return notas;
}

public String getDataSelect() {
    return dataSelect;
}

public void setNotas(ArrayList<String> notas) {
    this.notas = notas;
}

public void setDataSelect(String dataSelect) {
    this.dataSelect = dataSelect;
}

}

}Não consigo implentar os dados junto a esse push

c – Mutex avançando sem ter dado release

olá, estou desenvolvendo uma espécie de servidor local com acesso por portas para um trabalho da faculdade, o que limita a quantidade de usuários neste servidor é um mutex, onde apenas um cliente por vez pode se conectar com o servidor, porém, não está funcionando da forma adequada, qualquer cliente que tenta se conectar, acaba passando para a etapa de conectado.

Obs: Em nenhum momento eu dou release no mutex.
Obs: Se eu usar o semaphore, ele funciona perfeitamente mas o enunciado do trabalho exige o uso de mutex

O que eu posso estar fazendo de errado ?
Segue código:

main(int argc, char *argv())
{
    char msgPadrao(255); //mensagem da porta padrão
        
    printf("SERVIDOR INICIADO!nAguardando clientesn");
    
    DWORD dwThreadIdArray;
    HANDLE thRecebe(MAXSVCON); //threads de conexão cliente/servidor
    
    //thread cliente servidor
    thRecebe(0) = (HANDLE) CreateThread(NULL, 0, Recebe, (int *) 0, CREATE_SUSPENDED, &dwThreadIdArray);
    
    //MUTEX de máximo de conexão no servidor
    ///HANDLE hMutex = CreateSemaphore(NULL, 1, 1, "asdadsasdas");
    //CreateSemaphore(NULL, 1, 1, obterTexto("LUGAR",i));
    HANDLE hMutex = CreateMutex(NULL, FALSE, "ujyuyuyuyuy");
    
    //O servidor constantemente checa se existe alguém tentando se conectar
    while(1)
    {
        //porta 8220 é a padrão de recebimento de conexão do servidor
        //o servidor receberá a porta de recibo do cliente
        receber(portaPadrao, msgPadrao);
        
        printf(msgPadrao);
        
        //ao receber msg padrao, o servidor transformará a string da porta em int
        tmpClPort = atoi(msgPadrao);
        
        //checa se o servidor está lotado por mutex
        ///dwIsSvFull = WaitForSingleObject(hMutex, 0L);
        dwIsSvFull = WaitForSingleObject(hMutex, 0);
        
        if (dwIsSvFull==WAIT_OBJECT_0) 
        {
            //sv is not full
            conectar(&sock, "127.0.0.1", tmpClPort);
            enviar(sock, "1");
            
            printf("Um cliente se conectou, resumindo thread...n");
            
            ResumeThread(thRecebe(0)); //roda a thread para conversação
        }
        else
        {
            printf("Servidor esta lotado!!");
            //sv is full
            conectar(&sock, "127.0.0.1", tmpClPort);
            enviar(sock, "0"); //msg sv is full
        }
        
        
        //ReleaseMutex(hCreateCon);
        
    }
    
    return 0;
}

sql – Dado o diagrama ER, alguém pode me fornecer o código para SQLite para encontrar a consulta conforme perguntado

Dado o diagrama ER, alguém pode me fornecer o código para SQLite para encontrar a consulta conforme perguntado.

inserir a descrição da imagem aqui

Quais são os gêneros musicais mais comuns nas playlists hospedadas?
Qual é o álbum mais longo do catálogo? Quantos minutos dura?
Qual é o artista/banda com o maior número de álbuns disponíveis?

estou agarrado nessas questões, agradeço a colaboração de todos.

mysql – Manter estado ou excluir objeto em banco de dado relacional

Boa noite, estou na disciplina de análise orientada a objetos na faculdade e a professora disse quanto à um objeto armazenado na base que, o mais interessante, seria manter o estado do objeto(ativo ou inativo, por exemplo) do que excluí-lo. Gostaria de entender em quais casos isso se aplica, se há exceções ou se de fato “manter” o objeto trás mais vantagens do que excluí-lo.

sql – Como selecionar um dado nao contido em uma coluna sendo ela uma foreign key?

Eu possuo a tabela ingrediente que possui as colunas

Ingrediente (
idIngrediente int PRIMARY KEY,
nomeIngrediente varchar(50) not null,
precoIngrediente money not null)

e a tabela receita


CREATE TABLE Receita (idReceita int primary key,
nomeReceita varchar(50) not null,
descricaoReceita varchar(200) not null,
idAutorReceita int not null,
dataCriacaoDaReceita datetime not null,
foreign key (idAutorReceita) references Autor (idAutor))

E eu preciso selecionar o nome dos ingredientes que não estão na receita e a query

select i.nomeIngrediente from Ingrediente i
where i.idIngrediente not in (select idIngrediente from Receita r)

me retorna ingredientes que estão na receita

SQL Localiza lançamentos duplicados e traz outro dado da tabela

Bom dia pessoal! Não sou tão experiente ainda nos comandos SQL, por isso estou buscando os gurus aqui pra me dar uma força.

Vamos lá, tenho uma tabela onde são armazenados comprovantes de depósitos que os clientes enviam. Notamos que eventualmente há entradas de valores repetidos, por erros de lançamentos. Então criei uma chave que agrupa dados onde é possível identificar as duplicidades.

SELECT ChaveControle FROM BancoCliente GROUP BY ChaveControle HAVING COUNT(*) > 1;

O problema é que tenho dois campos com a mesma descrição e se der um update ambos vão sofrer o cancelamento. Para resolver o problema, preciso que o retorno deste select esteja dentro de outro select que trará o maior ID daquele resultado, com isso saberei que estou excluindo o segundo lançamento do cliente.

Preciso trazer o Código da mesma tabela. Para depois fazer um UPDATE utilizando o código.

CAMPOS DA TABELA BANCOCLIENTE
Código
ChaveControle

laravel – pegar dado do banco

sou novo em Laravel e estou com um problema…preciso pegar do banco o id de uma tabela para alimentar o foreign de outra e não estou conseguindo, alguem pode me ajudar?

    $customer                 = new Customer();
    $customer->name_customer  = $request->input('name');
    $customer->cpf_customer   = $request->input('cpf');
    $customer->email_customer = $request->input('email');
    
    $result = $customer->save();
    
    $sales                    = new Sale();
    $sales->date_sale         = $formatDate;
    $sales->quant_sale        = $request->input('quantity');
    $sales->deduction_sale    = $finalValue;
    $sales->name_product_sold = $request->input('product');
    $sales->status_sale       = $request->input('status');
    $sales->sales_customer_id = $customer->customer_id;
 
    $result = $sales->save();

instanciei o Customer e estou tentando pegar o customer_id em baixo, mas está vindo como null

flutter – Como salvar dado tipo map ou array no firestore

Você não pode diretamente inserir uma List de Itens no firebase, você primeiro precisa converter os seus itens para um Map:

class Item {
   String nome;
   int quantidade;

   Item({this.nome, this.quantidade});

   Map<String, dynamic> toMap(){
      return {
        'nome': nome,
        'quantidade': quantidade
      }
  }
}

E non momento de salvar você converte os seus items

createProduto(Produto produto){
  Map<String, dynamic> model = {
    "nome" : produto.nome,
    "descricao" : produto.descricao,
    "precoCompra" : produto.precoCompra,
    "itens" : produto.itens.map((item) => item.toMap()).toList() // <- converte os seus itens para uma List<Map<String, dynamic>>
  };

  // Dê preferência por usar async / await nos seus metodos
  produtoCollection.add(model).whenComplete(() {
     print(produto.nome + ' cadastrado com sucesso!');
  });
}

De uma olhada neste tutorial que vai te ajudar a converter Object a Map ou inversamente, ao invés de ter que escrever para todos os seus modelos os metodos, toMap e fromMap