<?xml version="1.0"?>
<rss version="2.0"><channel><title>Android Latest Topics</title><link>https://forum.imasters.com.br/forum/335-android/</link><description>Android Latest Topics</description><language>en</language><item><title>Desenvolvimento de app similar ao TikTok</title><link>https://forum.imasters.com.br/topic/587502-desenvolvimento-de-app-similar-ao-tiktok/</link><description><![CDATA[<p>
	Já fui censurado 3 vezes no TikTok, sem contar outras vezes noutras redes como Facebook e YouTube.<br />
	Dado que a liberdade de expressão é um princípio básico e inerente à natureza humana, quero desenvolver um app cuja censura não ocorra em decorrência de opinião política ou religiosa ou porque tal opinião distoa daquela dos mantenedores do app, mas por realmente infringir as leis do país.<br /><br />
	Só para explicar e mostrar o nível de censura que chegamos nas redes, exponho o conteúdo dos vídeos censurados no TikTok:<br />
	1 - Vídeo censurado pois mostrei que o preço do combustível é composto por mais de 35% de impostos (16/07)<br />
	2 - Vídeo censurado pois mostrei que o governo argentino comprou 10.000 pênis de madeira por milhões de pesos argentinos, ao passo que as pessoas lá estão morrendo de fome (23/07)<br />
	3 - Vídeo censurado pois falei duma professora vereadora que quer implantar a ideologia de gênero nas escolas, e me posicionei contra esta doutrinação (26/07)<br /><br />
	O conteúdo destes vídeos pode ser analisado em meu Feed no Facebook: <a href="https://www.facebook.com/marcos.pelegrino.35/" rel="external nofollow">https://www.facebook.com/marcos.pelegrino.35/</a><br /><br />
	Ora, para mim não importa a posição política, religiosa, sexual etc. das pessoas, mas que tenham direito à liberdade de expressão: e, infelizmente, conservadores estão sendo tolhidos nas redes.
</p>]]></description><guid isPermaLink="false">587502</guid><pubDate>Tue, 27 Jul 2021 17:46:30 +0000</pubDate></item><item><title>Problema ao conectar aplica&#xE7;&#xE3;o React Native no celular</title><link>https://forum.imasters.com.br/topic/588213-problema-ao-conectar-aplica%C3%A7%C3%A3o-react-native-no-celular/</link><description><![CDATA[
<p>
	Estou usando o Expo go na minha aplicação React Native e fiz tod a instalação corretamente, o problema esta na hora de conectar o celular com essa aplicação. No terminal não me retorna erro, o erro vem no aplicativo expo go onde scaneio em QrCode para apresentar o app no celular.
</p>

<p>
	Vou deixar aqui o erro que retorna no app do Expo Go.
</p>

<p>
	 
</p>

<p>
	<strong>==Uncaught Error: java.net.SocketTimeoutException:failed to connect to xxxx/172.17.42.26 (port 19000) from localAddress() (port 49816) after 10000ms</strong>
</p>

<p>
	 
</p>

<p>
	Node, rpm e expo já estão instalados no meu wsl, o problema mesmo é conectar com o celular. Seguem o meu terminal, não retorna erro.
</p>

<p>
	<img class="ipsImage ipsImage_thumbnailed" data-fileid="5657" src="https://forum.imasters.com.br/uploads/monthly_2022_08/image.png.df9fde14ecbee6ed3da8807275fccb27.png" alt="image.png.df9fde14ecbee6ed3da8807275fccb27.png" /></p>
]]></description><guid isPermaLink="false">588213</guid><pubDate>Thu, 18 Aug 2022 23:57:56 +0000</pubDate></item><item><title>Problema com SDK unity.ads</title><link>https://forum.imasters.com.br/topic/588126-problema-com-sdk-unityads/</link><description><![CDATA[
<p>
	Como podem ver a google não aceita mais a SDK da unity ads por motivos da empresa
</p>

<p>
	Então resolvi remover toda a SDK do meu código. Libs,linhas de comando, tudo. e mesmo assim ainda ela acusa que tenho a sdk dentro do meu app
</p>

<p>
	Já tenho mais ou menos 1 ano programando em android e nunca tinha visto algo sobre ou esse erro persistir já que tirei tudo de dentro do app
</p>

<p>
	A minha dúvida é, onde estou errando? Onde deixei alguma coisa sobre essa sdk?Que inclusive coloquei pra teste a uns 5 meses atrás e até tinha esquecido dela kk
</p>

<p>
	Peço que me ajudem dando sugestões de como remover por completo pois eu praticamente reverti o processo de adicionar a SDK e todo tipo de linha relacionada a unity.ads
</p>

<p>
	 
</p>

<p>
	<img alt="XKnk3IM.png" class="ipsImage" data-imageproxy-source="https://i.imgur.com/XKnk3IM.png" height="450" src="https://forum.imasters.com.br/applications/core/interface/imageproxy/imageproxy.php?img=https://i.imgur.com/XKnk3IM.png&amp;key=85a113467ef8b335e9500ab0d94402ebc713166df574fa4490b14a6a5d765ffc" width="954" /></p>
]]></description><guid isPermaLink="false">588126</guid><pubDate>Sun, 03 Jul 2022 16:11:27 +0000</pubDate></item><item><title>Fechar App por inatividade</title><link>https://forum.imasters.com.br/topic/588125-fechar-app-por-inatividade/</link><description><![CDATA[<p>
	Estou desenvolvendo um APP  (<span style="background-color:#ffffff;color:#111111;font-size:14px;">Kotlin) e  preciso que após 3 minutos de inatividade e ele se feche. Isso é possível ?</span>
</p>]]></description><guid isPermaLink="false">588125</guid><pubDate>Fri, 01 Jul 2022 19:36:23 +0000</pubDate></item><item><title>Geolocaliza&#xE7;&#xE3;o no emulador Android Studio</title><link>https://forum.imasters.com.br/topic/588074-geolocaliza%C3%A7%C3%A3o-no-emulador-android-studio/</link><description><![CDATA[<p>
	Por que ele está trazendo localização EUA no emulador android studio? É possível fazer essa correção ?
</p>]]></description><guid isPermaLink="false">588074</guid><pubDate>Fri, 03 Jun 2022 12:06:33 +0000</pubDate></item><item><title>Controles Girat&#xF3;rios (spinner)</title><link>https://forum.imasters.com.br/topic/588073-controles-girat%C3%B3rios-spinner/</link><description><![CDATA[
<div style="color:#1c1d1f;font-size:16px;padding:0px 1.6rem 0px 0px;">
	<div style="font-size:1.4rem;padding:0px;">
		Como eu faço para recuperar o que foi selecionado pelo usuário em um controle deste ?
	</div>

	<div style="font-size:1.4rem;padding:0px;">
		 
	</div>

	<div style="font-size:1.4rem;padding:0px;">
		Ele usa este .xml para carregar as informações:
	</div>

	<div style="font-size:1.4rem;padding:0px;">
		<pre class="ipsCode prettyprint lang-xml prettyprinted">
<span class="pun">&lt;?</span><span class="pln">xml version</span><span class="pun">=</span><span class="str">"1.0"</span><span class="pln"> encoding</span><span class="pun">=</span><span class="str">"utf-8"</span><span class="pun">?&gt;</span><span class="pln">
</span><span class="tag">&lt;resources&gt;</span><span class="pln">
    </span><span class="tag">&lt;string-array</span><span class="pln"> </span><span class="atn">name</span><span class="pun">=</span><span class="atv">"installments_array"</span><span class="tag">&gt;</span><span class="pln">
        </span><span class="tag">&lt;item</span><span class="pln"> </span><span class="atn">name</span><span class="pun">=</span><span class="atv">'1'</span><span class="tag">&gt;</span><span class="pln">1 parcela</span><span class="tag">&lt;/item&gt;</span><span class="pln">
        </span><span class="tag">&lt;item</span><span class="pln"> </span><span class="atn">name</span><span class="pun">=</span><span class="atv">'2'</span><span class="tag">&gt;</span><span class="pln">2 parcelas</span><span class="tag">&lt;/item&gt;</span><span class="pln">
        </span><span class="tag">&lt;item</span><span class="pln"> </span><span class="atn">name</span><span class="pun">=</span><span class="atv">'3'</span><span class="tag">&gt;</span><span class="pln">3 parcelas</span><span class="tag">&lt;/item&gt;</span><span class="pln">
        </span><span class="tag">&lt;item</span><span class="pln"> </span><span class="atn">name</span><span class="pun">=</span><span class="atv">'4'</span><span class="tag">&gt;</span><span class="pln">4 parcelas</span><span class="tag">&lt;/item&gt;</span><span class="pln">
        </span><span class="tag">&lt;item</span><span class="pln"> </span><span class="atn">name</span><span class="pun">=</span><span class="atv">'5'</span><span class="tag">&gt;</span><span class="pln">5 parcelas</span><span class="tag">&lt;/item&gt;</span><span class="pln">
        </span><span class="tag">&lt;item</span><span class="pln"> </span><span class="atn">name</span><span class="pun">=</span><span class="atv">'6'</span><span class="tag">&gt;</span><span class="pln">6 parcelas</span><span class="tag">&lt;/item&gt;</span><span class="pln">
    </span><span class="tag">&lt;/string-array&gt;</span><span class="pln">
</span><span class="tag">&lt;/resources&gt;</span></pre>

		<p>
			O campo foi montado assim:
		</p>

		<pre class="ipsCode prettyprint lang-xml prettyprinted">
<span class="tag">&lt;Spinner</span><span class="pln">
                    </span><span class="atn">android:id</span><span class="pun">=</span><span class="atv">"@+id/installments_spinner"</span><span class="pln">
                    </span><span class="atn">android:entries</span><span class="pun">=</span><span class="atv">"@array/installments_array"</span><span class="pln">
                    </span><span class="atn">style</span><span class="pun">=</span><span class="atv">"</span><span class="pun">@</span><span class="pln">style</span><span class="pun">/</span><span class="pln">Widget</span><span class="pun">.</span><span class="pln">AppCompat</span><span class="pun">.</span><span class="pln">TextView</span><span class="pun">.</span><span class="pln">SpinnerItem</span><span class="atv">"</span><span class="pln">
                    </span><span class="atn">android:layout_width</span><span class="pun">=</span><span class="atv">"match_parent"</span><span class="pln">
                    </span><span class="atn">android:layout_height</span><span class="pun">=</span><span class="atv">"52dp"</span><span class="pln">
                    </span><span class="atn">android:hint</span><span class="pun">=</span><span class="atv">"@string/card_installments"</span><span class="pln">
                    </span><span class="atn">android:inputType</span><span class="pun">=</span><span class="atv">"textPersonName"</span><span class="tag">/&gt;</span></pre>

		<p>
			Estou tentando recuperar assim:
		</p>

		<pre style="background-color:#ffffff;color:#080808;">
<span style="color:#8c8c8c;">cardInstallment = installments_spinner.name.toString().trim()</span></pre>
	</div>

	<div style="font-size:1.4rem;padding:0px;">
		 
	</div>
</div>

<div style="color:#1c1d1f;font-size:16px;padding:0px;text-align:right;">
	<div style="padding:0px;">
		 
	</div>
</div>
]]></description><guid isPermaLink="false">588073</guid><pubDate>Thu, 02 Jun 2022 21:28:05 +0000</pubDate></item><item><title>Sugest&#xE3;o - Projeto</title><link>https://forum.imasters.com.br/topic/587431-sugest%C3%A3o-projeto/</link><description><![CDATA[
<p>
	Bom dia galera.
</p>

<p>
	 
</p>

<p>
	Vou iniciar uma projeto para a empresa onde eu trabalho, eu não sou desenvolvedor, porém tenho noção e sou formado na área. Abaixo vou explicar o modelo do projeto:
</p>

<p>
	 
</p>

<p>
	O projeto consiste em um aplicativo para controle de roteirização da frota;
</p>

<p>
	Cada motorista terá acesso ao app pelo celular com login e senha;
</p>

<p>
	O encarregado pelo logística terá que ter acesso pelo PC (WEB) onde ele irá direcionar os roteiros para cada motorista, nessa plataforma web ele irá enviar as coletas e entregas que cada motorista terá que fazer.
</p>

<p>
	 
</p>

<p>
	Basicamente o projeto é esse, preciso de norte para saber o que tenho que estudar para desenvolver esse projeto, qual framework estudar, qual liguagem, etc.
</p>

<p>
	 
</p>

<p>
	Desde já agradeço, abraços.
</p>

<p>
	 
</p>

<p>
	Att.
</p>

<p>
	 
</p>
]]></description><guid isPermaLink="false">587431</guid><pubDate>Mon, 28 Jun 2021 11:49:52 +0000</pubDate></item><item><title>Desenvolvimento App Conforto T&#xE9;rmico</title><link>https://forum.imasters.com.br/topic/587384-desenvolvimento-app-conforto-t%C3%A9rmico/</link><description><![CDATA[<p>
	Boa tarde,<br /><br />
	Preciso desenvolver um app com os parâmetros descritos na tabela e estou com dificuldade de pensar uma forma de fazer isso, pensei em vários "If's" para classificar o conforto térmico, mas como existem resultados que se repetem em mais de uma classificação acabei descartando esse caminho.<br />
	Se possível me deem dicas de como os senhores procederiam =D
</p>
<p><a href="https://forum.imasters.com.br/uploads/monthly_2021_06/tab.png.aab540a56ddebd87117f1d214d27c2c1.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="5471" src="https://forum.imasters.com.br/uploads/monthly_2021_06/tab.png.aab540a56ddebd87117f1d214d27c2c1.png" class="ipsImage ipsImage_thumbnailed" alt="tab.png"></a></p>]]></description><guid isPermaLink="false">587384</guid><pubDate>Wed, 09 Jun 2021 19:18:35 +0000</pubDate></item><item><title>Flask - Como realizar Select com la&#xE7;o FOR com Jinja ?</title><link>https://forum.imasters.com.br/topic/587313-flask-como-realizar-select-com-la%C3%A7o-for-com-jinja/</link><description><![CDATA[
<p>
	Olá.
</p>

<p>
	 
</p>

<p>
	Eu estou desenvolvendo um site utilizando o <strong>Flask</strong> e banco de dados<strong> SqlLite</strong>, mas me surgiu uma dúvida que eu não consigo sanar utilizando o Google.
</p>

<p>
	 
</p>

<p>
	Eu preciso pegar os dados de uma <strong>Select</strong> que esta armazenado em uma <strong>variavel</strong> e enviar a uma pagina <strong>HTML</strong> e dentro do HTML fazer um<strong> For</strong> para ir coletando todos os resultados que o<strong> Select</strong> retorna, como fazer isso ?
</p>

<p>
	 
</p>

<p>
	Alguem conhece algum tutorial objetivo e simples de entender ou algum exemplo ?
</p>

<p>
	 
</p>

<p>
	Obrigado
</p>
]]></description><guid isPermaLink="false">587313</guid><pubDate>Fri, 14 May 2021 12:42:49 +0000</pubDate></item><item><title>Microsoft Access ou Similar</title><link>https://forum.imasters.com.br/topic/587220-microsoft-access-ou-similar/</link><description><![CDATA[
<p>
	Tenho um banco de dados ( .mdb ) que foi criado onde já utilizo a anos pelo notebook e computador, mas agora com o avanço da tecnologia,
</p>

<p>
	gostaria de saber se há algum <strong>APP PARA ANDROID </strong>que possa conseguir ler e editar os dados nele inserido. Seria como eu tivesse um
</p>

<p>
	Microsoft Access instalado no <strong>ANDROID</strong>. 
</p>

<p>
	 
</p>

<p>
	Existe alguma versão que consiga ler inclusive os formulários e macros e assim faça com que ele funcione normalmente?
</p>
]]></description><guid isPermaLink="false">587220</guid><pubDate>Sun, 04 Apr 2021 05:12:50 +0000</pubDate></item><item><title>Resultado na mesma Activity</title><link>https://forum.imasters.com.br/topic/587124-resultado-na-mesma-activity/</link><description><![CDATA[
<p>
	Boa tarde galera, de ante mão ja agradeço quem puder me ajudar..
</p>

<p>
	estou montando um app, mas sou muito iniciante no assunto.. tenho uma tela com 4 botões e cada um abre um scaner para uma determinada ação
</p>

<p>
	consigo chamar o scan em cada botão sem problemas.
</p>

<p>
	gostaria de saber como chamar um resultado diferente em cada botão.
</p>

<p>
	 
</p>

<p>
	segue um print do meu código.
</p>

<pre class="ipsCode prettyprint lang-c prettyprinted">
<span class="kwd">public</span><span class="pln"> </span><span class="kwd">class</span><span class="pln"> </span><span>MainActivity</span><span class="pln"> extends </span><span>AppCompatActivity</span><span class="pln"> </span><span class="pun">{</span><span class="pln">

    </span><span class="kwd">private</span><span class="pln"> </span><span>Button</span><span class="pln"> btnEntrada</span><span class="pun">,</span><span class="pln"> btnTransporte</span><span class="pun">,</span><span class="pln"> btnDestino</span><span class="pun">,</span><span class="pln"> btnEntrega</span><span class="pun">;</span><span class="pln">
    </span><span class="kwd">private</span><span class="pln"> </span><span>String</span><span class="pln"> HOST </span><span class="pun">=</span><span class="pln"> </span><span class="str">"http://192.168.0.18/transportadora/aux/"</span><span class="pun">;</span><span class="pln">

    </span><span class="lit">@Override</span><span class="pln">
    </span><span class="kwd">protected</span><span class="pln"> </span><span class="kwd">void</span><span class="pln"> onCreate</span><span class="pun">(</span><span>Bundle</span><span class="pln"> savedInstanceState</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        super</span><span class="pun">.</span><span class="pln">onCreate</span><span class="pun">(</span><span class="pln">savedInstanceState</span><span class="pun">);</span><span class="pln">
        setContentView</span><span class="pun">(</span><span class="pln">R</span><span class="pun">.</span><span class="pln">layout</span><span class="pun">.</span><span class="pln">activity_main</span><span class="pun">);</span><span class="pln">
        btnEntrada </span><span class="pun">=</span><span class="pln"> </span><span class="pun">(</span><span>Button</span><span class="pun">)</span><span class="pln"> findViewById</span><span class="pun">(</span><span class="pln">R</span><span class="pun">.</span><span class="pln">id</span><span class="pun">.</span><span class="pln">btnEntrada</span><span class="pun">);</span><span class="pln">
        </span><span>Activity</span><span class="pln"> activity </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">this</span><span class="pun">;</span><span class="pln">

        </span><span>Activity</span><span class="pln"> finalActivity </span><span class="pun">=</span><span class="pln"> activity</span><span class="pun">;</span><span class="pln">
        btnEntrada</span><span class="pun">.</span><span class="pln">setOnClickListener</span><span class="pun">(</span><span class="kwd">new</span><span class="pln"> </span><span>View</span><span class="pun">.</span><span>OnClickListener</span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="lit">@Override</span><span class="pln">
            </span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">void</span><span class="pln"> onClick</span><span class="pun">(</span><span>View</span><span class="pln"> v</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                </span><span>IntentIntegrator</span><span class="pln"> integrator </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> </span><span>IntentIntegrator</span><span class="pun">(</span><span class="pln">finalActivity</span><span class="pun">);</span><span class="pln">
                integrator</span><span class="pun">.</span><span class="pln">setDesiredBarcodeFormats</span><span class="pun">(</span><span>IntentIntegrator</span><span class="pun">.</span><span class="pln">QR_CODE</span><span class="pun">);</span><span class="pln">
                integrator</span><span class="pun">.</span><span class="pln">setPrompt</span><span class="pun">(</span><span class="str">"Scan LRCODE"</span><span class="pun">);</span><span class="pln">
                integrator</span><span class="pun">.</span><span class="pln">setCameraId</span><span class="pun">(</span><span class="lit">0</span><span class="pun">);</span><span class="pln">
                integrator</span><span class="pun">.</span><span class="pln">initiateScan</span><span class="pun">();</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
        </span><span class="pun">});</span><span class="pln">

        setContentView</span><span class="pun">(</span><span class="pln">R</span><span class="pun">.</span><span class="pln">layout</span><span class="pun">.</span><span class="pln">activity_main</span><span class="pun">);</span><span class="pln">
        btnTransporte </span><span class="pun">=</span><span class="pln"> </span><span class="pun">(</span><span>Button</span><span class="pun">)</span><span class="pln"> findViewById</span><span class="pun">(</span><span class="pln">R</span><span class="pun">.</span><span class="pln">id</span><span class="pun">.</span><span class="pln">btnTransporte</span><span class="pun">);</span><span class="pln">
        activity </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">this</span><span class="pun">;</span><span class="pln">

        </span><span>Activity</span><span class="pln"> finalActivity1 </span><span class="pun">=</span><span class="pln"> activity</span><span class="pun">;</span><span class="pln">
        btnTransporte</span><span class="pun">.</span><span class="pln">setOnClickListener</span><span class="pun">(</span><span class="kwd">new</span><span class="pln"> </span><span>View</span><span class="pun">.</span><span>OnClickListener</span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="lit">@Override</span><span class="pln">
            </span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">void</span><span class="pln"> onClick</span><span class="pun">(</span><span>View</span><span class="pln"> v</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                </span><span>IntentIntegrator</span><span class="pln"> integrator </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> </span><span>IntentIntegrator</span><span class="pun">(</span><span class="pln">finalActivity1</span><span class="pun">);</span><span class="pln">
                integrator</span><span class="pun">.</span><span class="pln">setDesiredBarcodeFormats</span><span class="pun">(</span><span>IntentIntegrator</span><span class="pun">.</span><span class="pln">QR_CODE</span><span class="pun">);</span><span class="pln">
                integrator</span><span class="pun">.</span><span class="pln">setPrompt</span><span class="pun">(</span><span class="str">"Scan LRCODE"</span><span class="pun">);</span><span class="pln">
                integrator</span><span class="pun">.</span><span class="pln">setCameraId</span><span class="pun">(</span><span class="lit">0</span><span class="pun">);</span><span class="pln">
                integrator</span><span class="pun">.</span><span class="pln">initiateScan</span><span class="pun">();</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
        </span><span class="pun">});</span><span class="pln">
    </span><span class="pun">}</span><span class="pln">


    </span><span class="lit">@Override</span><span class="pln">
    </span><span class="kwd">protected</span><span class="pln"> </span><span class="kwd">void</span><span class="pln"> onActivityResult</span><span class="pun">(</span><span>int</span><span class="pln"> requestCode</span><span class="pun">,</span><span class="pln"> </span><span>int</span><span class="pln"> resultCode</span><span class="pun">,</span><span class="pln"> </span><span>Intent</span><span class="pln"> data</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        </span><span>IntentResult</span><span class="pln"> result </span><span class="pun">=</span><span class="pln"> </span><span>IntentIntegrator</span><span class="pun">.</span><span class="pln">parseActivityResult</span><span class="pun">(</span><span class="pln">requestCode</span><span class="pun">,</span><span class="pln">resultCode</span><span class="pun">,</span><span class="pln">data</span><span class="pun">);</span><span class="pln">

        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">result </span><span class="pun">!=</span><span class="pln"> null</span><span class="pun">){</span><span class="pln">
            </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">result</span><span class="pun">.</span><span class="pln">getContents</span><span class="pun">()</span><span class="pln"> </span><span class="pun">!=</span><span class="pln"> null</span><span class="pun">){</span><span class="pln">
                </span><span>String</span><span class="pln"> URL </span><span class="pun">=</span><span class="pln"> HOST </span><span class="pun">+</span><span class="pln"> </span><span class="str">"entrada.php"</span><span class="pun">;</span><span class="pln">
                </span><span>String</span><span class="pln"> code </span><span class="pun">=</span><span class="pln"> result</span><span class="pun">.</span><span class="pln">getContents</span><span class="pun">();</span><span class="pln">

                </span><span>Ion</span><span class="pun">.</span><span class="pln">with</span><span class="pun">(</span><span>MainActivity</span><span class="pun">.</span><span class="kwd">this</span><span class="pun">)</span><span class="pln">
                        </span><span class="pun">.</span><span class="pln">load</span><span class="pun">(</span><span class="pln">URL</span><span class="pun">)</span><span class="pln">
                        </span><span class="pun">.</span><span class="pln">setBodyParameter</span><span class="pun">(</span><span class="str">"code"</span><span class="pun">,</span><span class="pln"> code</span><span class="pun">)</span><span class="pln">
                        </span><span class="pun">.</span><span class="pln">asJsonObject</span><span class="pun">()</span><span class="pln">
                        </span><span class="pun">.</span><span class="pln">setCallback</span><span class="pun">(</span><span class="kwd">new</span><span class="pln"> </span><span>FutureCallback</span><span class="pun">&lt;</span><span>JsonObject</span><span class="pun">&gt;()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                            </span><span class="lit">@Override</span><span class="pln">
                            </span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">void</span><span class="pln"> onCompleted</span><span class="pun">(</span><span>Exception</span><span class="pln"> e</span><span class="pun">,</span><span class="pln"> </span><span>JsonObject</span><span class="pln"> result</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                                </span><span class="kwd">try</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                                    </span><span>Toast</span><span class="pun">.</span><span class="pln">makeText</span><span class="pun">(</span><span>MainActivity</span><span class="pun">.</span><span class="kwd">this</span><span class="pun">,</span><span class="pln"> result</span><span class="pun">.</span><span class="pln">get</span><span class="pun">(</span><span class="str">"MSG"</span><span class="pun">).</span><span class="pln">getAsString</span><span class="pun">(),</span><span class="pln"> </span><span>Toast</span><span class="pun">.</span><span class="pln">LENGTH_LONG</span><span class="pun">).</span><span class="pln">show</span><span class="pun">();</span><span class="pln">
                                </span><span class="pun">}</span><span class="pln"> </span><span class="kwd">catch</span><span class="pln"> </span><span class="pun">(</span><span>Exception</span><span class="pln"> erro</span><span class="pun">){</span><span class="pln">
                                    </span><span>Toast</span><span class="pun">.</span><span class="pln">makeText</span><span class="pun">(</span><span>MainActivity</span><span class="pun">.</span><span class="kwd">this</span><span class="pun">,</span><span class="pln"> </span><span class="str">"ERRO: "</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> erro</span><span class="pun">,</span><span class="pln"> </span><span>Toast</span><span class="pun">.</span><span class="pln">LENGTH_LONG</span><span class="pun">).</span><span class="pln">show</span><span class="pun">();</span><span class="pln">
                                </span><span class="pun">}</span><span class="pln">
                            </span><span class="pun">}</span><span class="pln">
                        </span><span class="pun">});</span><span class="pln">
            </span><span class="pun">}</span><span class="pln"> </span><span class="kwd">else</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                alert</span><span class="pun">(</span><span class="str">"SCAN Cancelada"</span><span class="pun">);</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
        </span><span class="pun">}</span><span class="pln"> </span><span class="kwd">else</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            super</span><span class="pun">.</span><span class="pln">onActivityResult</span><span class="pun">(</span><span class="pln">requestCode</span><span class="pun">,</span><span class="pln"> resultCode</span><span class="pun">,</span><span class="pln"> data</span><span class="pun">);</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
    </span><span class="pun">}</span></pre>

<p>
	como eu faço pra chamar o método onActivityResult pra cada botão na mesma activity
</p>

<p>
	 
</p>

<p><a href="https://forum.imasters.com.br/uploads/monthly_2021_03/1826466444_CapturadeTela2021-03-07as16_53_42.png.e23f9072ed11702c28ae335703a00b80.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="5406" src="https://forum.imasters.com.br/uploads/monthly_2021_03/1826466444_CapturadeTela2021-03-07as16_53_42.png.e23f9072ed11702c28ae335703a00b80.png" class="ipsImage ipsImage_thumbnailed" alt="Captura de Tela 2021-03-07 às 16.53.42.png"></a></p>]]></description><guid isPermaLink="false">587124</guid><pubDate>Sun, 07 Mar 2021 20:24:30 +0000</pubDate></item><item><title>Android studio: Pix no meu app</title><link>https://forum.imasters.com.br/topic/587110-android-studio-pix-no-meu-app/</link><description><![CDATA[<p>
	Boa noite! gente, eu estou tentando colocar alguma forma de pagamentos no meu app, no caso para que o usuario possa adicionar credito ao mesmo, eu estou fazendo isso com a api da JUNO, porem, tambem quero adicionar PIX como forma de pagamento pois não saio do zero com a juno! alguem aqui ja usou PIX com android studio e pode me explicar como fazer? ja busquei por aulas e tutoriais e nada... Grato!
</p>]]></description><guid isPermaLink="false">587110</guid><pubDate>Tue, 02 Mar 2021 21:42:25 +0000</pubDate></item><item><title>Desenvolvimento em Android</title><link>https://forum.imasters.com.br/topic/559596-desenvolvimento-em-android/</link><description><![CDATA[
<p>
	Boa noite!
</p>

<p>
	 
</p>

<p>
	Queria aprender a programar em Android pra começar a fazer uns aplicativos, mas não sei por onde começar.<br /><br />
	Alguém pode me indicar um bom curso?<br /><br />
	Aguardo respostas!<br /><br />
	[]'s
</p>
]]></description><guid isPermaLink="false">559596</guid><pubDate>Mon, 26 Jun 2017 21:11:36 +0000</pubDate></item><item><title>O aplicativo Spotify n&#xE3;o est&#xE1; respondendo</title><link>https://forum.imasters.com.br/topic/586777-o-aplicativo-spotify-n%C3%A3o-est%C3%A1-respondendo/</link><description><![CDATA[<p>
	Eu estava ouvindo o aplicativo Spotify quando quis tocar uma música de uma playlist personalizada do Spotify. Depois de clicar em reproduzir na playlist, o aplicativo travou completamente. Fechei o aplicativo para tentar resolver o problema. Quando tento reabrir o aplicativo, ele só me dá o alerta de erro "O aplicativo
	<span style="font-size:11pt;"><a href="https://spotify-apk.es.modfyp.com" rel="external nofollow">descargar spotify premium apk</a> </span>não está respondendo". Ainda consigo ouvir pelo web player, mas não tem a opção de letras e não é tão prático de usar.
</p>]]></description><guid isPermaLink="false">586777</guid><pubDate>Thu, 29 Oct 2020 07:54:42 +0000</pubDate></item><item><title>Corre&#xE7;&#xE3;o de erros de movimento no jogo em dispositivos Android.</title><link>https://forum.imasters.com.br/topic/586543-corre%C3%A7%C3%A3o-de-erros-de-movimento-no-jogo-em-dispositivos-android/</link><description><![CDATA[<p>
	Eu tenho um bug que precisa ser corrigido no jogo Idle Army Base.<br />
	Hoje em dia, geralmente me movo à vontade.<br />
	Isso me deixa muito desconfortável<br />
	Alguém pode consertar isso para mim?<br />
	Desde já, obrigado.
</p>]]></description><guid isPermaLink="false">586543</guid><pubDate>Tue, 11 Aug 2020 03:09:38 +0000</pubDate></item><item><title>Aplicativo deenvolvido com ionic n&#xE3;o apresenta os an&#xFA;ncios da Admob</title><link>https://forum.imasters.com.br/topic/586542-aplicativo-deenvolvido-com-ionic-n%C3%A3o-apresenta-os-an%C3%BAncios-da-admob/</link><description><![CDATA[<p>
	Não estou conseguindo configurar anúncios do admob no meu app eu segui os tutoriais que achei na internet consegui exibir os anúncios de teste mas quando eu coloco o meu id do admob no codigo ele não exibe os anuncios
</p>]]></description><guid isPermaLink="false">586542</guid><pubDate>Tue, 11 Aug 2020 01:19:43 +0000</pubDate></item><item><title>Erro em Aplica&#xE7;&#xE3;o Android - Erro no ListView com bot&#xF5;es</title><link>https://forum.imasters.com.br/topic/586502-erro-em-aplica%C3%A7%C3%A3o-android-erro-no-listview-com-bot%C3%B5es/</link><description><![CDATA[
<p>
	Sou iniciante em Android, e fiz uma pequena aplicação Android de teste, usando Java, para aprender a utilizar um ListView com botões, e tive um problema. Os botões não funcionam direito, as vezes eu clico em cima do Edit, ele muda a mensagem para clicado, "Edit", confirmando que eu cliquei ai. Mas tem vezes que eu clico no botão Delete, e depois no botão Edit, e o texto não é mudado, ou seja o evento click não funcionou, se eu coloco um break point, no código-fonte, onde está entrando no evento setOnItemClickListener. Mas a mensagem exibida, não está correta.<br />
	E tem um outro erro, de funcionamento do AlertDialog, da mensagem de confirmação de deleção.<br />
	O código-fonte está abaixo.<br />
	Por favor, alguém poderia me ajudar ?
</p>

<p>
	 
</p>

<p>
	AgendaActivity.java
</p>

<pre class="ipsCode prettyprint lang-c prettyprinted">
<span class="pln">package com</span><span class="pun">.</span><span class="pln">test</span><span class="pun">.</span><span class="pln">android</span><span class="pun">.</span><span class="pln">view</span><span class="pun">;</span><span class="pln">

</span><span class="kwd">import</span><span class="pln"> android</span><span class="pun">.</span><span class="pln">support</span><span class="pun">.</span><span class="pln">v7</span><span class="pun">.</span><span class="pln">app</span><span class="pun">.</span><span>AppCompatActivity</span><span class="pun">;</span><span class="pln">
</span><span class="kwd">import</span><span class="pln"> android</span><span class="pun">.</span><span class="pln">os</span><span class="pun">.</span><span>Bundle</span><span class="pun">;</span><span class="pln">

</span><span class="kwd">import</span><span class="pln"> java</span><span class="pun">.</span><span class="pln">text</span><span class="pun">.</span><span>SimpleDateFormat</span><span class="pun">;</span><span class="pln">
</span><span class="kwd">import</span><span class="pln"> java</span><span class="pun">.</span><span class="pln">util</span><span class="pun">.</span><span>ArrayList</span><span class="pun">;</span><span class="pln">
</span><span class="kwd">import</span><span class="pln"> java</span><span class="pun">.</span><span class="pln">util</span><span class="pun">.</span><span>Date</span><span class="pun">;</span><span class="pln">

</span><span class="kwd">import</span><span class="pln"> android</span><span class="pun">.</span><span class="pln">view</span><span class="pun">.</span><span>View</span><span class="pun">;</span><span class="pln">
</span><span class="kwd">import</span><span class="pln"> android</span><span class="pun">.</span><span class="pln">widget</span><span class="pun">.</span><span>AdapterView</span><span class="pun">;</span><span class="pln">
</span><span class="kwd">import</span><span class="pln"> android</span><span class="pun">.</span><span class="pln">widget</span><span class="pun">.</span><span>AdapterView</span><span class="pun">.</span><span>OnItemClickListener</span><span class="pun">;</span><span class="pln">
</span><span class="kwd">import</span><span class="pln"> android</span><span class="pun">.</span><span class="pln">widget</span><span class="pun">.</span><span>Button</span><span class="pun">;</span><span class="pln">
</span><span class="kwd">import</span><span class="pln"> android</span><span class="pun">.</span><span class="pln">widget</span><span class="pun">.</span><span>ListView</span><span class="pun">;</span><span class="pln">
</span><span class="kwd">import</span><span class="pln"> android</span><span class="pun">.</span><span class="pln">widget</span><span class="pun">.</span><span>TextView</span><span class="pun">;</span><span class="pln">
</span><span class="kwd">import</span><span class="pln"> android</span><span class="pun">.</span><span class="pln">widget</span><span class="pun">.</span><span>Toast</span><span class="pun">;</span><span class="pln">

</span><span class="kwd">import</span><span class="pln"> com</span><span class="pun">.</span><span class="pln">test</span><span class="pun">.</span><span class="pln">android</span><span class="pun">.</span><span class="pln">model</span><span class="pun">.</span><span>Agenda</span><span class="pun">;</span><span class="pln">
</span><span class="kwd">import</span><span class="pln"> com</span><span class="pun">.</span><span class="pln">test</span><span class="pun">.</span><span class="pln">android</span><span class="pun">.</span><span class="pln">util</span><span class="pun">.</span><span>Util</span><span class="pun">;</span><span class="pln">

</span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">class</span><span class="pln"> </span><span>AgendaActivity</span><span class="pln"> extends </span><span>AppCompatActivity</span><span class="pln"> </span><span class="pun">{</span><span class="pln">

    </span><span>ListView</span><span class="pln"> listview</span><span class="pun">;</span><span class="pln">
    </span><span>MyArrayAdapter</span><span class="pln"> agendaArrayAdapter</span><span class="pun">;</span><span class="pln">
    </span><span>ArrayList</span><span class="pun">&lt;</span><span>AgendaTo</span><span class="pun">&gt;</span><span class="pln"> agendaArray </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> </span><span>ArrayList</span><span class="pun">&lt;</span><span>AgendaTo</span><span class="pun">&gt;();</span><span class="pln">

    </span><span class="lit">@Override</span><span class="pln">
    </span><span class="kwd">protected</span><span class="pln"> </span><span class="kwd">void</span><span class="pln"> onCreate</span><span class="pun">(</span><span>Bundle</span><span class="pln"> savedInstanceState</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        super</span><span class="pun">.</span><span class="pln">onCreate</span><span class="pun">(</span><span class="pln">savedInstanceState</span><span class="pun">);</span><span class="pln">
        setContentView</span><span class="pun">(</span><span class="pln">R</span><span class="pun">.</span><span class="pln">layout</span><span class="pun">.</span><span class="pln">activity_agenda</span><span class="pun">);</span><span class="pln">

        </span><span>SimpleDateFormat</span><span class="pln"> sdf </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> </span><span>SimpleDateFormat</span><span class="pun">(</span><span class="str">"dd/MM/yyyy HH:mm:ss"</span><span class="pun">);</span><span class="pln">

        agendaArray</span><span class="pun">.</span><span class="pln">add</span><span class="pun">(</span><span class="kwd">new</span><span class="pln"> </span><span>AgendaTo</span><span class="pun">(</span><span class="pln">sdf</span><span class="pun">.</span><span class="pln">format</span><span class="pun">(</span><span class="kwd">new</span><span class="pln"> </span><span>Date</span><span class="pun">()),</span><span class="pln"> </span><span>Util</span><span class="pun">.</span><span class="pln">fillSpaces</span><span class="pun">(</span><span class="str">"Nick"</span><span class="pun">,</span><span class="pln"> </span><span class="lit">50</span><span class="pun">)));</span><span class="pln">
        agendaArray</span><span class="pun">.</span><span class="pln">add</span><span class="pun">(</span><span class="kwd">new</span><span class="pln"> </span><span>AgendaTo</span><span class="pun">(</span><span class="pln">sdf</span><span class="pun">.</span><span class="pln">format</span><span class="pun">(</span><span class="kwd">new</span><span class="pln"> </span><span>Date</span><span class="pun">()),</span><span class="pln"> </span><span>Util</span><span class="pun">.</span><span class="pln">fillSpaces</span><span class="pun">(</span><span class="str">"John"</span><span class="pun">,</span><span class="pln"> </span><span class="lit">50</span><span class="pun">)));</span><span class="pln">
        agendaArray</span><span class="pun">.</span><span class="pln">add</span><span class="pun">(</span><span class="kwd">new</span><span class="pln"> </span><span>AgendaTo</span><span class="pun">(</span><span class="pln">sdf</span><span class="pun">.</span><span class="pln">format</span><span class="pun">(</span><span class="kwd">new</span><span class="pln"> </span><span>Date</span><span class="pun">()),</span><span class="pln"> </span><span>Util</span><span class="pun">.</span><span class="pln">fillSpaces</span><span class="pun">(</span><span class="str">"Anthony"</span><span class="pun">,</span><span class="pln"> </span><span class="lit">50</span><span class="pun">)));</span><span class="pln">
        agendaArray</span><span class="pun">.</span><span class="pln">add</span><span class="pun">(</span><span class="kwd">new</span><span class="pln"> </span><span>AgendaTo</span><span class="pun">(</span><span class="pln">sdf</span><span class="pun">.</span><span class="pln">format</span><span class="pun">(</span><span class="kwd">new</span><span class="pln"> </span><span>Date</span><span class="pun">()),</span><span class="pln"> </span><span>Util</span><span class="pun">.</span><span class="pln">fillSpaces</span><span class="pun">(</span><span class="str">"James"</span><span class="pun">,</span><span class="pln"> </span><span class="lit">50</span><span class="pun">)));</span><span class="pln">
        agendaArray</span><span class="pun">.</span><span class="pln">add</span><span class="pun">(</span><span class="kwd">new</span><span class="pln"> </span><span>AgendaTo</span><span class="pun">(</span><span class="pln">sdf</span><span class="pun">.</span><span class="pln">format</span><span class="pun">(</span><span class="kwd">new</span><span class="pln"> </span><span>Date</span><span class="pun">()),</span><span class="pln"> </span><span>Util</span><span class="pun">.</span><span class="pln">fillSpaces</span><span class="pun">(</span><span class="str">"Jack"</span><span class="pun">,</span><span class="pln"> </span><span class="lit">50</span><span class="pun">)));</span><span class="pln">
        agendaArray</span><span class="pun">.</span><span class="pln">add</span><span class="pun">(</span><span class="kwd">new</span><span class="pln"> </span><span>AgendaTo</span><span class="pun">(</span><span class="pln">sdf</span><span class="pun">.</span><span class="pln">format</span><span class="pun">(</span><span class="kwd">new</span><span class="pln"> </span><span>Date</span><span class="pun">()),</span><span class="pln"> </span><span>Util</span><span class="pun">.</span><span class="pln">fillSpaces</span><span class="pun">(</span><span class="str">"Jeremy"</span><span class="pun">,</span><span class="pln"> </span><span class="lit">50</span><span class="pun">)));</span><span class="pln">
        agendaArray</span><span class="pun">.</span><span class="pln">add</span><span class="pun">(</span><span class="kwd">new</span><span class="pln"> </span><span>AgendaTo</span><span class="pun">(</span><span class="pln">sdf</span><span class="pun">.</span><span class="pln">format</span><span class="pun">(</span><span class="kwd">new</span><span class="pln"> </span><span>Date</span><span class="pun">()),</span><span>Util</span><span class="pun">.</span><span class="pln">fillSpaces</span><span class="pun">(</span><span class="str">"Long"</span><span class="pun">,</span><span class="pln"> </span><span class="lit">50</span><span class="pun">)));</span><span class="pln">

        agendaArrayAdapter </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> </span><span>MyArrayAdapter</span><span class="pun">(</span><span>AgendaActivity</span><span class="pun">.</span><span class="kwd">this</span><span class="pun">,</span><span class="pln"> R</span><span class="pun">.</span><span class="pln">layout</span><span class="pun">.</span><span class="pln">list_item</span><span class="pun">,</span><span class="pln"> agendaArray</span><span class="pun">);</span><span class="pln">
        listview </span><span class="pun">=</span><span class="pln"> </span><span class="pun">(</span><span>ListView</span><span class="pun">)</span><span class="pln"> findViewById</span><span class="pun">(</span><span class="pln">R</span><span class="pun">.</span><span class="pln">id</span><span class="pun">.</span><span class="pln">listView</span><span class="pun">);</span><span class="pln">
        listview</span><span class="pun">.</span><span class="pln">setItemsCanFocus</span><span class="pun">(</span><span class="kwd">false</span><span class="pun">);</span><span class="pln">
        listview</span><span class="pun">.</span><span class="pln">setAdapter</span><span class="pun">(</span><span class="pln">agendaArrayAdapter</span><span class="pun">);</span><span class="pln">

        listview</span><span class="pun">.</span><span class="pln">setOnItemClickListener</span><span class="pun">(</span><span class="kwd">new</span><span class="pln"> </span><span>OnItemClickListener</span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">

            </span><span class="lit">@Override</span><span class="pln">
            </span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">void</span><span class="pln"> onItemClick</span><span class="pun">(</span><span>AdapterView</span><span class="pun">&lt;?&gt;</span><span class="pln"> parent</span><span class="pun">,</span><span class="pln"> </span><span>View</span><span class="pln"> v</span><span class="pun">,</span><span class="pln">
                                    final </span><span>int</span><span class="pln"> position</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">long</span><span class="pln"> id</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">

                </span><span>Toast</span><span class="pun">.</span><span class="pln">makeText</span><span class="pun">(</span><span>AgendaActivity</span><span class="pun">.</span><span class="kwd">this</span><span class="pun">,</span><span class="pln">
                        </span><span class="str">"List Item Clicked:"</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> position</span><span class="pun">,</span><span class="pln"> </span><span>Toast</span><span class="pun">.</span><span class="pln">LENGTH_LONG</span><span class="pun">)</span><span class="pln">
                        </span><span class="pun">.</span><span class="pln">show</span><span class="pun">();</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
        </span><span class="pun">});</span><span class="pln">

    </span><span class="pun">}</span><span class="pln">

</span><span class="pun">}</span><span class="pln"> </span></pre>

<p>
	MyArrayAdapter.<span style="color:#000000;">java</span>
</p>

<pre class="ipsCode prettyprint lang-c prettyprinted">
<span class="pln">package com</span><span class="pun">.</span><span class="pln">test</span><span class="pun">.</span><span class="pln">android</span><span class="pun">.</span><span class="pln">view</span><span class="pun">;</span><span class="pln">

</span><span class="kwd">import</span><span class="pln"> android</span><span class="pun">.</span><span class="pln">app</span><span class="pun">.</span><span>Activity</span><span class="pun">;</span><span class="pln">
</span><span class="kwd">import</span><span class="pln"> android</span><span class="pun">.</span><span class="pln">app</span><span class="pun">.</span><span>AlertDialog</span><span class="pun">;</span><span class="pln">
</span><span class="kwd">import</span><span class="pln"> android</span><span class="pun">.</span><span class="pln">content</span><span class="pun">.</span><span>Context</span><span class="pun">;</span><span class="pln">
</span><span class="kwd">import</span><span class="pln"> android</span><span class="pun">.</span><span class="pln">content</span><span class="pun">.</span><span>DialogInterface</span><span class="pun">;</span><span class="pln">
</span><span class="kwd">import</span><span class="pln"> android</span><span class="pun">.</span><span class="pln">view</span><span class="pun">.</span><span>LayoutInflater</span><span class="pun">;</span><span class="pln">
</span><span class="kwd">import</span><span class="pln"> android</span><span class="pun">.</span><span class="pln">view</span><span class="pun">.</span><span>View</span><span class="pun">;</span><span class="pln">
</span><span class="kwd">import</span><span class="pln"> android</span><span class="pun">.</span><span class="pln">view</span><span class="pun">.</span><span>View</span><span class="pun">.</span><span>OnClickListener</span><span class="pun">;</span><span class="pln">
</span><span class="kwd">import</span><span class="pln"> android</span><span class="pun">.</span><span class="pln">view</span><span class="pun">.</span><span>ViewGroup</span><span class="pun">;</span><span class="pln">
</span><span class="kwd">import</span><span class="pln"> android</span><span class="pun">.</span><span class="pln">widget</span><span class="pun">.</span><span>ArrayAdapter</span><span class="pun">;</span><span class="pln">
</span><span class="kwd">import</span><span class="pln"> android</span><span class="pun">.</span><span class="pln">widget</span><span class="pun">.</span><span>Button</span><span class="pun">;</span><span class="pln">
</span><span class="kwd">import</span><span class="pln"> android</span><span class="pun">.</span><span class="pln">widget</span><span class="pun">.</span><span>ListView</span><span class="pun">;</span><span class="pln">
</span><span class="kwd">import</span><span class="pln"> android</span><span class="pun">.</span><span class="pln">widget</span><span class="pun">.</span><span>TextView</span><span class="pun">;</span><span class="pln">
</span><span class="kwd">import</span><span class="pln"> android</span><span class="pun">.</span><span class="pln">widget</span><span class="pun">.</span><span>Toast</span><span class="pun">;</span><span class="pln">

</span><span class="kwd">import</span><span class="pln"> java</span><span class="pun">.</span><span class="pln">text</span><span class="pun">.</span><span>SimpleDateFormat</span><span class="pun">;</span><span class="pln">
</span><span class="kwd">import</span><span class="pln"> java</span><span class="pun">.</span><span class="pln">util</span><span class="pun">.</span><span>ArrayList</span><span class="pun">;</span><span class="pln">


</span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">class</span><span class="pln"> </span><span>MyArrayAdapter</span><span class="pln"> extends </span><span>ArrayAdapter</span><span class="pun">&lt;</span><span>AgendaTo</span><span class="pun">&gt;</span><span class="pln"> </span><span class="pun">{</span><span class="pln">

    </span><span>Context</span><span class="pln"> context</span><span class="pun">;</span><span class="pln">
    </span><span>int</span><span class="pln"> layoutResourceId</span><span class="pun">;</span><span class="pln">
    </span><span>ArrayList</span><span class="pun">&lt;</span><span>AgendaTo</span><span class="pun">&gt;</span><span class="pln"> agendas </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> </span><span>ArrayList</span><span class="pun">&lt;</span><span>AgendaTo</span><span class="pun">&gt;();</span><span class="pln">

    </span><span class="kwd">public</span><span class="pln"> </span><span>MyArrayAdapter</span><span class="pun">(</span><span>Context</span><span class="pln"> context</span><span class="pun">,</span><span class="pln"> </span><span>int</span><span class="pln"> layoutResourceId</span><span class="pun">,</span><span class="pln">
                          </span><span>ArrayList</span><span class="pun">&lt;</span><span>AgendaTo</span><span class="pun">&gt;</span><span class="pln"> agendas</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        super</span><span class="pun">(</span><span class="pln">context</span><span class="pun">,</span><span class="pln"> layoutResourceId</span><span class="pun">,</span><span class="pln"> agendas</span><span class="pun">);</span><span class="pln">
        </span><span class="kwd">this</span><span class="pun">.</span><span class="pln">layoutResourceId </span><span class="pun">=</span><span class="pln"> layoutResourceId</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">this</span><span class="pun">.</span><span class="pln">context </span><span class="pun">=</span><span class="pln"> context</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">this</span><span class="pun">.</span><span class="pln">agendas </span><span class="pun">=</span><span class="pln"> agendas</span><span class="pun">;</span><span class="pln">
    </span><span class="pun">}</span><span class="pln">

    </span><span class="lit">@Override</span><span class="pln">
    </span><span class="kwd">public</span><span class="pln"> </span><span>View</span><span class="pln"> getView</span><span class="pun">(</span><span>int</span><span class="pln"> position</span><span class="pun">,</span><span class="pln"> </span><span>View</span><span class="pln"> convertView</span><span class="pun">,</span><span class="pln"> </span><span>ViewGroup</span><span class="pln"> parent</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        </span><span>View</span><span class="pln"> item </span><span class="pun">=</span><span class="pln"> convertView</span><span class="pun">;</span><span class="pln">
        </span><span>AgendaWrapper</span><span class="pln"> agendaWrapper </span><span class="pun">=</span><span class="pln"> null</span><span class="pun">;</span><span class="pln">

        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">item </span><span class="pun">==</span><span class="pln"> null</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span>LayoutInflater</span><span class="pln"> inflater </span><span class="pun">=</span><span class="pln"> </span><span class="pun">((</span><span>Activity</span><span class="pun">)</span><span class="pln"> context</span><span class="pun">).</span><span class="pln">getLayoutInflater</span><span class="pun">();</span><span class="pln">
            item </span><span class="pun">=</span><span class="pln"> inflater</span><span class="pun">.</span><span class="pln">inflate</span><span class="pun">(</span><span class="pln">layoutResourceId</span><span class="pun">,</span><span class="pln"> parent</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">false</span><span class="pun">);</span><span class="pln">
            agendaWrapper </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> </span><span>AgendaWrapper</span><span class="pun">();</span><span class="pln">
            agendaWrapper</span><span class="pun">.</span><span class="pln">nome </span><span class="pun">=</span><span class="pln"> </span><span class="pun">(</span><span>TextView</span><span class="pun">)</span><span class="pln"> item</span><span class="pun">.</span><span class="pln">findViewById</span><span class="pun">(</span><span class="pln">R</span><span class="pun">.</span><span class="pln">id</span><span class="pun">.</span><span class="pln">textNome</span><span class="pun">);</span><span class="pln">
            agendaWrapper</span><span class="pun">.</span><span class="pln">data </span><span class="pun">=</span><span class="pln"> </span><span class="pun">(</span><span>TextView</span><span class="pun">)</span><span class="pln"> item</span><span class="pun">.</span><span class="pln">findViewById</span><span class="pun">(</span><span class="pln">R</span><span class="pun">.</span><span class="pln">id</span><span class="pun">.</span><span class="pln">textData</span><span class="pun">);</span><span class="pln">
            agendaWrapper</span><span class="pun">.</span><span class="pln">edit </span><span class="pun">=</span><span class="pln"> </span><span class="pun">(</span><span>Button</span><span class="pun">)</span><span class="pln"> item</span><span class="pun">.</span><span class="pln">findViewById</span><span class="pun">(</span><span class="pln">R</span><span class="pun">.</span><span class="pln">id</span><span class="pun">.</span><span class="pln">btnEdit</span><span class="pun">);</span><span class="pln">
            agendaWrapper</span><span class="pun">.</span><span class="kwd">delete</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="pun">(</span><span>Button</span><span class="pun">)</span><span class="pln"> item</span><span class="pun">.</span><span class="pln">findViewById</span><span class="pun">(</span><span class="pln">R</span><span class="pun">.</span><span class="pln">id</span><span class="pun">.</span><span class="pln">btnDelete</span><span class="pun">);</span><span class="pln">
            item</span><span class="pun">.</span><span class="pln">setTag</span><span class="pun">(</span><span class="pln">agendaWrapper</span><span class="pun">);</span><span class="pln">
        </span><span class="pun">}</span><span class="pln"> </span><span class="kwd">else</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            agendaWrapper </span><span class="pun">=</span><span class="pln"> </span><span class="pun">(</span><span>AgendaWrapper</span><span class="pun">)</span><span class="pln"> item</span><span class="pun">.</span><span class="pln">getTag</span><span class="pun">();</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">

        </span><span>AgendaTo</span><span class="pln"> agenda </span><span class="pun">=</span><span class="pln"> agendas</span><span class="pun">.</span><span class="pln">get</span><span class="pun">(</span><span class="pln">position</span><span class="pun">);</span><span class="pln">
        agendaWrapper</span><span class="pun">.</span><span class="pln">nome</span><span class="pun">.</span><span class="pln">setText</span><span class="pun">(</span><span class="pln">agenda</span><span class="pun">.</span><span class="pln">getNome</span><span class="pun">());</span><span class="pln">
        </span><span>SimpleDateFormat</span><span class="pln"> sdf </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> </span><span>SimpleDateFormat</span><span class="pun">(</span><span class="str">"dd/MM/yyyy HH:mm:ss"</span><span class="pun">);</span><span class="pln">
        agendaWrapper</span><span class="pun">.</span><span class="pln">data</span><span class="pun">.</span><span class="pln">setText</span><span class="pun">(</span><span class="pln">sdf</span><span class="pun">.</span><span class="pln">format</span><span class="pun">(</span><span class="pln">agenda</span><span class="pun">.</span><span class="pln">getData</span><span class="pun">()));</span><span class="pln">        

        agendaWrapper</span><span class="pun">.</span><span class="pln">edit</span><span class="pun">.</span><span class="pln">setOnClickListener</span><span class="pun">(</span><span class="kwd">new</span><span class="pln"> </span><span>OnClickListener</span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">

            </span><span class="lit">@Override</span><span class="pln">
            </span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">void</span><span class="pln"> onClick</span><span class="pun">(</span><span>View</span><span class="pln"> v</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                </span><span>Toast</span><span class="pun">.</span><span class="pln">makeText</span><span class="pun">(</span><span class="pln">context</span><span class="pun">,</span><span class="pln"> </span><span class="str">"Edit"</span><span class="pun">,</span><span class="pln"> </span><span>Toast</span><span class="pun">.</span><span class="pln">LENGTH_LONG</span><span class="pun">).</span><span class="pln">show</span><span class="pun">();</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
        </span><span class="pun">});</span><span class="pln">

        final </span><span>int</span><span class="pln"> absolutePsition </span><span class="pun">=</span><span class="pln"> position</span><span class="pun">;</span><span class="pln">
        final </span><span>AgendaWrapper</span><span class="pln"> itemDelete </span><span class="pun">=</span><span class="pln"> agendaWrapper</span><span class="pun">;</span><span class="pln">
        final </span><span>ViewGroup</span><span class="pln"> viewGroup </span><span class="pun">=</span><span class="pln"> parent</span><span class="pun">;</span><span class="pln">

        agendaWrapper</span><span class="pun">.</span><span class="kwd">delete</span><span class="pun">.</span><span class="pln">setOnClickListener</span><span class="pun">(</span><span class="kwd">new</span><span class="pln"> </span><span>OnClickListener</span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">

            </span><span class="lit">@Override</span><span class="pln">
            </span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">void</span><span class="pln"> onClick</span><span class="pun">(</span><span>View</span><span class="pln"> v</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                </span><span>Toast</span><span class="pun">.</span><span class="pln">makeText</span><span class="pun">(</span><span class="pln">context</span><span class="pun">,</span><span class="pln"> </span><span class="str">"Delete "</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> absolutePsition</span><span class="pun">,</span><span class="pln"> </span><span>Toast</span><span class="pun">.</span><span class="pln">LENGTH_LONG</span><span class="pun">).</span><span class="pln">show</span><span class="pun">();</span><span class="pln">
                </span><span>AlertDialog</span><span class="pln"> diaBox </span><span class="pun">=</span><span class="pln"> </span><span>AskOption</span><span class="pun">(</span><span class="pln">itemDelete</span><span class="pun">,</span><span class="pln"> absolutePsition</span><span class="pun">,</span><span class="pln"> viewGroup</span><span class="pun">);</span><span class="pln">
                diaBox</span><span class="pun">.</span><span class="pln">show</span><span class="pun">();</span><span class="pln">

            </span><span class="pun">}</span><span class="pln">
        </span><span class="pun">});</span><span class="pln">

        </span><span class="kwd">return</span><span class="pln"> item</span><span class="pun">;</span><span class="pln">

    </span><span class="pun">}</span><span class="pln">

    </span><span class="kwd">private</span><span class="pln"> </span><span>AlertDialog</span><span class="pln"> </span><span>AskOption</span><span class="pun">(</span><span>AgendaWrapper</span><span class="pln"> agendaWrapper</span><span class="pun">,</span><span class="pln"> </span><span>int</span><span class="pln"> position</span><span class="pun">,</span><span class="pln"> final </span><span>ViewGroup</span><span class="pln"> viewGroup</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        final </span><span>int</span><span class="pln"> deletePosition </span><span class="pun">=</span><span class="pln"> position</span><span class="pun">;</span><span class="pln">
        </span><span>AlertDialog</span><span class="pln"> myQuittingDialogBox </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> </span><span>AlertDialog</span><span class="pun">.</span><span>Builder</span><span class="pun">(</span><span class="pln">context</span><span class="pun">)</span><span class="pln">
			
                </span><span class="pun">.</span><span class="pln">setTitle</span><span class="pun">(</span><span class="str">"Delete"</span><span class="pun">)</span><span class="pln">
                </span><span class="pun">.</span><span class="pln">setMessage</span><span class="pun">(</span><span class="str">"Do you want to Delete"</span><span class="pun">)</span><span class="pln">
			
                </span><span class="pun">.</span><span class="pln">setPositiveButton</span><span class="pun">(</span><span class="str">"Delete"</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> </span><span>DialogInterface</span><span class="pun">.</span><span>OnClickListener</span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">

                    </span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">void</span><span class="pln"> onClick</span><span class="pun">(</span><span>DialogInterface</span><span class="pln"> dialog</span><span class="pun">,</span><span class="pln"> </span><span>int</span><span class="pln"> whichButton</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                        agendas</span><span class="pun">.</span><span class="pln">remove</span><span class="pun">(</span><span class="pln">deletePosition</span><span class="pun">);</span><span class="pln">
                        refreshListView</span><span class="pun">(</span><span class="pln">agendas</span><span class="pun">,</span><span class="pln"> viewGroup</span><span class="pun">);</span><span class="pln">
                        dialog</span><span class="pun">.</span><span class="pln">dismiss</span><span class="pun">();</span><span class="pln">
                    </span><span class="pun">}</span><span class="pln">

                    </span><span class="kwd">private</span><span class="pln"> </span><span class="kwd">void</span><span class="pln"> refreshListView</span><span class="pun">(</span><span class="pln">final </span><span>ArrayList</span><span class="pun">&lt;</span><span>AgendaTo</span><span class="pun">&gt;</span><span class="pln"> agendas</span><span class="pun">,</span><span class="pln"> final </span><span>ViewGroup</span><span class="pln"> viewGroup</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                        final </span><span>MyArrayAdapter</span><span class="pln"> myArrayAdapter </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> </span><span>MyArrayAdapter</span><span class="pun">(</span><span class="pln">context</span><span class="pun">,</span><span class="pln"> R</span><span class="pun">.</span><span class="pln">layout</span><span class="pun">.</span><span class="pln">list_item</span><span class="pun">,</span><span class="pln"> agendas</span><span class="pun">);</span><span class="pln">
                        final </span><span>LayoutInflater</span><span class="pln"> inflater </span><span class="pun">=</span><span class="pln"> </span><span class="pun">((</span><span>Activity</span><span class="pun">)</span><span class="pln"> context</span><span class="pun">).</span><span class="pln">getLayoutInflater</span><span class="pun">();</span><span class="pln">
                        final </span><span>View</span><span class="pln"> view </span><span class="pun">=</span><span class="pln"> inflater</span><span class="pun">.</span><span class="pln">inflate</span><span class="pun">(</span><span class="pln">layoutResourceId</span><span class="pun">,</span><span class="pln"> viewGroup</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">false</span><span class="pun">);</span><span class="pln">
                        final </span><span>ListView</span><span class="pln"> listview </span><span class="pun">=</span><span class="pln"> </span><span class="pun">(</span><span>ListView</span><span class="pun">)</span><span class="pln"> view</span><span class="pun">.</span><span class="pln">findViewById</span><span class="pun">(</span><span class="pln">R</span><span class="pun">.</span><span class="pln">id</span><span class="pun">.</span><span class="pln">listView</span><span class="pun">);</span><span class="pln">
                        listview</span><span class="pun">.</span><span class="pln">setAdapter</span><span class="pun">(</span><span class="pln">myArrayAdapter</span><span class="pun">);</span><span class="pln">
                    </span><span class="pun">}</span><span class="pln">

                </span><span class="pun">})</span><span class="pln">
                </span><span class="pun">.</span><span class="pln">setNegativeButton</span><span class="pun">(</span><span class="str">"cancel"</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> </span><span>DialogInterface</span><span class="pun">.</span><span>OnClickListener</span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                    </span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">void</span><span class="pln"> onClick</span><span class="pun">(</span><span>DialogInterface</span><span class="pln"> dialog</span><span class="pun">,</span><span class="pln"> </span><span>int</span><span class="pln"> which</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                        dialog</span><span class="pun">.</span><span class="pln">dismiss</span><span class="pun">();</span><span class="pln">
                    </span><span class="pun">}</span><span class="pln">
                </span><span class="pun">})</span><span class="pln">
                </span><span class="pun">.</span><span class="pln">create</span><span class="pun">();</span><span class="pln">

        </span><span class="kwd">return</span><span class="pln"> myQuittingDialogBox</span><span class="pun">;</span><span class="pln">
    </span><span class="pun">}</span><span class="pln">


    </span><span class="kwd">static</span><span class="pln"> </span><span class="kwd">class</span><span class="pln"> </span><span>AgendaWrapper</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        </span><span>TextView</span><span class="pln"> nome</span><span class="pun">;</span><span class="pln">
        </span><span>TextView</span><span class="pln"> data</span><span class="pun">;</span><span class="pln">
        </span><span>Button</span><span class="pln"> edit</span><span class="pun">;</span><span class="pln">
        </span><span>Button</span><span class="pln"> </span><span class="kwd">delete</span><span class="pun">;</span><span class="pln">
    </span><span class="pun">}</span><span class="pln">

</span><span class="pun">}</span></pre>

<p>
	list_item.xml
</p>

<pre class="ipsCode prettyprint lang-xml prettyprinted">
<span class="tag">&lt;RelativeLayout</span><span class="pln"> </span><span class="atn">xmlns:android</span><span class="pun">=</span><span class="atv">"http://schemas.android.com/apk/res/android"</span><span class="pln">
    </span><span class="atn">xmlns:tools</span><span class="pun">=</span><span class="atv">"http://schemas.android.com/tools"</span><span class="pln">
    </span><span class="atn">android:layout_width</span><span class="pun">=</span><span class="atv">"match_parent"</span><span class="pln">
    </span><span class="atn">android:layout_height</span><span class="pun">=</span><span class="atv">"match_parent"</span><span class="pln">
    </span><span class="atn">android:padding</span><span class="pun">=</span><span class="atv">"4dp"</span><span class="pln">
    </span><span class="atn">tools:context</span><span class="pun">=</span><span class="atv">".AgendaActivity"</span><span class="pln"> </span><span class="tag">&gt;</span><span class="pln">

    </span><span class="tag">&lt;TextView</span><span class="pln">
        </span><span class="atn">android:id</span><span class="pun">=</span><span class="atv">"@+id/textNome"</span><span class="pln">
        </span><span class="atn">android:layout_width</span><span class="pun">=</span><span class="atv">"wrap_content"</span><span class="pln">
        </span><span class="atn">android:layout_height</span><span class="pun">=</span><span class="atv">"wrap_content"</span><span class="pln">
        </span><span class="atn">android:layout_alignParentLeft</span><span class="pun">=</span><span class="atv">"true"</span><span class="pln">
        </span><span class="atn">android:layout_alignParentTop</span><span class="pun">=</span><span class="atv">"true"</span><span class="pln">
        </span><span class="atn">android:text</span><span class="pun">=</span><span class="atv">"Nome:"</span><span class="pln">
        </span><span class="atn">android:width</span><span class="pun">=</span><span class="atv">"50dp"</span><span class="pln">
        </span><span class="atn">android:textAppearance</span><span class="pun">=</span><span class="atv">"?android:attr/textAppearanceLarge"</span><span class="pln"> </span><span class="tag">/&gt;</span><span class="pln">

    </span><span class="tag">&lt;TextView</span><span class="pln">
        </span><span class="atn">android:id</span><span class="pun">=</span><span class="atv">"@+id/textData"</span><span class="pln">
        </span><span class="atn">android:layout_width</span><span class="pun">=</span><span class="atv">"wrap_content"</span><span class="pln">
        </span><span class="atn">android:layout_height</span><span class="pun">=</span><span class="atv">"wrap_content"</span><span class="pln">
        </span><span class="atn">android:layout_below</span><span class="pun">=</span><span class="atv">"@+id/textData"</span><span class="pln">
        </span><span class="atn">android:layout_alignTop</span><span class="pun">=</span><span class="atv">"@id/textNome"</span><span class="pln">
        </span><span class="atn">android:layout_alignRight</span><span class="pun">=</span><span class="atv">"@id/textNome"</span><span class="pln">
        </span><span class="atn">android:layout_alignParentLeft</span><span class="pun">=</span><span class="atv">"true"</span><span class="pln">
        </span><span class="atn">android:layout_marginTop</span><span class="pun">=</span><span class="atv">"5dp"</span><span class="pln">
        </span><span class="atn">android:width</span><span class="pun">=</span><span class="atv">"50dp"</span><span class="pln">
        </span><span class="atn">android:text</span><span class="pun">=</span><span class="atv">"Data:"</span><span class="pln">
        </span><span class="atn">android:textAppearance</span><span class="pun">=</span><span class="atv">"?android:attr/dateTextAppearance"</span><span class="pln">
        </span><span class="atn">android:textSize</span><span class="pun">=</span><span class="atv">"16sp"</span><span class="pln"> </span><span class="tag">/&gt;</span><span class="pln">

    </span><span class="tag">&lt;Button</span><span class="pln">
        </span><span class="atn">android:id</span><span class="pun">=</span><span class="atv">"@+id/btnEdit"</span><span class="pln">
        </span><span class="atn">android:layout_width</span><span class="pun">=</span><span class="atv">"80dp"</span><span class="pln">
        </span><span class="atn">android:layout_height</span><span class="pun">=</span><span class="atv">"40dp"</span><span class="pln">
        </span><span class="atn">android:layout_alignParentRight</span><span class="pun">=</span><span class="atv">"true"</span><span class="pln">
        </span><span class="atn">android:layout_alignParentTop</span><span class="pun">=</span><span class="atv">"true"</span><span class="pln">
        </span><span class="atn">android:background</span><span class="pun">=</span><span class="atv">"#99CC"</span><span class="pln">
        </span><span class="atn">android:focusable</span><span class="pun">=</span><span class="atv">"false"</span><span class="pln">
        </span><span class="atn">android:focusableInTouchMode</span><span class="pun">=</span><span class="atv">"false"</span><span class="pln">
        </span><span class="atn">android:text</span><span class="pun">=</span><span class="atv">"Edit"</span><span class="pln">
        </span><span class="atn">android:textColor</span><span class="pun">=</span><span class="atv">"#FFFFFF"</span><span class="pln"> </span><span class="tag">/&gt;</span><span class="pln">

    </span><span class="tag">&lt;Button</span><span class="pln">
        </span><span class="atn">android:id</span><span class="pun">=</span><span class="atv">"@+id/btnDelete"</span><span class="pln">
        </span><span class="atn">android:layout_width</span><span class="pun">=</span><span class="atv">"80dp"</span><span class="pln">
        </span><span class="atn">android:layout_height</span><span class="pun">=</span><span class="atv">"40dp"</span><span class="pln">
        </span><span class="atn">android:layout_alignParentRight</span><span class="pun">=</span><span class="atv">"true"</span><span class="pln">
        </span><span class="atn">android:layout_below</span><span class="pun">=</span><span class="atv">"@+id/btnEdit"</span><span class="pln">
        </span><span class="atn">android:layout_marginTop</span><span class="pun">=</span><span class="atv">"3dp"</span><span class="pln">
        </span><span class="atn">android:background</span><span class="pun">=</span><span class="atv">"#99CC"</span><span class="pln">
        </span><span class="atn">android:focusable</span><span class="pun">=</span><span class="atv">"false"</span><span class="pln">
        </span><span class="atn">android:focusableInTouchMode</span><span class="pun">=</span><span class="atv">"false"</span><span class="pln">
        </span><span class="atn">android:text</span><span class="pun">=</span><span class="atv">"Delete"</span><span class="pln">
        </span><span class="atn">android:textColor</span><span class="pun">=</span><span class="atv">"#FFFFFF"</span><span class="pln"> </span><span class="tag">/&gt;</span><span class="pln">

</span><span class="tag">&lt;/RelativeLayout&gt;</span></pre>

<p>
	activity_agenda.xml
</p>

<pre class="ipsCode prettyprint lang-xml prettyprinted">
<span class="tag">&lt;RelativeLayout</span><span class="pln"> </span><span class="atn">xmlns:android</span><span class="pun">=</span><span class="atv">"http://schemas.android.com/apk/res/android"</span><span class="pln">
    </span><span class="atn">xmlns:tools</span><span class="pun">=</span><span class="atv">"http://schemas.android.com/tools"</span><span class="pln">
    </span><span class="atn">android:layout_width</span><span class="pun">=</span><span class="atv">"match_parent"</span><span class="pln">
    </span><span class="atn">android:layout_height</span><span class="pun">=</span><span class="atv">"match_parent"</span><span class="pln">
    </span><span class="atn">android:background</span><span class="pun">=</span><span class="atv">"#990044"</span><span class="pln">
    </span><span class="atn">tools:context</span><span class="pun">=</span><span class="atv">"com.test.android.view.AgendaActivity"</span><span class="pln"> </span><span class="tag">&gt;</span><span class="pln">

    </span><span class="tag">&lt;TextView</span><span class="pln">
        </span><span class="atn">android:id</span><span class="pun">=</span><span class="atv">"@+id/listLabel"</span><span class="pln">
        </span><span class="atn">android:layout_width</span><span class="pun">=</span><span class="atv">"wrap_content"</span><span class="pln">
        </span><span class="atn">android:layout_height</span><span class="pun">=</span><span class="atv">"wrap_content"</span><span class="pln">
        </span><span class="atn">android:layout_alignParentTop</span><span class="pun">=</span><span class="atv">"true"</span><span class="pln">
        </span><span class="atn">android:layout_centerHorizontal</span><span class="pun">=</span><span class="atv">"true"</span><span class="pln">
        </span><span class="atn">android:text</span><span class="pun">=</span><span class="atv">"Touch List"</span><span class="pln">
        </span><span class="atn">android:textColor</span><span class="pun">=</span><span class="atv">"#FFFFFF"</span><span class="pln">
        </span><span class="atn">android:textSize</span><span class="pun">=</span><span class="atv">"25sp"</span><span class="pln"> </span><span class="tag">/&gt;</span><span class="pln">

    </span><span class="tag">&lt;ListView</span><span class="pln">
        </span><span class="atn">android:id</span><span class="pun">=</span><span class="atv">"@+id/listView"</span><span class="pln">
        </span><span class="atn">android:layout_width</span><span class="pun">=</span><span class="atv">"fill_parent"</span><span class="pln">
        </span><span class="atn">android:layout_height</span><span class="pun">=</span><span class="atv">"fill_parent"</span><span class="pln">
        </span><span class="atn">android:layout_below</span><span class="pun">=</span><span class="atv">"@+id/listLabel"</span><span class="pln">
        </span><span class="atn">android:layout_marginTop</span><span class="pun">=</span><span class="atv">"5dp"</span><span class="pln">
        </span><span class="atn">android:cacheColorHint</span><span class="pun">=</span><span class="atv">"#FFFFFF"</span><span class="pln"> </span><span class="tag">/&gt;</span><span class="pln">

</span><span class="tag">&lt;/RelativeLayout&gt;</span></pre>

<p>
	 
</p>
]]></description><guid isPermaLink="false">586502</guid><pubDate>Sun, 26 Jul 2020 19:15:17 +0000</pubDate></item><item><title>Erro de codigo no VS code criando formul&#xE1;rio e redirecionamento</title><link>https://forum.imasters.com.br/topic/585341-erro-de-codigo-no-vs-code-criando-formul%C3%A1rio-e-redirecionamento/</link><description><![CDATA[
<p>
	Por gentileza, preciso de ajuda! estou iniciando aqui na comunidade e recente no flutter. Tenho uma missão de utilizar o json e controller dos inputs. Preciso pelo botão (ADD) sair da Primeira tela redirecionar para a Segunda tela, salvar ao colocar os inputs e retornar para a primeira mostrando (nome e valor). O formulário da Segunda Tela terá campos: nome, telefone, data e valor. Quero manter a função dismissible para termos o efeito de arrastar o item da lista. Segue o que estou fazendo mais com erros.
</p>

<p>
	 
</p>

<p>
	Não sei como proceder e apanhando a vários dias!
</p>

<p>
	  
</p>

<pre class="ipsCode">
import 'dart:async';
import 'dart:convert';
import 'dart:io';

import 'package:flutter/material.dart';
import 'package:path_provider/path_provider.dart';

void main(){
  runApp(MaterialApp(
    home: Home(),
  ));
}

class Home extends StatefulWidget {
  @override
  _HomeState createState() =&gt; _HomeState();
}

class _HomeState extends State&lt;Home&gt; {

  final _toDoController = TextEditingController();

  List _toDoList = [SegundaRota];
  

  Map&lt;String, dynamic&gt; _lastRemoved;
  int _lastRemovedPos;

  @override
  void initState() {
    super.initState();

    _readData().then((data) {
      setState(() {
        _toDoList = json.decode(data);
      });
    });
  }

  void _addToDo() {
    setState(() {
      Map&lt;String, dynamic&gt; newToDo = Map();
      newToDo["title"] = _toDoController.text;
      _toDoController.text = "";
      newToDo["ok"] = false;
      _toDoList.add(newToDo);

      _saveData();
    });
  }

  Future&lt;Null&gt; _refresh() async{
    await Future.delayed(Duration(seconds: 1));

    setState(() {
      _toDoList.sort((a, b){
        if(a["ok"] &amp;&amp; !b["ok"]) return 1;
        else if(!a["ok"] &amp;&amp; b["ok"]) return -1;
        else return 0;
      });

      _saveData();
    });

    return null;
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text("Lista de Tarefas"),
        backgroundColor: Colors.blueAccent,
        centerTitle: true,
      ),
      body: Column(
        children: &lt;Widget&gt;[
          Container(
            padding: EdgeInsets.fromLTRB(17.0, 1.0, 7.0, 1.0),
            child: Row(
              children: &lt;Widget&gt;[
                
                RaisedButton(
                  color: Colors.blueAccent,
                  child: Text("ADD"),
                  textColor: Colors.white,
                  onPressed: () {
            		  Navigator.push(
              		  context,
	                  MaterialPageRoute(builder: (context) =&gt; SegundaRota()),
            		  );
          	     },
                )
              ],
            ),
          ),
          Expanded(
            child: RefreshIndicator(onRefresh: _refresh,
              child: ListView.builder(
                  padding: EdgeInsets.only(top: 10.0),
                  itemCount: _toDoList.length,
                  itemBuilder: buildItem),),
          )
        ],
      ),
    );
  }

  Widget buildItem(BuildContext context, int index){
    return Dismissible(
      key: Key(DateTime.now().millisecondsSinceEpoch.toString()),
      background: Container(
        color: Colors.red,
        child: Align(
          alignment: Alignment(-0.9, 0.0),
          child: Icon(Icons.delete, color: Colors.white,),
        ),
      ),
      direction: DismissDirection.startToEnd,
      child: CheckboxListTile(
        title: Text(_toDoList[index]["title"]),
        value: _toDoList[index]["ok"],
        secondary: CircleAvatar(
          child: Icon(_toDoList[index]["ok"] ?
          Icons.check : Icons.error),),
        onChanged: (c){
          setState(() {
            _toDoList[index]["ok"] = c;
            _saveData();
          });
        },
      ),
      onDismissed: (direction){
        setState(() {
          _lastRemoved = Map.from(_toDoList[index]);
          _lastRemovedPos = index;
          _toDoList.removeAt(index);

          _saveData();

          final snack = SnackBar(
            content: Text("Tarefa \"${_lastRemoved["title"]}\" removida!"),
            action: SnackBarAction(label: "Desfazer",
                onPressed: () {
                  setState(() {
                    _toDoList.insert(_lastRemovedPos, _lastRemoved);
                    _saveData();
                  });
                }),
            duration: Duration(seconds: 2),
          );

          Scaffold.of(context).removeCurrentSnackBar();
          Scaffold.of(context).showSnackBar(snack);

        });
      },
    );
  }

  Future&lt;File&gt; _getFile() async {
    final directory = await getApplicationDocumentsDirectory();
    return File("${directory.path}/data.json");
  }

  Future&lt;File&gt; _saveData() async {
    String data = json.encode(_toDoList);

    final file = await _getFile();
    return file.writeAsString(data);
  }

  Future&lt;String&gt; _readData() async {
    try {
      final file = await _getFile();

      return file.readAsString();
    } catch (e) {
      return null;
    }
  }

}

class SegundaRota extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text("Segunda Rota (tela)"),
      ),

      body: Column(
        children: &lt;Widget&gt;[
          Container(
            padding: EdgeInsets.fromLTRB(17.0, 1.0, 7.0, 1.0),
            child: Row(
              children: &lt;Widget&gt;[
                Expanded(
                  child: TextField(
                    controller: _toDoController,
                    decoration: InputDecoration(
                        labelText: "Nova Tarefa",
                        labelStyle: TextStyle(color: Colors.blueAccent)
                    ),
                  )
                ),
                RaisedButton(
                  color: Colors.blueAccent,
                  child: Text("ADD"),
                  textColor: Colors.white,
                  onPressed: _addToDo,
                )
              ],
            ),
          ),
          Expanded(
            child: RefreshIndicator(onRefresh: _refresh,
              child: ListView.builder(
                  padding: EdgeInsets.only(top: 10.0),
                  itemCount: _toDoList.length,
                  itemBuilder: buildItem),),
          )
        ],
      ),  

      body: Center(       child: RaisedButton(
          onPressed: () { 
            Navigator.pop(context);
          },
          child: Text('Retornar !'),
        ),
      ),
    );
  
  }



}

</pre>

<p>
	 
</p>

<p><a href="https://forum.imasters.com.br/uploads/monthly_2019_12/298451412_ERROVScode.png.48cd3193ecc89009639d8e63a83b0731.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="4931" src="https://forum.imasters.com.br/uploads/monthly_2019_12/2058700360_ERROVScode.thumb.png.cbaa88bf01bcbc7fbb48d9e6abdf1cf6.png" class="ipsImage ipsImage_thumbnailed" alt="ERRO VS code.png"></a></p>]]></description><guid isPermaLink="false">585341</guid><pubDate>Fri, 06 Dec 2019 19:41:36 +0000</pubDate></item><item><title>Integra&#xE7;&#xE3;o API google pay</title><link>https://forum.imasters.com.br/topic/585071-integra%C3%A7%C3%A3o-api-google-pay/</link><description><![CDATA[
<p>
	Boa tarde a todos,
</p>

<p>
	Estou realizando uma integração da API do google pay, basicamente trabalho com duas classes(MainActivity e GooglePay.java) e estou com alguns problemas na classe principal, mais especificamente no método "possiblyShowGooglePayButton" e "onActivityResult", no qual enfrento problema de NullPointer e erros na conversão de Objetos JSON.
</p>

<pre class="ipsCode prettyprint lang-c prettyprinted">
<span class="pln">package com</span><span class="pun">.</span><span class="pln">example</span><span class="pun">.</span><span class="pln">testeapi</span><span class="pun">;</span><span class="pln">

</span><span class="kwd">import</span><span class="pln"> androidx</span><span class="pun">.</span><span class="pln">annotation</span><span class="pun">.</span><span>NonNull</span><span class="pun">;</span><span class="pln">
</span><span class="kwd">import</span><span class="pln"> androidx</span><span class="pun">.</span><span class="pln">appcompat</span><span class="pun">.</span><span class="pln">app</span><span class="pun">.</span><span>AppCompatActivity</span><span class="pun">;</span><span class="pln">

</span><span class="kwd">import</span><span class="pln"> android</span><span class="pun">.</span><span class="pln">app</span><span class="pun">.</span><span>Activity</span><span class="pun">;</span><span class="pln">
</span><span class="kwd">import</span><span class="pln"> android</span><span class="pun">.</span><span class="pln">content</span><span class="pun">.</span><span>Intent</span><span class="pun">;</span><span class="pln">
</span><span class="kwd">import</span><span class="pln"> android</span><span class="pun">.</span><span class="pln">os</span><span class="pun">.</span><span>Bundle</span><span class="pun">;</span><span class="pln">
</span><span class="kwd">import</span><span class="pln"> android</span><span class="pun">.</span><span class="pln">util</span><span class="pun">.</span><span>Log</span><span class="pun">;</span><span class="pln">
</span><span class="kwd">import</span><span class="pln"> android</span><span class="pun">.</span><span class="pln">view</span><span class="pun">.</span><span>View</span><span class="pun">;</span><span class="pln">

</span><span class="kwd">import</span><span class="pln"> com</span><span class="pun">.</span><span class="pln">google</span><span class="pun">.</span><span class="pln">android</span><span class="pun">.</span><span class="pln">gms</span><span class="pun">.</span><span class="pln">common</span><span class="pun">.</span><span class="pln">api</span><span class="pun">.</span><span>ApiException</span><span class="pun">;</span><span class="pln">
</span><span class="kwd">import</span><span class="pln"> com</span><span class="pun">.</span><span class="pln">google</span><span class="pun">.</span><span class="pln">android</span><span class="pun">.</span><span class="pln">gms</span><span class="pun">.</span><span class="pln">common</span><span class="pun">.</span><span class="pln">api</span><span class="pun">.</span><span>Status</span><span class="pun">;</span><span class="pln">
</span><span class="kwd">import</span><span class="pln"> com</span><span class="pun">.</span><span class="pln">google</span><span class="pun">.</span><span class="pln">android</span><span class="pun">.</span><span class="pln">gms</span><span class="pun">.</span><span class="pln">tasks</span><span class="pun">.</span><span>OnCompleteListener</span><span class="pun">;</span><span class="pln">
</span><span class="kwd">import</span><span class="pln"> com</span><span class="pun">.</span><span class="pln">google</span><span class="pun">.</span><span class="pln">android</span><span class="pun">.</span><span class="pln">gms</span><span class="pun">.</span><span class="pln">tasks</span><span class="pun">.</span><span>Task</span><span class="pun">;</span><span class="pln">
</span><span class="kwd">import</span><span class="pln"> com</span><span class="pun">.</span><span class="pln">google</span><span class="pun">.</span><span class="pln">android</span><span class="pun">.</span><span class="pln">gms</span><span class="pun">.</span><span class="pln">wallet</span><span class="pun">.</span><span>AutoResolveHelper</span><span class="pun">;</span><span class="pln">
</span><span class="kwd">import</span><span class="pln"> com</span><span class="pun">.</span><span class="pln">google</span><span class="pun">.</span><span class="pln">android</span><span class="pun">.</span><span class="pln">gms</span><span class="pun">.</span><span class="pln">wallet</span><span class="pun">.</span><span>IsReadyToPayRequest</span><span class="pun">;</span><span class="pln">
</span><span class="kwd">import</span><span class="pln"> com</span><span class="pun">.</span><span class="pln">google</span><span class="pun">.</span><span class="pln">android</span><span class="pun">.</span><span class="pln">gms</span><span class="pun">.</span><span class="pln">wallet</span><span class="pun">.</span><span>PaymentData</span><span class="pun">;</span><span class="pln">
</span><span class="kwd">import</span><span class="pln"> com</span><span class="pun">.</span><span class="pln">google</span><span class="pun">.</span><span class="pln">android</span><span class="pun">.</span><span class="pln">gms</span><span class="pun">.</span><span class="pln">wallet</span><span class="pun">.</span><span>PaymentDataRequest</span><span class="pun">;</span><span class="pln">
</span><span class="kwd">import</span><span class="pln"> com</span><span class="pun">.</span><span class="pln">google</span><span class="pun">.</span><span class="pln">android</span><span class="pun">.</span><span class="pln">gms</span><span class="pun">.</span><span class="pln">wallet</span><span class="pun">.</span><span>PaymentsClient</span><span class="pun">;</span><span class="pln">
</span><span class="kwd">import</span><span class="pln"> com</span><span class="pun">.</span><span class="pln">google</span><span class="pun">.</span><span class="pln">android</span><span class="pun">.</span><span class="pln">gms</span><span class="pun">.</span><span class="pln">wallet</span><span class="pun">.</span><span>Wallet</span><span class="pun">;</span><span class="pln">
</span><span class="kwd">import</span><span class="pln"> com</span><span class="pun">.</span><span class="pln">google</span><span class="pun">.</span><span class="pln">android</span><span class="pun">.</span><span class="pln">gms</span><span class="pun">.</span><span class="pln">wallet</span><span class="pun">.</span><span>WalletConstants</span><span class="pun">;</span><span class="pln">

</span><span class="kwd">import</span><span class="pln"> org</span><span class="pun">.</span><span class="pln">json</span><span class="pun">.</span><span>JSONObject</span><span class="pun">;</span><span class="pln">

</span><span class="kwd">import</span><span class="pln"> java</span><span class="pun">.</span><span class="pln">util</span><span class="pun">.</span><span>Optional</span><span class="pun">;</span><span class="pln">

</span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">class</span><span class="pln"> </span><span>MainActivity</span><span class="pln"> extends </span><span>AppCompatActivity</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
    </span><span class="kwd">public</span><span class="pln"> </span><span>PaymentsClient</span><span class="pln"> mPaymentsClient</span><span class="pun">;</span><span class="pln">
    </span><span class="kwd">private</span><span class="pln"> </span><span>View</span><span class="pln"> mGooglePayButton</span><span class="pun">;</span><span class="pln">
    </span><span class="kwd">private</span><span class="pln"> </span><span class="kwd">static</span><span class="pln"> final </span><span>int</span><span class="pln"> LOAD_PAYMENT_DATA_REQUEST_CODE </span><span class="pun">=</span><span class="pln"> </span><span class="lit">42</span><span class="pun">;</span><span class="pln">

    </span><span class="lit">@Override</span><span class="pln">
    </span><span class="kwd">protected</span><span class="pln"> </span><span class="kwd">void</span><span class="pln"> onCreate</span><span class="pun">(</span><span>Bundle</span><span class="pln"> savedInstanceState</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        super</span><span class="pun">.</span><span class="pln">onCreate</span><span class="pun">(</span><span class="pln">savedInstanceState</span><span class="pun">);</span><span class="pln">
        setContentView</span><span class="pun">(</span><span class="pln">R</span><span class="pun">.</span><span class="pln">layout</span><span class="pun">.</span><span class="pln">activity_main</span><span class="pun">);</span><span class="pln">

        mPaymentsClient </span><span class="pun">=</span><span class="pln">
                </span><span>Wallet</span><span class="pun">.</span><span class="pln">getPaymentsClient</span><span class="pun">(</span><span class="pln">
                        </span><span class="kwd">this</span><span class="pun">,</span><span class="pln">
                        </span><span class="kwd">new</span><span class="pln"> </span><span>Wallet</span><span class="pun">.</span><span>WalletOptions</span><span class="pun">.</span><span>Builder</span><span class="pun">()</span><span class="pln">
                                </span><span class="pun">.</span><span class="pln">setEnvironment</span><span class="pun">(</span><span>WalletConstants</span><span class="pun">.</span><span class="pln">ENVIRONMENT_TEST</span><span class="pun">)</span><span class="pln">
                                </span><span class="pun">.</span><span class="pln">build</span><span class="pun">());</span><span class="pln">
        possiblyShowGooglePayButton</span><span class="pun">();</span><span class="pln">
    </span><span class="pun">}</span><span class="pln">

    </span><span class="kwd">private</span><span class="pln"> </span><span class="kwd">void</span><span class="pln"> possiblyShowGooglePayButton</span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        final </span><span>Optional</span><span class="pun">&lt;</span><span>JSONObject</span><span class="pun">&gt;</span><span class="pln"> isReadyToPayJson </span><span class="pun">=</span><span class="pln"> </span><span>GooglePay</span><span class="pun">.</span><span class="pln">getIsReadyToPayRequest</span><span class="pun">();</span><span class="pln">
        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(!</span><span class="pln">isReadyToPayJson</span><span class="pun">.</span><span class="pln">isPresent</span><span class="pun">())</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">return</span><span class="pun">;</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
        </span><span>IsReadyToPayRequest</span><span class="pln"> request </span><span class="pun">=</span><span class="pln"> </span><span>IsReadyToPayRequest</span><span class="pun">.</span><span class="pln">fromJson</span><span class="pun">(</span><span class="pln">isReadyToPayJson</span><span class="pun">.</span><span class="pln">get</span><span class="pun">().</span><span class="pln">toString</span><span class="pun">());</span><span class="pln">
        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">request </span><span class="pun">==</span><span class="pln"> null</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">return</span><span class="pun">;</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
        </span><span>Task</span><span class="pun">&lt;</span><span>Boolean</span><span class="pun">&gt;</span><span class="pln"> task </span><span class="pun">=</span><span class="pln"> mPaymentsClient</span><span class="pun">.</span><span class="pln">isReadyToPay</span><span class="pun">(</span><span class="pln">request</span><span class="pun">);</span><span class="pln">
        task</span><span class="pun">.</span><span class="pln">addOnCompleteListener</span><span class="pun">(</span><span class="pln">
                </span><span class="kwd">new</span><span class="pln"> </span><span>OnCompleteListener</span><span class="pun">&lt;</span><span>Boolean</span><span class="pun">&gt;()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                    </span><span class="lit">@Override</span><span class="pln">
                    </span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">void</span><span class="pln"> onComplete</span><span class="pun">(</span><span class="lit">@NonNull</span><span class="pln"> </span><span>Task</span><span class="pun">&lt;</span><span>Boolean</span><span class="pun">&gt;</span><span class="pln"> task</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                        </span><span class="kwd">try</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                            boolean result </span><span class="pun">=</span><span class="pln"> task</span><span class="pun">.</span><span class="pln">getResult</span><span class="pun">(</span><span>ApiException</span><span class="pun">.</span><span class="kwd">class</span><span class="pun">);</span><span class="pln">
                            </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">result</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                                </span><span class="com">// show Google as a payment option</span><span class="pln">
                                mGooglePayButton </span><span class="pun">=</span><span class="pln"> findViewById</span><span class="pun">(</span><span class="pln">R</span><span class="pun">.</span><span class="pln">id</span><span class="pun">.</span><span class="pln">googlepay</span><span class="pun">);</span><span class="pln">
                                mGooglePayButton</span><span class="pun">.</span><span class="pln">setOnClickListener</span><span class="pun">(</span><span class="pln">
                                        </span><span class="kwd">new</span><span class="pln"> </span><span>View</span><span class="pun">.</span><span>OnClickListener</span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                                            </span><span class="lit">@Override</span><span class="pln">
                                            </span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">void</span><span class="pln"> onClick</span><span class="pun">(</span><span>View</span><span class="pln"> view</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                                                requestPayment</span><span class="pun">(</span><span class="pln">view</span><span class="pun">);</span><span class="pln">
                                            </span><span class="pun">}</span><span class="pln">
                                        </span><span class="pun">});</span><span class="pln">
                                mGooglePayButton</span><span class="pun">.</span><span class="pln">setVisibility</span><span class="pun">(</span><span>View</span><span class="pun">.</span><span class="pln">VISIBLE</span><span class="pun">);</span><span class="pln">
                            </span><span class="pun">}</span><span class="pln">
                        </span><span class="pun">}</span><span class="pln"> </span><span class="kwd">catch</span><span class="pln"> </span><span class="pun">(</span><span>ApiException</span><span class="pln"> exception</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                            </span><span class="com">// Erro</span><span class="pln">
                        </span><span class="pun">}</span><span class="pln">
                    </span><span class="pun">}</span><span class="pln">
                </span><span class="pun">});</span><span class="pln">
    </span><span class="pun">}</span><span class="pln">

    </span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">void</span><span class="pln"> requestPayment</span><span class="pun">(</span><span>View</span><span class="pln"> view</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        </span><span>Optional</span><span class="pun">&lt;</span><span>JSONObject</span><span class="pun">&gt;</span><span class="pln"> paymentDataRequestJson </span><span class="pun">=</span><span class="pln"> </span><span>GooglePay</span><span class="pun">.</span><span class="pln">getPaymentDataRequest</span><span class="pun">();</span><span class="pln">
        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(!</span><span class="pln">paymentDataRequestJson</span><span class="pun">.</span><span class="pln">isPresent</span><span class="pun">())</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">return</span><span class="pun">;</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
        </span><span>PaymentDataRequest</span><span class="pln"> request </span><span class="pun">=</span><span class="pln">
                </span><span>PaymentDataRequest</span><span class="pun">.</span><span class="pln">fromJson</span><span class="pun">(</span><span class="pln">paymentDataRequestJson</span><span class="pun">.</span><span class="pln">get</span><span class="pun">().</span><span class="pln">toString</span><span class="pun">());</span><span class="pln">
        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">request </span><span class="pun">!=</span><span class="pln"> null</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span>AutoResolveHelper</span><span class="pun">.</span><span class="pln">resolveTask</span><span class="pun">(</span><span class="pln">
                    mPaymentsClient</span><span class="pun">.</span><span class="pln">loadPaymentData</span><span class="pun">(</span><span class="pln">request</span><span class="pun">),</span><span class="pln"> </span><span class="kwd">this</span><span class="pun">,</span><span class="pln"> LOAD_PAYMENT_DATA_REQUEST_CODE</span><span class="pun">);</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
    </span><span class="pun">}</span><span class="pln">
    </span><span class="lit">@Override</span><span class="pln">
    </span><span class="kwd">protected</span><span class="pln"> </span><span class="kwd">void</span><span class="pln"> onActivityResult</span><span class="pun">(</span><span>int</span><span class="pln"> requestCode</span><span class="pun">,</span><span class="pln"> </span><span>int</span><span class="pln"> resultCode</span><span class="pun">,</span><span class="pln"> </span><span>Intent</span><span class="pln"> data</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        super</span><span class="pun">.</span><span class="pln">onActivityResult</span><span class="pun">(</span><span class="pln">requestCode</span><span class="pun">,</span><span class="pln"> resultCode</span><span class="pun">,</span><span class="pln"> data</span><span class="pun">);</span><span class="pln">
        </span><span class="com">// valor passado ao AutoResolveHelper</span><span class="pln">
        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">requestCode </span><span class="pun">==</span><span class="pln"> LOAD_PAYMENT_DATA_REQUEST_CODE</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">switch</span><span class="pln"> </span><span class="pun">(</span><span class="pln">resultCode</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">case</span><span class="pln"> </span><span>Activity</span><span class="pun">.</span><span class="pln">RESULT_OK</span><span class="pun">:</span><span class="pln">
                    </span><span>PaymentData</span><span class="pln"> paymentData </span><span class="pun">=</span><span class="pln"> </span><span>PaymentData</span><span class="pun">.</span><span class="pln">getFromIntent</span><span class="pun">(</span><span class="pln">data</span><span class="pun">);</span><span class="pln">
                    </span><span>String</span><span class="pln"> json </span><span class="pun">=</span><span class="pln"> paymentData</span><span class="pun">.</span><span class="pln">toJson</span><span class="pun">();</span><span class="pln">

                    </span><span>String</span><span class="pln"> paymentMethodData </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> </span><span>JSONObject</span><span class="pun">(</span><span class="pln">json</span><span class="pun">)</span><span class="pln">
                            </span><span class="pun">.</span><span class="pln">getJSONObject</span><span class="pun">(</span><span class="pln">paymentMethodData</span><span class="pun">);</span><span class="pln">
                    </span><span>String</span><span class="pln"> paymentToken </span><span class="pun">=</span><span class="pln"> </span><span class="pun">((</span><span>JSONObject</span><span class="pun">)</span><span class="pln"> paymentMethodData</span><span class="pun">)</span><span class="pln">
                            </span><span class="pun">.</span><span class="pln">getJSONObject</span><span class="pun">(</span><span class="str">"tokenizationData"</span><span class="pun">)</span><span class="pln">
                            </span><span class="pun">.</span><span class="pln">getString</span><span class="pun">(</span><span class="str">"token"</span><span class="pun">);</span><span class="pln">
                    </span><span class="kwd">break</span><span class="pun">;</span><span class="pln">
                </span><span class="kwd">case</span><span class="pln"> </span><span>Activity</span><span class="pun">.</span><span class="pln">RESULT_CANCELED</span><span class="pun">:</span><span class="pln">
                    </span><span class="kwd">break</span><span class="pun">;</span><span class="pln">
                </span><span class="kwd">case</span><span class="pln"> </span><span>AutoResolveHelper</span><span class="pun">.</span><span class="pln">RESULT_ERROR</span><span class="pun">:</span><span class="pln">
                    </span><span>Status</span><span class="pln"> status </span><span class="pun">=</span><span class="pln"> </span><span>AutoResolveHelper</span><span class="pun">.</span><span class="pln">getStatusFromIntent</span><span class="pun">(</span><span class="pln">data</span><span class="pun">);</span><span class="pln">
                    </span><span>Log</span><span class="pun">.</span><span class="pln">i</span><span class="pun">(</span><span class="str">"Status"</span><span class="pun">,</span><span class="pln"> </span><span class="str">"Erro na requisição"</span><span class="pun">);</span><span class="pln">
                    </span><span class="com">// Generally, there is no need to show an error to the user.</span><span class="pln">
                    </span><span class="com">// The Google Pay payment sheet will present any account errors.</span><span class="pln">
                    </span><span class="kwd">break</span><span class="pun">;</span><span class="pln">
                </span><span class="kwd">default</span><span class="pun">:</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
    </span><span class="pun">}</span><span class="pln">
</span><span class="pun">}</span></pre>

<p>
	Se alguém puder me ajudar agradeço, já estou tentando resolver a um bom tempo.
</p>

<p><a href="https://forum.imasters.com.br/uploads/monthly_2019_11/classe.PNG.99824b1859256bc8837a9a568641f07b.PNG" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="4869" src="https://forum.imasters.com.br/uploads/monthly_2019_11/classe.thumb.PNG.89997fac1d2f4f46db0d07ae0500f478.PNG" class="ipsImage ipsImage_thumbnailed" alt="classe.PNG"></a></p>
<p><a href="https://forum.imasters.com.br/uploads/monthly_2019_11/nullpointer.png.c47cfc773735e92d5992a6026bb5ee17.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="4870" src="https://forum.imasters.com.br/uploads/monthly_2019_11/nullpointer.thumb.png.38a17c5efcb7a536ceb505daa414fe3f.png" class="ipsImage ipsImage_thumbnailed" alt="nullpointer.png"></a></p>]]></description><guid isPermaLink="false">585071</guid><pubDate>Tue, 12 Nov 2019 15:05:29 +0000</pubDate></item><item><title>Notifica&#xE7;&#xF5;es  com  App  Off</title><link>https://forum.imasters.com.br/topic/585017-notifica%C3%A7%C3%B5es-com-app-off/</link><description><![CDATA[
<p>
	Prezados Amigos,
</p>

<p>
	 
</p>

<p>
	Preciso fazer um aplicativo envie notificações para o aparelho, mesmo o app estando off (procedimento igual ao WhatsApp).
</p>

<p>
	 
</p>

<p>
	Tentei de tudo e em todas as opções preciso estar com ele ativo para funcionar.
</p>

<p>
	 
</p>

<p>
	Abraços em todos.
</p>

<p>
	 
</p>

<p>
	 
</p>
]]></description><guid isPermaLink="false">585017</guid><pubDate>Thu, 07 Nov 2019 17:39:00 +0000</pubDate></item></channel></rss>
