Error: Command failed: gradlew.bat app:installDebug -PreactNativeDevServerPort=8081

Estava dando o seguinte erro após executar o comando react-native run-android para usar o emulador do Android Studio:

Error: Command failed: gradlew.bat app:installDebug -PreactNativeDevServerPort=8081

 Então, após muito pesquisar, executei as seguintes ações para resolver este problema:


Configurando SDK do Android no Windows

No Painel de Controle do Windows, abra o item “Sistema e Segurança” ou “Sistema”, clique em “Configurações avançadas do sistema”, selecione “Variáveis de ambiente” e clique no botão “Nova variável de ambiente”, indique o nome da variável como ANDROID_HOME, adicione o caminho do Sdk como mostrado na imagem abaixo:

Prompt

Na mesma janela de "Variáveis de ambiente" no Windows, clique na variável PATH e então em "Editar". Haverá uma lista de caminhos e você deve adicionar esses dois novos caminhos no fim da lista:

  1. %ANDROID_HOME%\platform-tools
  2. %ANDROID_HOME%\tools

Se sua versão do Windows for menor que a 10 sempre coloque ponto-e-virgula ";" no final dos caminhos para eles não se juntarem

 Agora, abra seu Prompt de Comando(CMS) como administrador e execute o seguinte comando:

C:\Android\Sdk\tools\bin> .\sdkmanager.bat "platform-tools" "platforms;android-27" "build-tools;27.0.3"

*Aceite todas licenças digitando y quando necessário. 

Após realizar as ações acima, tente novamente executar o comando no Prompt de Comando e verifique se não dará mais erros no emulador do Android Studio:

C:\NomeDoSeuProjetoReactNative_cli>react-native run-android


Caso ainda esteja ocorrendo o mesmo erro, então tente mais esse procedimento abaixo:
 

Baixe e instale o java jdk.
Após
a instalação, siga os passos abaixo.

1. Abra Configurações avançadas do sistema

No Painel de Controle do Windows, abra o item “Sistema e Segurança” ou “Sistema”, clique em “Configurações avançadas do sistema”.

2. Defina a variável de ambiente JAVA_HOME

Na “janela Propriedades do Sistema”, clique em “Variáveis ​​de Ambiente”

variáveis ​​de ambiente da janela de propriedades do sistema

variáveis ​​de ambiente da janela de propriedades do sistema

Em "Variáveis ​​do sistema", clique no botão "Novo ..." e insira JAVA_HOME como "Nome da variável" e o caminho para o diretório Java JDK em "Valor da variável"

Adicionar JAVA_HOME como variável de sistema

Adicionar JAVA_HOME como variável de sistema

3. Atualize o PATH do sistema

1. Na janela "Variáveis ​​de ambiente" em "Variáveis ​​do sistema" selecione o caminho

2. Clique em “Editar…”

3. Na janela “Editar variável de ambiente” clique em “Novo”

4. Digite  %JAVA_HOME%\bin

Atualizar caminho do sistema

Atualizar caminho do sistema

4. Teste sua configuração

Abra um novo prompt de comando e digite:

  1. echo% JAVA_HOME%

isto irá imprimir o diretório que JAVA_HOME aponta ou uma linha vazia se a variável de ambiente não estiver configurada corretamente

Agora digite:

  1. javac -version

isso imprimirá a versão do compilador java se a variável Path estiver definida corretamente ou “javac não é reconhecido como um comando interno ou externo ...” caso contrário. ATUALIZAÇÃO: nos comentários abaixo há várias sugestões para executar o prompt de comando como administrador caso veja a mensagem de erro. Certifique-se de tentar esta opção

Teste JAVA_HOME e caminho do sistema

Teste JAVA_HOME e caminho do sistema

Após realizar as ações acima, tente novamente executar o comando no Prompt de Comando e verifique se não dará mais erros no emulador do Android Studio:

C:\NomeDoSeuProjetoReactNative_cli>react-native run-android

 

CONSULTAS PARA LISTAR TODAS TABELAS DE UM BANCO DE DADOS

Precisei listar todas tabelas do meu banco de dados criado no MySQL, e o exemplo abaixo me foi muito útil.

Oracle

Para listar todas as tabelas:
SELECT tablespace_name, table_name, owner FROM dba_tables;

Para listar todas as tabelas do usuário corrente:
SELECT tablespace_name, table_name, owner FROM user_tables;

Para listar todas as tabelas às quais o usuário tem acesso (sendo ele o owner (dono) ou não):
SELECT tablespace_name, table_name, owner FROM all_tables;

MySQL

Para listar todas as tabelas
SHOW TABLES [from <nome do database>];
ou
SELECT table_schema, table_name, table_type FROM information_schema.tables [WHERE table_schema = <filtro>];

DB2

Para listar todas as tabelas:
db2 list tables for all

Para listar todas as tabelas para um determinado schema (banco):
db2 list tables for schema <nome do schema>

SQL Server

Para listar todas as tabelas de todos os catálogos e schemas:
SELECT table_catalog, table_schema, table_name, table_typeFROM information_schema.tables  [WHERE table_catalog = <filtro>];

PostgreSQL (PG)

Para listar todas as tabelas:
\l ou \dt

Para listar, somente, as tables do banco/schema atual:
\dt

IDENTIFICAR NAVEGADOR COM JAVASCRIPT

Utilizei esta função em um sistema web onde rodava melhor no browser Mozilla Firefox. Então caso o usuário tentasse entrar no sistema por outro browser, o sistema exibiria um alerta informando que o browser utilizado não estava homologado para rodar este sistema.

Segue a função javascript

function identific_nav(){ var nav = navigator.userAgent.toLowerCase(); if(nav.indexOf("msie") != -1){ var browser = "msie"; alert("Este browser("+browser+") não está homologado para rodar este sistema!"); }else if(nav.indexOf("opera") != -1){ var browser = "opera"; alert("Este browser("+browser+") não está homologado para rodar este sistema!"); }else if(nav.indexOf("mozilla") != -1){ if(nav.indexOf("firefox") != -1){ var browser = "firefox"; }else if(nav.indexOf("firefox") != -1){ var browser = "mozilla"; }else if(nav.indexOf("chrome") != -1){ var browser = "chrome"; alert("Este browser("+browser+") não está homologado para rodar este sistema!"); } }else{ alert("Navegador desconhecido!"); } } identific_nav()

ACRESCENTAR AUTOMATICAMENTE COM JAVASCRIPT ZERO A ESQUERDA DO VALOR DIGITADO NO CAMPO

Em um formulário, tenho um campo numérico onde só posso escrever até 3 números, sendo que se escrever somente um número, o campo automaticamente é preenchido com mais dois zeros a esquerda do valor digitado ou dependendo da quantidade de números digitados é acrescentado mais ou menos zeros a esquerda.

Veja o Exemplo de como implementar a função em seu código:

HTML
<input maxlength="3" type="text" onblur='zeroEsquerda(this,3)'>
/// Após digitar neste campo e clicar fora ou passar pra outro campo,  a função zeroEsquerda(this,3) é chamada e passa o objeto do campo e até quantos zeros poderão ser acrescentados a esquerda do número digitado, que nesse caso foi o "3".

FUNÇÃO JAVASCRIPT
function zeroEsquerda(objetoElemento, qtdZero){ qtdZero = qtdZero ? qtdZero : 0; ///se não informar qtdZero então não coloca zero a esquerda var zero = '' for(var i=1; i<=qtdZero; i++){zero += '0'} return objetoElemento.value = (zero + objetoElemento.value).slice(-qtdZero); }

Se este código foi útil ou tem alguma dúvida não esqueça de deixar seu comentário.

SUBSTITUIR ELEMENTO POR OUTRO COM JQUERY JAVASCRIPT

Precisei substitui um elemento por outro e a função jquery .replaceWith foi perfeita pra solucionar meu problema.

HTML:
<span id="Elemento-1"></span>
<div id="Elemento-2"></div>

JAVASCRIPT:
$("#Elemento-1").replaceWith("<div id='Elemento-3'></div>"); ///na linha acima estou pedindo pra substituir o elemento com o id="Elemento-1" pelo html <div id='Elemento-3'></div>
RESULTADO:
<div id="Elemento-3"></div>
<div id="Elemento-2"></div>

Se este código do dia foi útil ou tem alguma dúvida, deixe seu comentário.

REMOVER ESPAÇOS EM BRANCO DUPLICADOS OU REPETIDOS EM JQUERY JAVASCRIPT

Precisei de um comando em jquery para remover os espaços duplicados ou mais entre strings.
Pra quem gosta de expressão regular como eu, então vai gostar deste código. :D

$("#elemento_1").val($(#elemento_1).val().replace(/\s{2,}/g, ' '));
Remove mais de um espaço que tem repetido entre frases que estão no valor texto do #elemento_1 e atualiza o valor do #elemento_1 sem os espaços em branco repetidos, deixando somente um espaçamento entre as frases.

Se este código foi útil ou tem alguma dúvida não esqueça de deixar seu comentário.

VERIFICAR SE STRING CONTÉM SOMENTE NÚMEROS EM JAVASCRIPT

Hoje precisei desta função javascript para verificar se em uma string contém somente números.
A função parece simples mais na hora da correria é de grande ajuda.

function isNumber(n) { return !isNaN(parseFloat(n)) && isFinite(n); } isNumber('123'); // true isNumber('asda123'); // false

COMPARAR DUAS DATAS EM JAVASCRIPT

Uma forma simples e prática de comparar a data de hoje com uma data extraída de um campo input com o jquery $("#dataForm").val() de um formulário.

HTML:
<input id="dataForm" type="date" value="14/05/2020" />

JAVASCRIPT:
var dataForm = $("#dataForm").val().split("/"); var hoje = new Date(); var dataInformada = new Date(dataForm[2], dataForm[1] - 1, dataForm[0]); if (hoje < dataInformada) alerta{ ("Favor informe uma data igual ou menor a data de hoje."); $("#dataAbe").val(''); }

TRANSFERÊNCIA DE ARQUIVOS NO PHP VIA SFTP / SSH

TRANSFERÊNCIA DE ARQUIVOS NO PHP VIA SFTP / SSH

Em um dado momento no desenvolvimento de um sistema, foi preciso criar uma função para transferir arquivo de um servidor para outro, sendo que o servidor só dava suporte a transferência de arquivos via SSH. Foi então que desenvolvi esta função que funcionou perfeitamente.

///////////ENVIO VIA SSH////////
                $serverHost = seusite.com.br;
                $serverUser = 'seuLoginSFTP';
                $serverPass = 'senhaDoLoginSFTP';
                $diretorioLocal = 'arquivoTemporario/meuArquivo.txt'
                $diretorioRemoto = 'var/www/diretorioDestinoServidorExterno/meuArquivo.txt';

                /* Faz a conexão com o servidor remoto */
                if (!$ssh = @ssh2_connect($serverHost, 22)) {
                     SingletonPDO :: rollbackTrans();
                    $xml .= "<erro>ERRO AO ABRIR CONEXÃO SSH COM SERVER $servidor!</erro>";
                    die("$xml\n");
                }

                /* Faz a autenticação no servidor remoto */
                if (!@ssh2_auth_password($ssh, $serverUser, $serverPass)) {
                     SingletonPDO :: rollbackTrans();
                    $xml .= "<erro>ERRO AO TENTAR AUTENTICAR O USUARIO SSH AO SERVER $serverHost!</erro>";
                    die("$xml\n");
                }

                /**
                 * Copia o arquivo do servidor local para o servidor remoto.
                 * As permissões são opcionais
                 */
                if (!@ssh2_scp_send($ssh, $diretorioLocal, $diretorioRemoto, 0644)) {
                     SingletonPDO :: rollbackTrans();
                    $xml .= "<erro>ERRO AO ENVIAR ARQUIVO VIA SSH AO SERVIDOR $servidor! - $diretorioLocal - $diretorioRemoto</erro>";
                    die("$xml\n");
                }

///////////////////////////////////////

FUNÇÃO JQUERY WRAPALL() PARA ADICIONAR ELEMENTO PAI EM FILHO OU SEJA ACIMA DO ELEMENTO INFORMADO

FUNÇÃO JQUERY WRAPALL() PARA ADICIONAR ELEMENTO PAI EM FILHO OU SEJA ACIMA DO ELEMENTO INFORMADO Segue o Exemplo:

No HTML

<div id="PAI">Este elemento ainda não virou filho</div>

NO JAVASCRIPT

$("#PAI").wrapAll("<div id='PaiDoPai'>")
///observe que não precisa fechar a div(PaiDoPai) pois a função wrapAll ja sabe que o elemento PaiDoPai deve ser fechado após o elemento informado PAI

RESULTADO HTML

<div id='PaiDoPai'>
<div id="PAI">Este elemento ainda não virou filho</div>
</div>