Jump to content

Carcleo

Members
  • Content count

    1929
  • Joined

  • Last visited

  • Days Won

    1

Everything posted by Carcleo

  1. 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?
  2. 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
  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

    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"); ?>
  5. 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
  6. 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
  7. Carcleo

    mPDF não aceita Style

    Com bordas, tetos girados com css e flexbox? Se for, vou tentatr. Experimta esse com dom
  8. 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.
  9. 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; }
  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. 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?
  12. 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; } } } }
  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. Estou recebendo esse erro do servidor ao tentar conectar via PDO com o mysql no link abaixo http://funerariasaopedro.net.br/crud/ Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY000] [2002] Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)' in /var/www/html/funerariasaopedro.net.br/web/crud/_conexao/Conexao.php:33 Stack trace: #0 /var/www/html/funerariasaopedro.net.br/web/crud/_conexao/Conexao.php(33): PDO->__construct('mysql:?????????...', 'carcleo', 'teste') #1 /var/www/html/funerariasaopedro.net.br/web/crud/cadastraPlanos.php(9): CONEXAO\Conexao->__construct() #2 /var/www/html/funerariasaopedro.net.br/web/crud/index.php(27): require_once('/var/www/html/f...') #3 {main} thrown in /var/www/html/funerariasaopedro.net.br/web/crud/_conexao/Conexao.php on line 33 Classe de conexão: <?php namespace CONEXAO; use PDO; class Conexao { private static $conexao; private static $hostname = "server"; private static $port = 3306; private static $dbname = "db"; private static $username = "user"; private static $password = "senha"; public function __construct() { if (isset(self::$conexao)) { self::$conexao = self::$conexao; } else { try { self::$conexao = new PDO('mysql: host='.self::$hostname.'; port= '.self::$port.'; dbname='.self::$dbname, self::$username, self::$password ); } catch (Exception $e) { self::$conexao = NULL; echo $e->getMessage(); } } } public function abreConexao() { return self::$conexao; } public function fechaConexao () { if (self::$conexao != null) { self::$conexao = null; } } } O que pode ser isso? Obs.: O mesmo código localmente funciona e os dados de conexão estão corretos no servidor. As senhas do servidor já foram testadas ok. A classe abaixo, com os mesmos dados, funciona: <?php class Conexao { private $host = "server"; private $user = "user"; private $password = "senha"; private $db = "db"; private $conexao; public function abreConexao() { if (isset($this->conexao)) { return $this->conexao; } else { $this->conexao = new mysqli($this->host, $this->user, $this->password, $this->db); $this->conexao->set_charset("utf8"); return $this->conexao; } } public function fechaConexao () { if ($this->conexao != null) { $this->conexao = null; } } } ?>
  16. 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
  17. Tenho o arquivo .htaccess abaixo: <IfModule mod_rewrite.c> RewriteEngine On RewriteBase /crud/ #acessa as requisições abaixo #se for um arquivos vazio RewriteCond %{REQUEST_FILENAME} -s [OR] #ou se for um link de referência (simbólico) RewriteCond %{REQUEST_FILENAME} -l [OR] #ou se for um diretório RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^ - [L] RewriteRule ^(.) index.php </IfModule> Na minha classe de Constantes (.php), tenho uma constante: static private $livre = false; E no construtor da classe eu faço a verificação da condição de $livre public function __construct($_util) { if(self::$livre == false) { header("Location: ".$_SERVER["SERVER_PATH"]."/crud/manutencao.php"); exit; } Acontece que quando $livre = true; funciona bem; Porém, quando: $livre = false; não consigo chegar ao arquivo de manutenção como está na classe. Isto é, dá erro de muitas tentativas: Esta página não está funcionando Redirecionamento em excesso por localhost Tente limpar os cookies. ERR_TOO_MANY_REDIRECTS Acho que preciso fazer uma tratativa no arquivo .htaccess para validar a condição de $livre também. Algo como: if ($livre == false) manutenção.php else index.php Mas não sei como fazer isso uma vez que existe no .htaccess a regra dizendo que todas requisições chegarem no index.php;
  18. Carcleo

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

    Fiz a conexão PDO com mysql conforme abaixo baseado no teu código: $dsn = 'mysql:host=' . self::$hostname . '; dbname=' . self::$dbname; $opcoes = array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES UTF8'); self::$conexao = new PDO( $dsn, self::$username, self::$password, $opcoes ); que funciona perfeitamente. Mas se eu colocar o conteúdo da variável $dsn junto à string de conexão conforme abaixo dá erro que me parece ser de concatenação. Por favor me ajuda a descobrir onde está esse erro? $opcoes = array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES UTF8'); self::$conexao = new PDO( "mysql: host=" . self::$hostname . "; dbname=" . self::$dbname, self::$username, self::$password, $opcoes );
  19. Carcleo

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

    Vou ver e já posto retorno!
  20. Carcleo

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

    mesmo assim não dá certo. Lembrando que sem PDO funciona normalmente. Isto é: new mysqli(...) ]com os mesmos dados de coeexao.
  21. Carcleo

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

    Sem a porta eu já tentei e deu erro também. Vou contatar o servidor do UOL HOST e ver como eles qual a porta que eles usam
  22. Carcleo

    Erro na listagem com PDO

    Sim. Mas já já chego lá. Vou usar composer sim.
  23. Carcleo

    Erro na listagem com PDO

    Estou tentando aprender PDO mas estou tendo dificuldades. Tenho 3 arquivos: Planos.php <?php namespace PLANOS; use TABELAS\Tabelas; require_once "Tabelas.php"; class Planos extends Tabelas { public function __construct ($_conexao, $_tabela) { parent::__construct ($_conexao, $_tabela); } } ?> Tabelas.php <?php namespace TABELAS; abstract class Tabelas { private $conexao; private $tabela; private $ultimoCadastrado; public function __construct($_conexao, $_tabela) { $this->conexao = $_conexao; $this->tabela = $_tabela; } public function cadastrar (array $objeto) { $parametros = $valores = ""; foreach ($objeto as $objeto=>$valor): $parametros.= $objeto.","; $valores.= "'".$valor."',"; endforeach; $parametros = substr($parametros,0, -1); $valores = substr($valores,0, -1); $sql = "INSERT INTO ".$this->tabela." (".$parametros.") VALUES (".$valores.")"; $query = $this->conexao->prepare($sql); $execucao = $query->execute(); $this->ultimoCadastrado = $this->conexao->lastInsertId(); return $execucao; } public function ultimoIdCadastrado () { return $this->ultimoCadastrado; } public function editar (array $objeto, $id) { $str = ""; foreach ($objeto as $objeto=>$valor): $str .= $objeto ."='". $valor."',"; endforeach; $str = substr($str, 0, -1); $sql = "UPDATE ".$this->tabela." SET ".$str." WHERE id".ucfirst($this->tabela)."=".$id; $query = $this->conexao->prepare($sql); return $query->execute(); } public function bloquear ($id, $bloqueado) { $sql = "UPDATE ".$this->tabela." SET bloqueado = '".$bloqueado."' WHERE id".$this->tabela." = ".$id; $query = $this->conexao->prepare($sql); return $query->execute(); } public function excluir ($id) { $sql = "DELETE FROM ".$this->tabela." WHERE id".$this->tabela." = ".$id; $query = $this->conexao->prepare($sql); return $query->execute(); } public function listar () { $sql = "SELECT FROM ".$this->tabela; $query = $this->conexao->prepare($sql); $query->execute(); return $query->fetch( PDO::FETCH_ASSOC ); } public function listarId ($id = null) { $sql = "SELECT FROM ".$this->tabela; if ($id != null) $sql .= " WHERE id".ucfirst($this->tabela)."=".$id; $query = $this->conexao->prepare($sql); return $query->execute(); } public function listarParametros ($where) { $sql = "SELECT FROM ".$this->tabela." ".$where; $query = $this->conexao->prepare($sql); return $query->execute(); } } ?> Index.php <?php ini_set("display_errors",true); ini_set("display_startup_erros",1); error_reporting(E_ALL | E_NOTICE | E_STRICT); use PLANOS\Planos; use TABELAS\Tabelas; $conexao = new PDO('mysql:host=localhost;dbname=funeraria2', 'root', 'mysql'); $objeto = array ( "tipo" => 's', "nome" => "Carlos", "login" => "caca", "senha" => "1234", "bloqueado" => "n" ); $objeto2 = array ( "idAdministradores" => 3, "tipo" => 's', "nome" => "Castro", "login" => "abcd", "senha" => "4321", "bloqueado" => "s" ); require_once "Planos.php"; $planos = new Planos($conexao, "administradores"); echo $planos->cadastrar($objeto) ? 1 : 2; echo "<br />"; echo $planos->ultimoIdCadastrado(); echo "<br />"; echo $planos->editar($objeto2, 3) ? 1 : 2; echo "<br />"; echo $planos->bloquear(3, 's') ? 1 : 2; echo "<br />"; echo $planos->excluir(4) ? 1 : 2; echo "<br />"; print "<pre>"; print_r($planos->listar()); print "</pre>"; echo $planos->listar() ? 1 : 2; echo "<br />"; echo $planos->listarId(1) ? 1 : 2; echo "<br />"; echo $planos->listarParametros("WHERE nome = 'Carlos'") ? 1 : 2; echo "<br />"; ?> Quando rodo esse script recebo o erro abaixo: Fatal error: Uncaught Error: Class 'TABELAS\PDO' not found in D:\Trabalhos\host\htdocs\crud\Tabelas.php:102 Stack trace: #0 D:\Trabalhos\host\htdocs\crud\index.php(47): TABELAS\Tabelas->listar() #1 {main} thrown in D:\Trabalhos\host\htdocs\crud\Tabelas.php on line 102 Mas não consigo achar que erro é esse! Engraçado é que só não está fazendo leitura. Mas gravação, exclusão, edição, normal!
  24. Carcleo

    Erro na listagem com PDO

    namespace precisa vir primeiro né? Faltou o use PDO na classe Tabelas.
  25. Carcleo

    Mudar pasta htdocs

    Ok! Não sei porque. Mas após a quarta reinicialização do windows o Apache atualizou o DirectoryRoot Obrigado a todos que quebraram suas cabeças tentando entender o problema!
×

Important Information

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