RadioButton, CheckBox e Intent Exemplo Android

Boa tarde galera aos poucos vamos experimentando todos os controles do android.

E hoje veremos dois controles novos RadioButton e CheckBox.

O RadioButton serve para questões de escolha unica quanto o CheckBox é utilizado para múltiplas escolhas.

Mas o que é uma Intent?

Intent refere-se às intenções. São determinados comandos que podemos enviar ao Sistema Operacional Android para realizar alguma ação, com Intents você pode enviar ou recuperar dados. O método startActivity(Intent intent) envia dados e requisições de telas, o método getIntent() recupera uma intent enviada por meio do startActivity(), o método putExtra(“nome_de_identificação”, valor) insere na intent algum valor, ou seja, o primeiro parâmetro é um nome para que possa ser identificado mais tarde e o segundo parâmetro um valor que pode ser String, boolean, int, float, etc. O getStringExtra(“nome_de_identificação”) pode recurar, por exemplo, uma String inserido na intent através do putExtra(“nome_de_identificação”, valor).

Este exemplo tem duas telas, então devemos nos atentar bem para que o código funcione.

ex_cri_tela1   ex_cri_tela2

Bom vamos aos códigos.

Arquivo: activity_main.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >

    <CheckBox
        android:id="@+id/chkSenhor"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_above="@+id/btnDisplay"
        android:layout_marginBottom="33dp"
        android:text="Senhor dos Anéis" />

    <CheckBox
        android:id="@+id/chkGame"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_above="@+id/chkSenhor"
        android:layout_alignLeft="@+id/chkSenhor"
        android:text="Game of Thrones" />

    <Button
        android:id="@+id/btnDisplay"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        android:layout_marginBottom="126dp"
        android:text="Mostrar em Outra Tela" />

    <CheckBox
        android:id="@+id/chkStar"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_above="@+id/chkGame"
        android:layout_alignLeft="@+id/chkGame"
        android:text="Star Wars" />

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:text="Selecione seu sexo"
        android:textAppearance="?android:attr/textAppearanceLarge" />

    <TextView
        android:id="@+id/TextView01"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_above="@+id/chkStar"
        android:layout_centerHorizontal="true"
        android:text="Selecione seus interesses"
        android:textAppearance="?android:attr/textAppearanceLarge" />

    <RadioGroup
        android:id="@+id/radioSex"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/textView1"
        android:layout_centerHorizontal="true" >

        <RadioButton
            android:id="@+id/radioM"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Masculino" />

        <RadioButton
            android:id="@+id/radioF"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Feminino" />
    </RadioGroup>

</RelativeLayout>

Arquivo: MainActivity.java

package com.example.exemploradiocheckintent;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.RadioButton;
import android.widget.RadioGroup;

public class MainActivity extends Activity {
	
	private RadioGroup radioSexGroup;
	private RadioButton radioSexButton;
	private Button btnDisplay;
	private String sexo;
	private CheckBox chkStar, chkGame, chkSenhor;
	private Intent intent;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		
		radioSexGroup = (RadioGroup) findViewById(R.id.radioSex);
		btnDisplay = (Button) findViewById(R.id.btnDisplay);
		chkStar = (CheckBox) findViewById(R.id.chkStar);
		chkGame = (CheckBox) findViewById(R.id.chkGame);
		chkSenhor = (CheckBox) findViewById(R.id.chkSenhor);
		
		intent = new Intent(this, ResultadoActivity.class);
		
		btnDisplay.setOnClickListener(new OnClickListener() {
			@Override
			public void onClick(View v) {
	 
				int selectedId = radioSexGroup.getCheckedRadioButtonId();
	 		    radioSexButton = (RadioButton) findViewById(selectedId);
	 		    sexo = radioSexButton.getText().toString();
	 		    
	 		    StringBuffer interesses = new StringBuffer();
	 		    if(chkStar.isChecked())
	 		    	interesses.append("Star Wars\n");
	 		    
	 		    if(chkGame.isChecked())
	 		    	interesses.append("Game of Thrones\n");
	 		    
	 		    if(chkSenhor.isChecked())
	 		    	interesses.append("Senhor dos Anéis\n");
	 		    
	 		    intent.putExtra("sexo", sexo);
				intent.putExtra("interesses", interesses.toString());

				startActivity(intent);
	 		    
			}
	 
		});
				
	}

}

 

Agora os códigos da segunda tela.

Arquivo: activity_resultado.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".ResultadoActivity" >

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:layout_marginLeft="15dp"
        android:layout_marginTop="20dp"
        android:text="Sexo:"
        android:textAppearance="?android:attr/textAppearanceLarge" />

    <TextView
        android:id="@+id/textView3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/textView1"
        android:layout_below="@+id/tvSexo"
        android:layout_marginTop="22dp"
        android:text="Interesses:"
        android:textAppearance="?android:attr/textAppearanceLarge" />

    <TextView
        android:id="@+id/tvInteresses"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/textView1"
        android:layout_below="@+id/textView3"
        android:text="Medium Text"
        android:textAppearance="?android:attr/textAppearanceMedium" />

    <TextView
        android:id="@+id/tvSexo"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/textView1"
        android:layout_below="@+id/textView1"
        android:text="Medium Text"
        android:textAppearance="?android:attr/textAppearanceMedium" />

</RelativeLayout>

Arquivo: ResultadoActivity.java

package com.example.exemploradiocheckintent;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.TextView;

public class ResultadoActivity extends Activity{

	private TextView tvSexo, tvInteresses;
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_resultado);
		
		Intent intent = getIntent();
		String sexo = intent.getStringExtra("sexo");
	    String interesses = intent.getStringExtra("interesses");
	    
	    tvSexo = (TextView) findViewById(R.id.tvSexo);
	    tvInteresses = (TextView) findViewById(R.id.tvInteresses);
	    
	    tvSexo.setText(sexo);
	    tvInteresses.setText(interesses);
	}
}

Agora vem a parte que devemos ter mais atenção. o codigo pode estar correto porem sem essa configuração no AndroidManifest.xml vai dar erro em seu app.

Toda nova tela no android tem que ser informada no AndroidManifest.xml segue abaixo codigo:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.exemploradiocheckintent"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="18" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.example.exemploradiocheckintent.MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
         <activity android:name="com.example.exemploradiocheckintent.ResultadoActivity" android:label="@string/app_name" >
         </activity>
    </application>

</manifest>

 

A parte em negrito se refere a nova tela implementada.

Faça o download do código:

download

Referencias:

RadioButton - http://developer.android.com/reference/android/widget/RadioButton.html

CheckBox - http://developer.android.com/reference/android/widget/CheckBox.html

Intent - http://developer.android.com/reference/android/content/Intent.html

 

TextView e EditText Exemplo Android

Olá hoje vamos tentar trabalhar com outros dois controles do android.

TextView e o EditText

TextView é igual a uma label no .net, usado para trabalhar com textos.

EditText é igual ao TextBox do .net, usado para capturar textos digitados pelo usuário.

O exemplo de que veremos é bem simples, e consiste em passar um texto digitado do EditText para TextView e exibir ao usuário.

Let’s Rock(vamos ao código)

XML

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >

    <TextView
        android:id="@+id/tvTexto"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:text="@string/hello_world" />

    <EditText
        android:id="@+id/etTexto"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="29dp"
        android:ems="10" >

        <requestFocus />
    </EditText>

    <Button
        android:id="@+id/btOk"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/etTexto"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="42dp"
        android:text="Ok" />

</RelativeLayout>

 

Java

package com.example.exemplotextviewedittext;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

public class MainActivity extends Activity {

	private Button btOk;
	private EditText etTexto;
	private TextView tvTexto;
	private String resultado;
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		
		etTexto = (EditText) findViewById(R.id.etTexto);
		tvTexto = (TextView) findViewById(R.id.tvTexto);
		btOk = (Button) findViewById(R.id.btOk);
		
		btOk.setOnClickListener(new OnClickListener() {
			@Override
			public void onClick(View arg0) {
				
				resultado = etTexto.getText().toString();
				tvTexto.setText(resultado);
				
			}
 
		});
		
	}

}

Os códigos são bem simples, se atente para as criação de variável para manipulação dos dados, no caso uma string que irá receber os dados do etTexto(EditText) e passar para o tvTexto(TextView).

textviewedittext

 

Faça o download do código:

download

 

Referencias:

EditText - http://developer.android.com/reference/android/widget/EditText.html

TextView - http://developer.android.com/reference/android/widget/TextView.html

Button e Toast Android Exemplo

Bom galera após um usuário do site pedir alguns tutoriais mais simples eu me empolguei com a ideia e vou tentar lançar toda semana um exemplo de como usar cada controle do android. Começaremos pelos Button e o Toast.

o que é um Toast?

Toast é uma mensagem temporal usada no android para indicar algo como um pop-up, porem que some depois de um determinado tempo.

bttoast

O codigo para isso é bem simples e implementaremos isso dentro de um Button.

Abaixo o codigo usado no layout xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:text="Clique aqui" />

</RelativeLayout>

 

Agora o código Java

package com.example.exemplobuttontoast;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;
 

public class MainActivity extends Activity {

	private Button btClique;
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		
		btClique = (Button) findViewById(R.id.button1);
		btClique.setOnClickListener(new OnClickListener() {
			@Override
			public void onClick(View arg0) {
				Toast.makeText(getApplicationContext(), 
                        "Você clicou no botão", Toast.LENGTH_LONG).show();
			}
 
		});
		
		
		
	}
	
	
}

 

Faça o download do código:

ExemploButtonToast

 

Referencias:

Button – http://developer.android.com/reference/android/widget/Button.html
Toast – http://developer.android.com/reference/android/widget/Toast.html

Bíblia Católica Jovem – App Android

Bíblia Católica Jovem

Bíblia Católica Jovem

 

Bíblia social que auxilia jovens a transmitir a boa nova.

O app oferece a vocês usuários varias funções como:

  • Favoritos(favoritar seus versículos favoritos)
  • Compartilhar(Facebook, Whatsapp, Sms e etc)
  • Busca(Sistema de busca rápida)

Integrando AdMob em sua App Android e ganhe dinheiro

Você desenvolvedor de pequenas apps como eu, deve estar pensando:

Como eu vou ganhar dinheiro com apps?

  1. Crio um app de sucesso, uma idéia que ninguem ainda teve e vou colocar a 1$ na Play Store.
  2. Coloco Anuncios com Admob na minha app e vou coletando dinheiro por dia.

como é muito dificil ter uma idéia original e ainda alguém querer pagar(ainda mais no Brasil que a média de apps pagos em um smartphone é de 2,5 apps pagos), vamos implementar o admob na nossa app e ganhar algum dinheiro com isso.

Vamos começar:

Criando conta AdMob
Primeiro de tudo você precisa se cadastrar no AdMob. Para fazer isso, basta clicar em “Register” acessando o site “www.admob.com“.

Você pode encontrar mais informações sobre o registro em http://developer.admob.com/wiki/PublisherSetup

 

Requisitos

Certifique-se de que você tem a cópia mais recente do SDK do Android e que você está compilando contra v3.2 pelo menos Android (mude project.properties para android-13).

O Google Mobile Ads SDK para Android requer a versão do Android 2.3 ou superior (mude android:minSdkVersion para 9 em seu AndroidManifest.xml). Isto significa que você pode desenvolver com a mais recente versão do Android SDK e sua aplicação ainda será executado em uma versão Android anterior(2.3 min).

 

Implementar o SDK

Implementar o Google Mobile Ads em seu aplicativo é um processo muito simples:

Adicionar e referenciar o Google Play Services no seu projeto no Eclipse.
Adicione uma tag de meta-dados no AndroidManifest.xml.
Declare com.google.android.gms.ads.AdActivity no manifest.
Configure permissões de acesso a internet

1. Adicione e referencie o Google Play services no seu projeto.

A. Botão direito do mouse em seu projeto de aplicativo no Eclipse e selecione Propriedades

B. Selecione Android e, em seguida, clique em Add …. Encontre o projeto google-play-services_lib e selecione OK para adicionar o Google Play services na biblioteca.

C. Agora o projeto faz referência a biblioteca do Google Play Services.

2. Adicione a tag de meta-data

Google Play serviços requer que você adicione a seguinte tag meta-data dentro do AndroidManifest.xml do seu aplicativo:

<meta-data android:name=”com.google.android.gms.version” android:value=”@integer/google_play_services_version”/>

veja como fica abaixo:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="com.company"
          android:versionCode="1" android:versionName="1.0">
  <application android:icon="@drawable/icon" android:label="@string/app_name"
               android:debuggable="true">
    <meta-data android:name="com.google.android.gms.version"
               android:value="@integer/google_play_services_version"/>
    <activity android:label="@string/app_name" android:name="BannerExample">
      <intent-filter>
        <action android:name="android.intent.action.MAIN"/>
        <category android:name="android.intent.category.LAUNCHER"/>
      </intent-filter>
    </activity>
  </application>
</manifest>

 

3. Declare com.google.android.gms.ads.AdActivity

O Mobile Ads SDK requer que com.google.android.gms.ads.AdActivity seja declarado no AndroidManifest.xml do seu aplicativo:

<activity android:name=”com.google.android.gms.ads.AdActivity” android:configChanges=”keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize”/>

veja como fica abaixo:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="com.company"
          android:versionCode="1" android:versionName="1.0">
  <application android:icon="@drawable/icon" android:label="@string/app_name"
               android:debuggable="true">
    <meta-data android:name="com.google.android.gms.version"
               android:value="@integer/google_play_services_version"/>
    <activity android:label="@string/app_name" android:name="BannerExample">
      <intent-filter>
        <action android:name="android.intent.action.MAIN"/>
        <category android:name="android.intent.category.LAUNCHER"/>
      </intent-filter>
    </activity>
    <activity android:name="com.google.android.gms.ads.AdActivity"
             android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"/>
  </application>
</manifest>

 

4. Configure as permissões de rede

Fazer solicitações de anúncios requerem que essas permissões sejam declaradas no manifest:

INTERNET
Requerido. Usado para acessar a Internet para fazer solicitações ao admob.

ACCESS_NETWORK_STATE
Opcional. Usado para verificar se uma conexão com a internet está disponível antes de fazer uma solicitação ao admob.

<uses-permission android:name=”android.permission.INTERNET”/>
<uses-permission android:name=”android.permission.ACCESS_NETWORK_STATE”/>

veja como fica abaixo:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="com.company"
          android:versionCode="1" android:versionName="1.0">
  <application android:icon="@drawable/icon" android:label="@string/app_name"
               android:debuggable="true">
    <meta-data android:name="com.google.android.gms.version"
               android:value="@integer/google_play_services_version"/>
    <activity android:label="@string/app_name" android:name="BannerExample">
      <intent-filter>
        <action android:name="android.intent.action.MAIN"/>
        <category android:name="android.intent.category.LAUNCHER"/>
      </intent-filter>
    </activity>
    <activity android:name="com.google.android.gms.ads.AdActivity"
              android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"/>
  </application>
  <uses-permission android:name="android.permission.INTERNET"/>
  <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
</manifest>

 

Adicionando um com.google.android.gms.ads.AdView 

Bom vamos aos códigos Java.

Apps Android são compostas de objetos View , que são instâncias pelo Java que o usuário vê como áreas de texto, botões ou outros controles. AdView é simplesmente uma subclasse da View exibindo pequenos anúncios HTML5 que respondem ao toque do usuário.

Como qualquer View, um AdView podem ser criados no código ou em XML.

Aqui está o código para uma activity que irá criar e exibir um banner:

package com.google.example.gms.ads.banner;

import com.google.android.gms.ads.AdRequest;
import com.google.android.gms.ads.AdSize;
import com.google.android.gms.ads.AdView;

import android.app.Activity;
import android.os.Bundle;
import android.widget.LinearLayout;

/**
 * A simple {@link Activity} that embeds an AdView.
 */
public class BannerSample extends Activity {
  /** The view to show the ad. */
  private AdView adView;

  /* Your ad unit id. Replace with your actual ad unit id. */
  private static final String AD_UNIT_ID = "INSERT_YOUR_AD_UNIT_ID_HERE";

  /** Called when the activity is first created. */
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    // Create an ad.
    adView = new AdView(this);
    adView.setAdSize(AdSize.BANNER);
    adView.setAdUnitId(AD_UNIT_ID);

    // Add the AdView to the view hierarchy. The view will have no size
    // until the ad is loaded.
    LinearLayout layout = (LinearLayout) findViewById(R.id.linearLayout);
    layout.addView(adView);

    // Create an ad request. Check logcat output for the hashed device ID to
    // get test ads on a physical device.
    AdRequest adRequest = new AdRequest.Builder()
        .addTestDevice(AdRequest.DEVICE_ID_EMULATOR)
        .addTestDevice("INSERT_YOUR_HASHED_DEVICE_ID_HERE")
        .build();

    // Start loading the ad in the background.
    adView.loadAd(adRequest);
  }

  @Override
  public void onResume() {
    super.onResume();
    if (adView != null) {
      adView.resume();
    }
  }

  @Override
  public void onPause() {
    if (adView != null) {
      adView.pause();
    }
    super.onPause();
  }

  /** Called before the activity is destroyed. */
  @Override
  public void onDestroy() {
    // Destroy the AdView.
    if (adView != null) {
      adView.destroy();
    }
    super.onDestroy();
  }
}

 

O Resultado

Quando você executar o aplicativo, deve ver um banner no topo da tela:

Faça o download do código aqui.

USP cria dispositivo que detecta dengue


Um dispositivo de baixo custo, de fácil manuseio e do tamanho de um smartphone desenvolvido por pesquisadores da USP em São Carlos pode diagnosticar a dengue em até 20 minutos a partir do terceiro dia de manifestação dos sintomas.

O aparelho, que ainda está em fase de testes e poderá ser vendido por R$ 100, é semelhante aos usados por diabéticos para medir a glicose no sangue. Com uma gota de sangue, é possível saber se o paciente está infectado.

Para infectologistas, se comprovada a eficácia do dispositivo, essa poderá ser mais uma ferramenta para ajudar no diagnóstico rápido, precoce e preciso da doença, ainda em consultório.

Segundo o Ministério da Saúde, o país tem 321 municípios em situação de risco para epidemia da doença. No ano passado, 427,7 mil pessoas tiveram dengue.

“Queríamos trabalhar com doenças tropicais e levar soluções que pudessem chegar às áreas de difícil acesso do país”, disse Alessandra Figueiredo, pesquisadora do Instituto de Física da USP em São Carlos e uma das responsáveis pelo projeto de desenvolvimento do dispositivo.

Exames laboratoriais convencionais, apesar de serem mais precisos, detectam a dengue a partir do quinto dia, demoram algumas horas para apontar o resultado e requerem uma estrutura maior.

Há um outro teste rápido já disponível, cujo resultado sai em 30 minutos e que também pode ser feito poucos dias após o aparecimento dos sintomas.

No entanto, segundo Celso Granato, professor de infectologia da Unifesp, o exame rápido já existente no mercado apresenta falhas e tem pouca sensibilidade. O teste usa uma fita que entra em contato com o sangue e o resultado, diz ele, aparece em forma de borrão. “É preciso ter uma quantidade maior de vírus para que o resultado seja lido com mais precisão.”

No novo aparelho desenvolvido pela USP, um biossensor identifica a reação entre um anticorpo humano e a proteína NS1, secretada pelo vírus da dengue. Os anticorpos são uma resposta do sistema de defesa do organismo à doença e só são produzidos por quem está infectado pela doença.

Se houver o encontro entre os dois elementos, o dispositivo emite um sinal elétrico. “Essa interação única é o que o dispositivo foi programado para identificar”, diz professor Francisco Eduardo Gontijo Guimarães, orientador do projeto. “Conseguimos fazer um teste extremamente seletivo e sensível.”

Granato afirma que o sensor elétrico poderá garantir mais acurácia no resultado do que a leitura visual.

Outra vantagem do aparelho pode ser o preço. Segundo o professor de infectologia da Faculdade de Medicina da USP de Ribeirão Preto, Benedito Antônio Lopes da Fonseca, os kits para testes rápidos custam entre R$ 15 e R$ 20. Já a fita usada para colocar a gota de sangue no novo dispositivo tem custo estimado em R$ 10.

Para os especialistas, é preciso primeiro apurar a eficácia do aparelho em novos testes para avaliar o seu uso. Por enquanto, só foram feitos testes com plasma artificial contaminado pelo vírus.

No entanto, a rapidez e a precisão do diagnóstico são importantes para que os médicos possam passar orientações aos pacientes.

“Seria muito útil no trabalho de campo para orientar o paciente a não fazer o uso de anti-inflamatórios, por exemplo”, afirma o infectologista Artur Timerman, do Hospital Edmundo Vasconcelos.

Para o diretor do departamento de infectologia do Hospital Heliópolis, Juvêncio Furtado, o novo aparelho poderá abrir campo para o diagnóstico de outros males, como a doença de Chagas.

O próximo passo da pesquisa é aprimorar o dispositivo para que ele possa diferenciar a dengue comum da forma hemorrágica. O aparelho foi patenteado em uma parceria entre a USP e a empresa DNApta, de São José do Rio Preto, que produzirá o dispositivo. A previsão é que o dispositivo chegue ao mercado daqui um ano.

Fonte: http://goo.gl/FN9InW

Atualização do app Guia Escotismo – Bússola

Ontem atualizei o app Guia Escotismo, coloquei uma nova área chamada bússola.

Nessa área o escoteiro vai conseguir ter a orientação do norte e conseguir usar os graus do azimute para se orientar com mapas.

Em breve todo o código do do app vai estar disponível no Github.

Faça o Download do App: https://play.google.com/store/apps/details?id=br.com.ericdbx.guiaescotismo

Curta nossa FanPage: https://www.facebook.com/AppGuiaEscotismo

GDG – São Paulo

GDG -SP

Para aqueles que não conhecem, na nossa cidade temos um GDG.

Mas o que é isso?

O que é um GDG?

GDG é um grupo de desenvolvedores interessados nas tecnologias Google para desenvolvimento com o objetivo de organizar palestras, dojos, discussões e outros eventos. O principal objetivo dos GDGs é compartilhar conhecimento e apresentar as novidades e vantagens que o uso das tecnologias Google pode oferecer.

Segue abaixo os links.
Gplushttps://plus.google.com/102774871279745079139/posts
Meetuphttp://www.meetup.com/GDG-SP/

Organizadores:
 Paulo Fernandes
 Luís Leão
 Suelen Goularte Carvalho

 

*Meetup = rede social de encontros de pessoas interessadas em algo. Dá pra achar muitos grupos de interesses bons

 

 

7 coisas que a compra do Whatsapp e do Viber tem a ensinar a você sobre empreendedorismo.

Da noite para o dia dois “simples” aplicativos para smartphones se transformaram na principal notícia do dia no mundo da internet.

No dia 14 de Fevereiro, a Rakuten anunciou a compra do Viber por US$ 900 milhões de dólares; no dia 19 de Fevereiro, o Facebook anunciou a compra do Whatsapp for US$ 19 bilhões de dólares!

Nessa hora muito gente está se perguntando: como os caras do Whatsapp e Viber conseguiram bombar em todo o mundo? O que eles fizeram para valer tanto?

Quer realmente saber?

Então presta atenção:

  1. O mundo pertence ao celular. A era do computador já era; as pessoas continuarão a usar os seus computadores no trabalho mas a grande maioria das pessoas em todo o planeta vão acessar a internet via smartphones e tablets. Pense mobile, leve isso muito a sério! O Whatspp e o Viber nasceram como apps mobile, e somente depois ampliaram suas funcionalidades para desktop etc. DICA MATADORA: Se você estiver pensando em abrir uma pizzaria na sua cidade, ao invés de pensar analogicamente em abrir um restaurante-pizzaria na rua, considere a possibilidade de começar o seu negócio de pizza como um aplicativo para celular com apenas uma única funcionalidade: pedir a pizza. Mobile está bombando! As vendas de smartphones no Brasil continua a crescer alucinadamente. Mais de 50% dos celulares vendidos no Brasil já são smartphones. Em 2013 vendeu-se 147% mais smartphones no Brasil do que em 2012. Em 2014, o mobile vai fazer história nesse país. Em 2020, mobile vai liderar a maneira que compramos, trabalhamos, nos divertimos, e nos conectamos com outras pessoas.
  2. Pessoas gostam de pessoas. O maior medo da maioria das pessoas é ficar sozinho. O ser humano é um ser social, e gosta de estar conectado com outras pessoas. Ajude as pessoas a se conectarem umas com as outras e você vai bombar. Seja lá qual for o seu negócio, você precisa se preocupar em criar uma comunidade onde os seus clientes possam se conhecer e fazer negócios entre elas. DICA MATADORA: estabeleça eventos onde os seus clientes possam se conhecer, crie grupos de discussão na internet onde os seus clientes possam trocar idéias, crie um aplicativo mobile que permita as pessoas da sua indústria compartilharem idéias umas com as outras. O Whatsapp e o Viber são essencialmente sociais, e isso os transforma em poderosas ferramentas de comunicação.
  3. Quem muda o mundo são as pequenas empresas! Cinco anos atrás as pessoas estavam reféns dos preços abusivos que as operadoras de telefonia celular cobravam pelos serviços de Torpedo via SMS ou ligações interurbanas. Nesse exato momento apareceu o Whatsapp e o Viber para resolver esses problemas. O Whatsapp apareceu como alternativa para o SMS, e o Viber apareceu como alternativa para ligações interurbanas. Hoje, mais de 450 milhões de pessoas usam o Whatsapp todas as semanas para troca de mensagens instantâneas, e 300 milhões de pessoas usam o Viber para fazer ligações interurbanas sem pagar nada para as operadoras de telefonia celular.DICA MATADORA: Quando o Whatsapp surgiu, existiam várias alternativas para o SMS; quando o Viber surgiu, também já existiam várias alternativas para falar no telefone. Ainda assim, ambos os fundadores das duas empresas ignoraram o status quo das coisas e criaram um serviço matador que realmente substitui os serviços tradicionais das operadoras e muda o mundo.
  4. O Marketing Tradicional já era! O Whatsapp e o Viber nunca gastaram um tostão sequer com propaganda. Todo o sucesso de marketing dos caras deve-se ao boca-a-boca que os próprios clientes fizeram sobre os produtos. Hoje em dia todas as pessoas estão conectadas. Se o seu produto for legal, as pessoas vão contar paras as outras naturalmente; se o o seu produto for uma droga, ninguém conta para ninguém. DICA MATADORA: As pessoas não engolem mais propaganda. Não adianta torrar dinheiro com publicidade. Invista 95% das suas fichas de comunicação em design de produto, usabilidade, experiência do cliente e storytelling.
  5. Um mundo com mais de 2.5 bilhões de pessoas conectadas. Assim que a compra do Whatsapp e Viber foram anunciadas, várias piadas sobre o que poderia ser comprado com o dinheiro investido nas aquisições pipocaram na internet: 64 bilhões de nuggets de frango do McDonalds, 82,5 milhões de garrafas do whisky Johnnie Walker, 226 Neymars, 15 times da NBA blá blá blá. Mas a verdade nua a crua é: o valor investido nas aquisições valem cada centavo investido. O custo para aquisição de clientes na internet está altíssimo. Para capturar um único cliente sequer na web você pode chegar a gastar em média 100 reais! E ainda assim nada garante que o cliente vai voltar a comprar. Muito provavelmente você terá que investir outros 100 reais para convencê-lo a comprar novamente. Nessas aquisições, a Rakuten levou para casa 300 milhões de pessoas, ou seja, ela pagou US$ 3 dólares para adquirir um cliente! E o Facebook pagou US$ 33 dólares para adquirir um cliente! Uma verdadeira pechincha! E tem mais! A participação de mercado do Whatsapp nos EUA é uma piada. Por sua natureza Ucraniana, a grande maioria dos usuários do Whatsapp é realmente nova para o Facebook. O mesmo vale para a Rakuten e Viber. Por sua natureza israelense, a grande maioria dos usuários de Viber são novos para o mundo da Rakuten. DICA MATADORA: O mercado que você vive é do tamanho do mundo. Os números da internet estão cada vez maiores. Os números serão cada vez mais estratosféricos. Se você ainda não se acostumou com isso, é bom rever as suas metas… talvez você esteja pensando pequeno demais.
  6. O talento não mora na Avenida Paulista! O fundador do Whatsapp, Jan Koum, cresceu em uma pequena vila nos arredores de Kiev na Ucrânia. O casa onde ele morou toda a sua infância não tinha água quente! O cara era pobre de matar! O Viber, por outro lado, foi criado por quatro israelenses loucos pela possibilidade de derrubar a liderança do Skype. Whatsapp e Viber vieram de lugares que ninguém esperava com propostas que ninguém imaginava! DICA MATADORA: O talento do mundo não mora na Avenida Paulista, Berrini, ou Itaim Bibi. O mundo, e especialmente o Brasil, tem talento para internet em todos os cantos do país. No Norte, Sul, Leste, Oeste você encontra incubadoras investindo em startups bazucas shows de bola que tem tudo para arrebentar. Quem viver verá!
  7. Vence quem for minerador de dados. A era do “eu acho” no mundo dos negócios está acabando. Ninguém mais tem que tomar uma decisão de negócios baseados no achômetro. O Whatsapp e o Viber são negócios que podem proporcionar incríveis quantidades de dados e informações sobre os clientes para o Facebook e a Rakuten fazerem um trabalho personalizado para cada um dos milhões de clientes que utilizam as ferramentas. DICA MATADORA: Faça um curso sobre Google Analytics! Leia o livro “Google Analytics para Imbecis”. Se você tem um web site na internet, você tem a chance de conhecer o comportamento dos seus clientes com profundidade. Não desperdice essa chance. Você não precisa depender apenas do seu feeling para trabalhar! O atendimento personalizado, customizado, 1-a-1, vai rolar com mineração de dados!

Para mim a compra do Whatsapp e do Viber representam o triunfo do Empreendedorismo, da Criatividade, da Coragem e da Inovação sobre o marasmo, a lentidão e o status quo que existem nas grandes empresas.

Esse tipo de notícia funciona como cocaína na veia!

O Whatsapp tem 20 funcionários! O Viber idem!

Se você está parado porque não tem funcionários, ou porque não tem grana para marketing, ou porque não tem como atrair clientes, REPENSE TUDO que você está fazendo! REPENSE TUDO que você sabe sobre negócios!

Bem vindo ao Admirável Mundo Novo da Internet na Palma da Mão!

Fonte: Blog da Rakuten onde trabalho =D

 

Rádio Pi-rata com RaspberryPi

Material necessário:

  1. fio de 30cm

Ligue seu raspberry com o sistema raspian ou qualquer outro da sua preferencia e vamos baixar os pacotes de instalação do PiFm.

“Nota 1: Lembrando que preciso estar conectado a internet”

“Nota 2: Todo o texto na caixa de texto cinza deve ser executado na linha de comando do RaspberryPi”

wget www.ericdbx.com.br/rasp/pifm.tar.gz
ls

(Se você fez certo, quando você digita ‘ls’ e aperta enter você deve ver outros arquivos junto com um chamado, ‘pifm.tar.gz’)

tar -xvf pifm.tar.gz

É isso aí! Todo o código foi descompactado, agora para o próximo passo para aprender a tocar música em qualquer estação desejada.

Conecte o fio no Gpio 4.

Finalmente estamos até no fim da nossa jornada, mas todo trabalho duro compensa quando você aprende novas habilidades de ‘hacker’ e ainda pode impressionar seus amigos!

Existem alguns comandos que são usados ​​para controlar o pi vou listá-los abaixo e dividi-las e dizer o que eles querem dizer passo a passo.

sudo ./pifm sound.wav 100.1

 

  • sudo - Isso dá poder de administrador (como no Windows o de Admin)
  • ./pifm – O ./ é usado para executar um programa, o programa que você deseja executar é o que você colocar depois que ele (pifm)
  • sound.wav - Aqui é a música que você quer ser tocada no rádio, você pode alterá-lo para qualquer arquivo .wav
  • 100.1 - Esta é a estação que você quer que sua música seja tocada, você pode alterar a frequência para algo entre 87,1 e 108,1

Para sair do som pressione, ‘ctrl’ + ‘c’

Se você tiver um microfone, você pode conectá-lo à porta USB e transmitir a sua voz, aqui está o que você vai digitar:

arecord -fS16_LE -r 22050 -Dplughw:1,0 - | sudo ./pifm - 100.1 22050

(preste atenção à capitalização)

Para executar uma mp3 digite na linha de comando do RaspberryPi:

sudo apt-get install sox libsox-fmt-all

Durante a instalação ele vai pedir para confirmar a instalação digite ‘y’ para aceitar.

Apos isso digite:

sox -v .9 -t mp3 musica.mp3 -t wav --input-buffer 80000 -r 22050 -c 1 - | sudo ./pifm - 103.0

 

Bom galera é isso e abaixo segue um vídeo da minha experiência: