Ir para conteúdo

Carcleo

Members
  • Total de itens

    1927
  • Registro em

  • Última visita

  • Dias vencidos

    1

Carcleo venceu o dia em Outubro 13 2014

Teve o conteúdo mais curtido

Reputação

4 Comum

5 Seguidores

Sobre Carcleo

  • Data de Nascimento 12/20/1970

Informações Pessoais

  • Localização
    Muriae/MG

Últimos Visitantes

1853699 visualizações
  1. 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.
  2. 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
  3. 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
  4. Carcleo

    mPDF não aceita Style

    Com bordas, tetos girados com css e flexbox? Se for, vou tentatr. Experimta esse com dom
  5. 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"); ?>
  6. 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; }
  7. 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.
  8. 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?
  9. 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; } } } }
  10. Carcleo

    Conexão com a INTERNET no Android Studio

    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?
  11. Carcleo

    Campos sobrepostos e gira e some botão

    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?
  12. 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);
  13. Carcleo

    Como tratar (esse tipo de) redirecionamento no .htaccess?

    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
  14. 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;
  15. 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 );
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.