Jump to content

Carcleo

Members
  • Content count

    1929
  • Joined

  • Last visited

  • Days Won

    1

Carcleo last won the day on October 13 2014

Carcleo had the most liked content!

Community Reputation

4 Comum

5 Followers

About Carcleo

  • Birthday 12/20/1970

Informações Pessoais

  • Localização
    Muriae/MG

Recent Profile Visitors

1853884 profile views
  1. Carcleo

    Ajuda na instalação da biblioteca cURL no Windows

    Não uso xamp nem wamp. Eu instalei separadamente Apache + PHP + MySQL. Já existe a dll php_curl.dll na pasta ext. Alinha ;extension=php_curl.dll não existe no php.ini do PHP 7.3.4, Eu inseri manualmente. Sim, sem o ; O que tem lá é ;extension=curl apenas
  2. Parece brincadeira, mas estou fazem 3 dias tentando instalar a cURL e não consigo Windows 10 Pro Apache 2.4 Php 7.3.4 MySQL 8.0.15.0 Tentativas: 1) libeay32.dll, msvcr71.dll, ssleay32.dll e php_curl.dll coladas na pasta system32 e adicionadas ao PATH do Windows 2) Baixei a biblioteca cURL do site https://curl.haxx.se/, cliquei em curl.exe e nada acontece. 3) ;extension=CURL e ;extension=php_curl.dll descomentadas no php.ini (Embora a linha ;extension=php_curl.dll não exista nessa versão do PHP eu inserí ela na lista) 4) Confirmado de que o php.ini é o correto. Agora só faltam 2 tentativas A) Apelar para a fé. B) Instalar Apache e PHP antigos pois lembro-me que usei em um projeto fazem uns anos e funcionava de boa. Mas não gostara de voltar no tempo. Claro que essas 2 foram só para descontrair! Alguém me ajuda? Ode estou errando?
  3. Carcleo

    mPDF Rotacionar texto na célula

    Estou tentando rotacionar um texto no PDF com mPDF mas não estou conseguindo. $css = ' <style> ul { } ul li { float: left; list-style: none; /*necessáro width no campo */ } ul li span.vertical { display: block; //transform: rotate(270deg); /*necessáro display: block*/ text-rotate : 270; } </style>'; $html = ' <ul> <li style="width: 150px"><span class="vertical">Elefante</span></li> <li style="width: 150px"><span>Não</span></li> <li style="width: 150px"><span>Come</span></li> <li style="width: 150px"><span class="vertical">Bananada</span></li> </ul>'; require_once "../vendor/autoload.php"; $pdf = new \Mpdf\Mpdf(['debug' => true]); $pdf->AddPage(); $pdf->charset_in = "UTF-8"; $pdf->SetFont('Arial','B',16); $pdf->WriteHTML( $css, 1 ); $pdf->WriteHTML( $html ); $pdf->Output(); Obs.: O restante do estilo funciona normal. O problema é apenas no PDF. No navegador, os spans giram normalmente.
  4. Carcleo

    mPDF não aceita Style

    porque sem ele a tabela vai Como assi a tabela vai: Sem o style tabelas sai deformada, linha por linha, sem as brodas, etc... Não? testa aí pra ver sem essa parte toda do style. Como assim. Não entendi. O Css já está pequeno! Ola como devea ser a saida::No HTML sai assim mas no PDF não
  5. Carcleo

    mPDF não aceita Style

    O meu está assim também. O problema é o HTML. A tabela Por favor, tenta com ela também. Ou ela foi para a folha 2? Parece que sairam 2 folhas no teu PDF. Se foram 2 fohas, Vêja se a tabela saiu perfeita. Tipo, com os textos do cabeçaho na vertial e tals. Outa coisa, sobre o fechamento <style>. realmente havia me esquecido. Mas não fez diferença. É como se o mPDF não estivesse lendo o CSS
  6. Carcleo

    mPDF não aceita Style

    Com bordas, tetos girados com css e flexbox? Se for, vou tentatr. Experimta esse com dom
  7. Carcleo

    mPDF não aceita Style

    Gostaria de saber porque o mPDF, nesse meu código, não está aceitando o CSS ao gerar o PDF. Obs.: no navegador, sai tudo normal mas quando a exibição é no PDF é que nõ funcinam os estilos. <?php $css = " img { max-width: 100%; } ul { list-style: none; } div.relatorio { width: 95%; margin: 0 auto; } div.relatorio ul.border { border: .1px rgb(0,0,0) solid; background-color: black; } div.relatorio .centralizado { text-align: center !important; } div.relatorio .backCinza { background-color: rgb(217,217,217); } div.relatorio ul.ulInlineBlock li { display: inline-block; } div.relatorio ul.lancamento li, div.relatorio ul.resumo li { height: 100%; line-height: 18px; font-size: .85em; border-left: .1px rgb(0,0,0) solid; text-align: center; vertical-align: middle; } div.relatorio ul.lancamento li { width: 113.5px !important; } div.relatorio ul.resumo li { width: 150px !important; } div.relatorio ul.lancamento li:first-child, div.relatorio ul.resumo li:first-child { border-left: none; } .erro, .hCentralizadoAvisos { color: rgb(255,0,0); } .hCentralizado, .hCentralizadoAvisos, .erro { width: auto; line-height: 50px; text-align: center; margin: 0 auto; } .labelPequeno { width: 150px; height: 30px; padding: 3px; display: inline-block; } span.vertical { -webkit-writing-mode: vertical-lr; -ms-writing-mode: tb-lr; writing-mode: vertical-lr; -webkit-transform: rotate(180deg); -ms-transform: rotate(180deg); transform: rotate(180deg); } span.comum { } div.cabecalhoVertical { display: -webkit-box; display: -ms-flexbox; display: flex; margin: 0 auto; width: 800px; height: 220px; border: .1px rgb(0,0,0) solid; } div.cabecalhoVertical div { display: -webkit-box; display: -ms-flexbox; display: flex; border-right: .1px rgb(0,0,0) solid; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; } div.cabecalhoVertical div span { text-align: center; font-weight: bolder; } "; $html = " <div class='relatorio'> <img src='http://www.wesleyanagceu.com.br/_imgs/gceu.png' /> <h1>Relatório Mensal</h1> <br><br> <div class='cabecalhoVertical'> <div style='width:100px;'><span class='comum' >Nome do Gcéu</span></div> <div style='width:100px;'><span class='vertical'>Supervisor</span></div> <div style='width:100px;'><span class='comum' >Líder</span></div> <div style='width:050px;'><span class='vertical'>Houve Supervisão</span></div> <div style='width:050px;'><span class='vertical'>Houve dia de Jejum</span></div> <div style='width:050px;'><span class='vertical'>Houve dia de Evangelismo</span></div> <div style='width:050px;'><span class='vertical'>Membros Compromissados</span></div> <div style='width:050px;'><span class='vertical'>Visitantes</span></div> <div style='width:050px;'><span class='vertical'>Crianças de 0 à 12 anos</span></div> <div style='width:050px;'><span class='vertical'>Total de presentes</span></div> <div style='width:050px;'><span class='vertical'>Ofertas</span></div> <div style='width:050px;'><span class='vertical'>Disicpulados</span></div> <div style='width:050px;'><span class='vertical'>Número de decisões</span></div> </div> <div class='border cabecalhoVertical' style='backgroud-color:none; height: 50px !important;'> <div style='width:100px;'><span class='comum'>Célula 1</span></div> <div style='width:100px;'><span class='comum'>Cleonice</span></div> <div style='width:100px;'><span class='comum'>Jonas</span></div> <div style='width:050px;'><span class='comum'>Não</span></div> <div style='width:050px;'><span class='comum'>Não</span></div> <div style='width:050px;'><span class='comum'>Não</span></div> <div style='width:050px;'><span class='comum'>50</span></div> <div style='width:050px;'><span class='comum'>10</span></div> <div style='width:050px;'><span class='comum'>13</span></div> <div style='width:050px;'><span class='comum'>73</span></div> <div style='width:050px;'><span class='comum'>22,65</span></div> <div style='width:050px;'><span class='comum'>2</span></div> <div style='width:050px;'><span class='comum'>11</span></div> </div> <div class='border cabecalhoVertical' style='backgroud-color:none; height: 50px !important;'> <div style='width:100px;'><span class='comum'>Celula 2</span></div> <div style='width:100px;'><span class='comum'>Carlos</span></div> <div style='width:100px;'><span class='comum'>Jonas</span></div> <div style='width:050px;'><span class='comum'>Não</span></div> <div style='width:050px;'><span class='comum'>Não</span></div> <div style='width:050px;'><span class='comum'>Não</span></div> <div style='width:050px;'><span class='comum'>10</span></div> <div style='width:050px;'><span class='comum'>5</span></div> <div style='width:050px;'><span class='comum'>3</span></div> <div style='width:050px;'><span class='comum'>18</span></div> <div style='width:050px;'><span class='comum'>78,39</span></div> <div style='width:050px;'><span class='comum'>3</span></div> <div style='width:050px;'><span class='comum'>1</span></div> </div> <div class='border cabecalhoVertical' style='backgroud-color:none; height: 50px !important;'> <div style='width:100px;'><span class='comum'>Celula TOP</span></div> <div style='width:100px;'><span class='comum'>Carlos</span></div> <div style='width:100px;'><span class='comum'>Carlos</span></div> <div style='width:500px;'><span class='comum'>Não houve Reuniões para esse Gcéu</span></div> </div> <div class='border cabecalhoVertical' style='backgroud-color:none; height: 50px !important;'> <div style='width:100px;'><span class='comum'>Jesuita</span></div> <div style='width:100px;'><span class='comum'>Josefina Etelvina</span></div> <div style='width:100px;'><span class='comum'>Josefina Etelvina</span></div> <div style='width:500px;'><span class='comum'>Não houve Reuniões para esse Gcéu</span></div> </div> <div class='border cabecalhoVertical' style='backgroud-color:none; height: 50px !important;'> <div style='width:100px;'><span class='comum'>Tassito</span></div> <div style='width:100px;'><span class='comum'>Carlos</span></div> <div style='width:100px;'><span class='comum'>Carlos</span></div> <div style='width:500px;'><span class='comum'>Não houve Reuniões para esse Gcéu</span></div> </div> </div>"; require_once "../_scripts/_php/_configuracoes/erros.php"; require_once "../vendor/autoload.php"; $pdf = new \Mpdf\Mpdf(['debug' => true]); $pdf->AddPage(); $pdf->charset_in = "UTF-8"; $pdf->SetFont('Arial','B',16); $pdf->WriteHTML( $css, 1 ); $pdf->WriteHTML( $html ); $pdf->Output("relatorio.pdf","D"); ?>
  8. Carcleo

    Dificuldades com FlexBox e UL

    Cara, muiito top. Ops, muito jóia. Obrigado! Essa prética, eu tamém uso. Mas estava fazendo esse texte em um arquivb seprsdo e nele e não coloquei o resset * { margin: 0; padding: 0; }
  9. Carcleo

    Dificuldades com FlexBox e UL

    Pessoal, estou com uma dúvida que está me tirando o sono! Então, vou exibir 2 situações com Flexbox onde 1 delas está dando uma falha. (Será mesmo?). Nessa versão, com DIV's, tudo funciona bem: CSS: span.vertical { writing-mode: vertical-lr; transform: rotate(180deg); } span.comum { } div.cabecalhoVertical{ display: flex; height: 200px; border: .1px rgb(0,0,0) solid; } div.cabecalhoVertical div { display: flex; flex-grow: 1; list-style: none; border-right: .1px rgb(0,0,0) solid; align-items: center; justify-content: center; } div.cabecalhoVertical div span { text-align: center; font-weight: bolder; } HTML: <div class='cabecalhoVertical'> <div style='width:215px;'><span class='comum' >Nome do Gcéu </span></div> <div style='width:215px;'><span class='vertical'>Supervisor</span></div> <div style='width:215px;'><span class='comum' >Líder</span></div> <div style='width:035px;'><span class='vertical'>Houve Supervisão?</span></div> <div style='width:035px;'><span class='vertical'>Houve dia de Jejum?</span></div> <div style='width:035px;'><span class='vertical'>Houve dia de Evangedismo?</span></div> <div style='width:035px;'><span class='vertical'>Membros Compromissados</span></div> <div style='width:035px;'><span class='vertical'>Visitantes</span></div> <div style='width:035px;'><span class='vertical'>Crianças de 0 à 12 anos</span></div> <div style='width:035px;'><span class='vertical'>Total de presentes</span></div> <div style='width:035px;'><span class='vertical'>Ofertas</span></div> <div style='width:035px;'><span class='vertical'>Disicpulados</span></div> <div style='width:035px;'><span class='vertical'>Número de decisões</span></div> </div> Resultado: Agora com UL -> A falha: CSS: span.vertical { writing-mode: vertical-lr; transform: rotate(180deg); } span.comum { } ul.cabecalhoVertical{ display: flex; height: 200px; border: .1px rgb(0,0,0) solid; } ul.cabecalhoVertical li { display: flex; flex-grow: 1; list-style: none; border-right: .1px rgb(0,0,0) solid; align-items: center; justify-content: center; } ul.cabecalhoVertical li span { text-align: center; font-weight: bolder; } HTML: <ul class='cabecalhoVertical'> <li style='width:215px;'><span class='comum' >Nome do Gcéu </span></li> <li style='width:215px;'><span class='vertical'>Supervisor</span></li> <li style='width:215px;'><span class='comum' >Líder</span></li> <li style='width:035px;'><span class='vertical'>Houve Supervisão?</span></li> <li style='width:035px;'><span class='vertical'>Houve dia de Jejum?</span></li> <li style='width:035px;'><span class='vertical'>Houve dia de Evangedismo?</span></li> <li style='width:035px;'><span class='vertical'>Membros Compromissados</span></li> <li style='width:035px;'><span class='vertical'>Visitantes</span></li> <li style='width:035px;'><span class='vertical'>Crianças de 0 à 12 anos</span></li> <li style='width:035px;'><span class='vertical'>Total de presentes</span></li> <li style='width:035px;'><span class='vertical'>Ofertas</span></li> <li style='width:035px;'><span class='vertical'>Disicpulados</span></li> <li style='width:035px;'><span class='vertical'>Número de decisões</span></li> </ul> Percebam agora na print como aparece um bloco adicional no lado esquerdo antes da primeira LI Gostaria de saber 2 coisas: 1) Porquê isso acontece uma vez que list-style está setado para none nas LI's? 2) Como corrigir essa falha? Obrigado a quem puder ajudar.
  10. Carcleo

    limpar campos póstumos

    jQuery: // JavaScript Document $(document).ready(function (e) { $("#idPastor").on("change", function () { $.ajax({ url: "_scripts/_php/_validacoes/buscarDadosRedes.php", type: "POST", dataType: "json", data: { idPastor: $("#idPastor").val() }, beforeSend: function() { $("#imgCarregando").css('display','block'); }, success: function (result) { $("#imgCarregando").css('display','none'); $('#idRede').find('option').remove(); if (result == null){ $("#idRede").append("<option value=>Sem Redes</option>"); } else { $("#idRede").append("<option value=>Escolha a Rede</option>"); result.forEach(function(option){ $("#idRede").append("<option value=" + option["idRede"] + ">" + option["nome"] + "</option>") }); } } }); }); $("#idRede").on("change", function () { $.ajax({ url: "_scripts/_php/_validacoes/buscarDadosRegioes.php", type: "POST", dataType: "json", data: { idRede: $("#idRede").val() }, beforeSend: function() { $("#imgCarregando").css('display','block'); }, success: function (result) { $("#imgCarregando").css('display','none'); $('#idRegiao').find('option').remove(); if (result == null){ $("#idRegiao").append("<option value=>Sem Regiões</option>"); } else { $("#idRegiao").append("<option value=>Escolha a Região</option>"); result.forEach(function(option){ $("#idRegiao").append("<option value=" + option["idRegiao"] + ">" + option["nome"] + "</option>") }); } } }); }); $("#idRegiao").on("change", function () { $.ajax({ url: "_scripts/_php/_validacoes/buscarDadosAreas.php", type: "POST", dataType: "json", data: { idRegiao: $("#idRegiao").val() }, beforeSend: function() { $("#imgCarregando").css('display','block'); }, success: function (result) { $("#imgCarregando").css('display','none'); $('#idArea').find('option').remove(); if (result == null){ $("#idArea").append("<option value=>Sem Áreas</option>"); } else { $("#idArea").append("<option value=>Escolha a Área</option>"); result.forEach(function(option){ $("#idArea").append("<option value=" + option["idArea"] + ">" + option["nome"] + "</option>") }); } } }); }); $("#idArea").on("change", function () { $.ajax({ url: "_scripts/_php/_validacoes/buscarDadosSetores.php", type: "POST", dataType: "json", data: { idArea: $("#idArea").val() }, beforeSend: function() { $("#imgCarregando").css('display','block'); }, success: function (result) { $("#imgCarregando").css('display','none'); $('#idSetor').find('option').remove(); if (result == null){ $("#idSetor").append("<option value=>Sem Setores</option>"); } else { $("#idSetor").append("<option value=>Escolha a Setor</option>"); result.forEach(function(option){ $("#idSetor").append("<option value=" + option["idSetor"] + ">" + option["nome"] + "</option>") }); } } }); }); $("#idSetor").on("change", function () { $.ajax({ url: "_scripts/_php/_validacoes/buscarDadosCelulas.php", type: "POST", dataType: "json", data: { idSetor: $("#idSetor").val() }, beforeSend: function() { $("#imgCarregando").css('display','block'); }, success: function (result) { $("#imgCarregando").css('display','none'); $('#idCelula').find('option').remove(); if (result == null){ $("#idCelula").append("<option value=>Sem Celulas</option>"); } else { $("#idCelula").append("<option value=>Escolha a Célula</option>"); result.forEach(function(option){ $("#idCelula").append("<option value=" + option["idCelula"] + ">" + option["nome"] + "</option>") }); } } }); }); }); Esse script, faz a população via $.ajax do jQuery de combos no form. Tudo funciona bem. Mas considere o o form abaixo: Imagine o que o usuário preencheu todos os campos e de repente resolve tocar a opção do select de Redes como está na figura. Porém, a opção Rede 2 NÃO possui Regiões Cadastradas ainda. No entanto, note que todos os campos abaixo estão preenchidos e isso não negaria um possível submit do form com dados errados? Ainda, imagine a situação onde a opção Rede 2 POSSUI outas Regiões Cadastradas o que comprometeria a escolha dos selects que seguem Como contornar esse problema?
  11. Carcleo

    Buffering em MediaPlayer

    Tenho um objeto MediaPlayer mPlayer = new MediaPlayer(); Objetivo: Tocar o Streaming de uma Web Rádio e funciona corretamente. Porém, quando clico em Play, leva um tempo até que a Rádio Web comece a tocar. Existe alguma forma de enquanto o streaming estiver carregando, eu pegar o percentual para passar para uma SeekBar por exemplo?, Como? Segue o que eu já fiz: package carcleo.com.player; import android.app.NotificationManager; import android.app.PendingIntent; import android.app.ProgressDialog; import android.app.TaskStackBuilder; import android.content.Context; import android.content.Intent; import android.media.AudioManager; import android.media.MediaPlayer; import android.media.MediaPlayer.OnBufferingUpdateListener; import android.os.AsyncTask; import android.os.Build; import android.support.annotation.RequiresApi; import android.support.v4.app.NotificationCompat; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.Button; import android.widget.SeekBar; import android.widget.TextView; import java.io.IOException; public class player extends AppCompatActivity implements OnBufferingUpdateListener{ private MediaPlayer mPlayer; private String URL; private Button btnPlayPause; private Boolean conexao = false; private SeekBar sb; private TextView textView; private TextView textView2; private TextView textView3; private NotificationManager mNotificationManager; private AudioManager audioManager; private ProgressDialog progressDialog; @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP) @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.player); sb = findViewById(R.id.seekBar); textView = findViewById(R.id.textView); textView2 = findViewById(R.id.textView2); textView3 = findViewById(R.id.textView3); progressDialog = new ProgressDialog(this); btnPlayPause = (Button) findViewById(R.id.btnPlayPause); btnPlayPause.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { try { tocaPausa(); } catch (IOException e) { e.printStackTrace(); } } }); configuraAudioManager(); } private void tocaPausa() throws IOException { if (conexao == true) { if (!mPlayer.isPlaying()) { mPlayer.start(); btnPlayPause.setBackgroundResource(R.drawable.pause); } else { mPlayer.pause(); btnPlayPause.setBackgroundResource(R.drawable.play); } } else { String url = "rtsp://cdn-the-2.musicradio.com:80/LiveAudio/Capital"; // your URL here new Play().execute(url); } } private void configuraAudioManager() { audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE); int maxVolume = audioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC); int volume = audioManager.getStreamVolume(AudioManager.STREAM_MUSIC); sb.setMax(maxVolume); sb.setProgress(volume); sb.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() { @Override public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { audioManager.setStreamVolume(AudioManager.STREAM_MUSIC, progress, AudioManager.FLAG_SHOW_UI); Double total = progress * 6.666666666666667; String valor =Integer.toString(Integer.valueOf(total.intValue())); textView.setText(valor+" %"); } @Override public void onStartTrackingTouch(SeekBar seekBar) {} @Override public void onStopTrackingTouch(SeekBar seekBar) {} }); } @RequiresApi(api = Build.VERSION_CODES.JELLY_BEAN) private void notificacao (){ NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(this) .setSmallIcon(R.drawable.home) .setContentTitle("Rádio Capital") .setContentText("Agora deu"); Intent resultIntent = new Intent(this, player.class); TaskStackBuilder stackBuilder = TaskStackBuilder.create(this); stackBuilder.addParentStack(player.class); stackBuilder.addNextIntent(resultIntent); PendingIntent resultPendingIntent = stackBuilder.getPendingIntent(0, PendingIntent.FLAG_UPDATE_CURRENT); mBuilder.setContentIntent(resultPendingIntent); mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); mNotificationManager.notify(1, mBuilder.build()); } private void contaBuffer () { textView2.setText(Integer.toString(mPlayer.getDuration())); mPlayer.setOnBufferingUpdateListener( new MediaPlayer.OnBufferingUpdateListener() { public void onBufferingUpdate(MediaPlayer mp, int percent) { double ratio = percent / 100.0; int bufferingLevel = (int)(mp.getDuration() * ratio); sb.setSecondaryProgress(bufferingLevel); textView2.setText(Integer.toString(bufferingLevel)); } } ); } public void mostraBuffer() { mPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() { @Override public void onPrepared(MediaPlayer mediaPlayer) { mediaPlayer.setOnInfoListener(new MediaPlayer.OnInfoListener() { @Override public boolean onInfo(MediaPlayer mp, int what, int extra) { if (what == MediaPlayer.MEDIA_INFO_BUFFERING_END){ progressDialog.dismiss(); return true; } else if(what == MediaPlayer.MEDIA_INFO_BUFFERING_START){ progressDialog.show(); } return false; } }); } }); } @Override public void onBufferingUpdate(MediaPlayer mp, int percent) { textView3.setText(Integer.toString(percent)); } class Play extends AsyncTask<String, Void ,Boolean > { @Override protected void onPreExecute() { btnPlayPause.setBackgroundResource(R.drawable.carregando); btnPlayPause.setEnabled(false); } @Override protected Boolean doInBackground(String... params) { try { mPlayer = new MediaPlayer(); mPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC); mPlayer.setDataSource(params[0]); mostraBuffer(); mPlayer.prepare(); // might take long! (for buffering, etc) return true; } catch (IOException e) { e.printStackTrace(); } return false; } @Override protected void onPostExecute(Boolean result) { if (result == true){ btnPlayPause.setEnabled(true); mPlayer.start(); conexao = true; btnPlayPause.setBackgroundResource(R.drawable.pause); contaBuffer(); } else { conexao = false; } } } }
  12. Olá, tenho o form abaixo onde eu leio um json à partir de um endereço na web http://www.hotplateprensas.com.br/ws/clientest.php que me entrega uma string json do tipo { "clientes":[ { "idClientesT":"1", "tipo":"s", "nome":"Carlos"}, { "idClientesT":"2", "tipo":"s", "nome":"Rogério" } ] } Então, pego ela no AndroidStudio com a Activity abaixo: package carcleo.com.radiosingular; import android.os.Bundle; import android.os.StrictMode; import android.support.v7.app.AppCompatActivity; import android.util.Log; import android.view.View; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; import carcleo.com.radiosingular.classes.JsonClass; public class form extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.form); } public void listaClientes (View View) { if (android.os.Build.VERSION.SDK_INT > 9){ StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build(); StrictMode.setThreadPolicy(policy); } String url = "http://hotplateprensas.com.br/ws/clientest.php"; JsonClass json = new JsonClass(); JSONObject clientesLista = json.getJSONFromUrl(url); clientes(clientesLista); } public void clientes(JSONObject jsonCli) { try { JSONArray arrayPlanetas = jsonCli.getJSONArray("clientes"); for (int i = 0; i < arrayPlanetas.length(); i++) { JSONObject cliente = arrayPlanetas.getJSONObject(i); Log.d("idClientesT", cliente.getString("idClientesT")); Log.d("tipo", cliente.getString("tipo")); Log.d("nome", cliente.getString("nome")); } } catch (JSONException e) { e.printStackTrace(); } } } Esse código funciona normalmente.Porém, é preciso colocar o trecho de código abaixo; if (android.os.Build.VERSION.SDK_INT > 9){ StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build(); StrictMode.setThreadPolicy(policy); } Senão, a conexão com a internet NÃO é estabelecida. No entanto, eu já adicionei a permissão de acesso à INTERNET no AndroidManifest. <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="carcleo.com.radiosingular"> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/AppTheme"> <activity android:name=".login"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".principal" /> <activity android:name=".form" /> <activity android:name=".retrofit" /> </application> </manifest> Mas não adianta. Se eu retirar esse bloco de código if (android.os.Build.VERSION.SDK_INT > 9){ StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build(); StrictMode.setThreadPolicy(policy); } A conexão com a INTERNET não acontece. O problema é que quantas vezes eu precisar acessar à INTERNET será o mesmo número de vezes que terei que fazer uso desse trecho de código? Será que não existe um arquivo de configuração geral para isso no AndroidStudio?
  13. Boa Noite! Estou iniciando na arte do Android Studio e estou apanhando bastante e venho em busca de ajuda. Tenho um formulário (Activity) de login. 2 campos: login e senha e 1 botão Quando compilo os campos ficam um sobre o outro. Eis o xml <?xml version="1.0" encoding="utf-8"?> <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".Login"> <TextView android:id="@+id/textView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="LOGON" tools:layout_editor_absoluteX="162dp" tools:layout_editor_absoluteY="16dp" /> <EditText android:id="@+id/editText" android:layout_width="wrap_content" android:layout_height="wrap_content" android:ems="10" android:inputType="textPersonName" android:text="Usuário" tools:layout_editor_absoluteX="83dp" tools:layout_editor_absoluteY="61dp" /> <EditText android:id="@+id/editText2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:ems="10" android:inputType="textPassword" tools:layout_editor_absoluteX="80dp" tools:layout_editor_absoluteY="129dp" /> <Button android:id="@+id/button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Login" tools:layout_editor_absoluteX="147dp" tools:layout_editor_absoluteY="201dp" /> </android.support.constraint.ConstraintLayout> E o .java package carcleo.com.cadastrodeclientes; import android.app.Activity; import android.os.Bundle; public class Login extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.login); } } O que estou errando?
  14. Carcleo

    conexão remota não funciona. Só local

    O erro estava em que na variável que abriga o DSN NÃO pode haver quebras de linha. Soução: new PDO( "mysql:host=".self::$hostname.";dbname=". self::$dbname, self::$username, self::$password, $opcoes);
  15. RewriteEngine On RewriteBase /crud/ # TODAS URLS CAEM NO INDEX. RewriteCond %{SCRIPT_FILENAME} !-f RewriteCond %{SCRIPT_FILENAME} !-d RewriteRule ^([^/]*)$ index.php [L] # SE POR ACASO, A URL FOR manutencao.php, LIBERA ACESSO A ELA # NESSE CASO, FICA ÓBVIO QUE PARA TODAS AS PÁGINA PRECISARÁ HAVER UM REDIRECIONAMENTO # À manutenção.php. SENÃO, NÃO FUNCIONARÁ! RewriteCond %{HTTP_HOST} ^manutencao.php [NC] RewriteRule ^(.*)$ manutencao.php/$1 [L,R=301] # ROTAS DE ERROS ErrorDocument 401 http://localhost/crud/401.php ErrorDocument 403 http://localhost/crud/403.php ErrorDocument 404 http://localhost/crud/404.php ErrorDocument 500 http://localhost/crud/500.php
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.