quarta-feira, 6 de março de 2013

Uma questão de Escolha

O coração anda no compasso que pode. Amores não sabem esperar o dia amanhecer. O exemplo é simples. O filho que chora tem a certeza de que a mãe velará seu sono. A vida é pequena, mas tão grande nestes espaços que aos cuidados pertencem. Joelhos esfolados são representações das dores do mundo. A mãe sabe disso. O filho, não. Aprenderá mais tarde, quando pela força do tempo que nos leva, ele precisará cuidar dos joelhos dos seus pequenos. O ciclo da história nos direciona para que não nos percamos das funções. São as regras da vida. E o melhor é obedecê-las. Tenho pensado muito no valor dos pequenos gestos e suas repercussões. Não há mágica que possa nos salvar do absurdo. O jeito é descobrir esta migalha de vida que sob as realidades insiste em permanecer. São exercícios simples... Retire a poeira de um móvel e o mundo ficará mais limpo por causa de você. É sensato pensar assim. Destrua o poder de uma calúnia, vedando a boca que tem ânsia de dizer o que a cabeça ainda não sabe, e alguém deixará de sofrer por causa de seu silêncio. Nestas estradas de tantos rostos desconhecidos é sempre bom que deixemos um espaço reservado para a calma. Preconceitos são filhos de nossos olhares apressados. O melhor é ir devagar. Que cada um cuide do que vê. Que cada um cuide do que diz. A razão é simples: o Reino de Deus pode começar ou terminar, na palavra que que escolhemos dizer. É simples...

Pe. Fábio de Melo.
fonte: http://fabiodemelo.com.br/novo/blog/index.php?cd_fotolog=41

É preciso perder o medo de errar


Imagem de Destaque

É preciso perder o medo de errar

O humilde não tem medo de errar
Quem se reconhece e se aceita, quem é humilde, não tem medo de errar. Por quê? Porque se, depois de ponderar, prudentemente, a sua decisão, ainda cometer um erro, isso não o surpreenderá, pois sabe que é próprio da sua condição limitada. São Francisco de Sales dizia de uma forma muito expressiva: “Por que se surpreender que a miséria seja miserável?”.Lembro-me ainda daquele dia em que subia a encosta da Perdizes, lá em São Paulo, para dar a minha primeira aula na Faculdade Paulista de Direito, da PUC (Pontifícia Universidade Católica). Ia virando e revirando as matérias, repetindo conceitos e ideias. Estava nervoso; não sabia que impressão causariam as minhas palavras naqueles alunos de rosto desconhecido. E se me fizessem alguma pergunta a qual eu não saberia responder? E se, no meio da exposição, eu esquecesse a sequência de ideias?Entrei na sala de aula tenso, com um sorriso artificial. Comecei a falar. Estava excessivamente pendente do que dizia, nem olhava para a cara dos alunos. Falei quarenta e cinco minutos seguidos sem interrupção, sem consultar uma nota sequer.Percebi, porém, um certo distanciamento da “turma”, um certo respeito. Um rapaz, muito comunicativo e inteligente, talvez para superar a distância criada entre o grupo e o professor, aproximou-se e me cumprimentou: “Parabéns, professor. Que memória! Não consultou, em nenhum momento, os seus apontamentos. Foi muito interessante!"

Assista também: "O Senhor está do meu lado", com padre José Augusto


Respirei, mas, desconfiado, quis saber: "Você entendeu o que eu disse?" Admirou-se com a minha pergunta; não a esperava. Sorrindo, encabulado, confessou-me: "Entendi muito pouco, e, pelo que pude observar, a 'turma' entendeu menos ainda".A lição estava clara: "Dei a aula para mim e não para eles. Dei a aula para demonstrar que estava capacitado, mas não para ensinar”. Faltara descontração, didática, empatia; não fizera nenhuma pausa, nenhuma pergunta. Fora tudo academicamente perfeito, como um belo cadáver. Fora um fracasso.Lembro-me também que, quando descia aquela encosta, fiz o propósito de tentar ser mais humilde, de preparar um esquema mais simples, de perder o medo de errar, esse medo que me deixara tão tenso e tão cansado; de pensar mais nos meus alunos e menos na imagem que eles pudessem fazer de mim. E se me fizessem uma pergunta a qual não soubesse responder, o que diria? Pois bem, diria a verdade, que precisava estudar a questão com mais calma e, na próxima aula, lhes responderia. Tão simples assim.Que tranquilidade a minha ao subir a encosta no dia seguinte! E que agradecimento dos alunos ao verem a minha atitude mais solta, mais desinibida, mais simpática! Uma lição que tive de reaprender muitas vezes ao longo da minha vida de professor e de sacerdote: a simplicidade, a transparência e a espontaneidade são o melhor remédio para a tensão e a timidez e o recurso mais eficaz para que as nossas palavras e os nossos desejos de fazer o bem tenham eco.Não olhemos as pupilas alheias como se fossem um espelho, no qual se reflete a nossa própria imagem; não estejamos pendentes da resposta que esse espelho possa dar às perguntas que a nossa vaidade formula continuamente: "O que é que você pensa de mim? Gostou da colocação que fiz?" Tudo isso é raquítico, decadente, cheira ao mofo do próprio "eu", imobiliza e retrai, inibe e tranca a espontaneidade. Percamos o medo de errar e erraremos menos.
Dom Rafael Llano Cifuentes 
Arcebispo Emérito de Nova Friburgo (RJ)

fonte:

Como é feita a escolha de um novo Papa

Bela apresentação da Globo...

de como é feita a escolha de um novo papa.


http://g1.globo.com/mundo/renuncia-sucessao-papa-bento-xvi/entenda/platb/


Vitor Yudi Hansen

Consumindo WebService Android Soap com o KSOAP

Bom dia!

vou colocar uma classe exemplo de como consumir um webService soap,
com a lib ksoap:

 import java.io.InputStream;  
 import org.ksoap2.SoapEnvelope;  
 import org.ksoap2.serialization.PropertyInfo;  
 import org.ksoap2.serialization.SoapObject;  
 import org.ksoap2.serialization.SoapPrimitive;  
 import org.ksoap2.serialization.SoapSerializationEnvelope;  
 import org.ksoap2.transport.AndroidHttpTransport;  
 import android.app.Activity;  
 import android.app.ProgressDialog;  
 import android.graphics.drawable.Drawable;  
 import android.os.Bundle;  
 import android.os.Handler;  
 import android.os.Message;  
 import android.util.Log;  
 import android.view.View;  
 import android.widget.Button;  
 import android.widget.EditText;  
 import android.widget.ImageView;  
 import android.widget.TextView;  
 public class ExemploWSActivity extends Activity implements Runnable {  
      private AndroidHttpTransport transporte;  
      private TextView textView1;  
      private String namespace = "http://www.oorsprong.org/websamples.countryinfo";  
      private String METHOD_NAME = "CountryFlag";  
      private String URL = "http://webservices.oorsprong.org/websamples.countryinfo/CountryInfoService.wso";  
      private String SOAP_ACTION = "http://webservices.oorsprong.org/websamples.countryinfo/CountryInfoService.wso?op=CountryFlag";  
      private SoapObject soap;  
      private SoapSerializationEnvelope envelope;  
      private ProgressDialog progress;  
      private SoapPrimitive resposta;  
      private Drawable drawable;  
      private ImageView imgView;  
      @Override  
      public void onCreate(Bundle savedInstanceState) {  
           super.onCreate(savedInstanceState);  
           setContentView(R.layout.main);  
           imgView = (ImageView) findViewById(R.id.imageView1);  
           Button btnOK = (Button) findViewById(R.id.button1);  
           final EditText txtNome = (EditText) findViewById(R.id.editText1);  
           btnOK.setOnClickListener(new View.OnClickListener() {  
                public void onClick(View v) {  
                     soap = new SoapObject(namespace, METHOD_NAME);  
               PropertyInfo p1 = new PropertyInfo();  
               p1.setName("sCountryISOCode");  
               p1.setValue(txtNome.getText().toString());  
               p1.setType(String.class);  
               soap.addProperty(p1);  
               envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);  
               //envelope.dotNet = true;   
               envelope.setOutputSoapObject(soap);  
               transporte = new AndroidHttpTransport(URL);  
               progress = ProgressDialog.show(ExemploWSActivity.this, "Carregando", "Aguarde...", true, false);  
                     Thread th = new Thread(ExemploWSActivity.this);  
                     th.start();  
                }  
           });  
      }  
      public void run() {  
           try {  
                transporte.call(SOAP_ACTION, envelope);  
                resposta = (SoapPrimitive) envelope.getResponse();  
                drawable = loadIMG(resposta.toString());  
                handler.sendEmptyMessage(0);  
           } catch (Exception ex) {  
                Log.d("Erro = ", ex.getMessage());  
           }  
      }  
      private Drawable loadIMG(String url) {  
           try {  
                InputStream is = (InputStream) new java.net.URL(url).getContent();  
                Drawable d = Drawable.createFromStream(is, "src name");  
                return d;  
           } catch (Exception e) {  
                return null;  
           }  
      }  
      private Handler handler = new Handler() {  
           @Override  
           public void handleMessage(Message msg) {  
                progress.dismiss();  
                imgView.setImageDrawable(drawable);  
           }  
      };  
 }  


pronto!

para baixar o jar.
https://code.google.com/p/ksoap2-android/downloads/detail?name=ksoap2-android-assembly-2.4-jar-with-dependencies.jar&can=2&q=


Vitor Yudi Hansen

Salvando Login do Aplicativo Android

Depois de muito tempo, vou colocar um post,
mostrando como salvar os dados de login de um aplicativo android.

Primeiramente,
vamos colocar
no nosso layout
activity_main.xml

 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"  
   xmlns:tools="http://schemas.android.com/tools"  
   style="@android:style/Theme.Dialog"  
   android:layout_width="match_parent"  
   android:layout_height="match_parent"  
   android:gravity="right"  
   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/textView1"  
     android:layout_width="wrap_content"  
     android:layout_height="wrap_content"  
     android:layout_alignParentLeft="true"  
     android:layout_alignParentTop="true"  
     android:text="Usuário"  
     android:textAppearance="?android:attr/textAppearanceLarge" />  
   <TextView  
     android:id="@+id/textView2"  
     android:layout_width="wrap_content"  
     android:layout_height="wrap_content"  
     android:layout_alignLeft="@+id/txtUser"  
     android:layout_below="@+id/txtUser"  
     android:layout_marginTop="17dp"  
     android:text="Senha"  
     android:textAppearance="?android:attr/textAppearanceLarge" />  
   <EditText  
     android:id="@+id/txtUser"  
     android:layout_width="wrap_content"  
     android:layout_height="wrap_content"  
     android:layout_alignLeft="@+id/textView1"  
     android:layout_alignParentRight="true"  
     android:layout_below="@+id/textView1"  
     android:ems="10"  
      >  
     <requestFocus />  
   </EditText>  
   <EditText  
     android:id="@+id/txtPass"  
     android:layout_width="wrap_content"  
     android:layout_height="wrap_content"  
     android:layout_alignLeft="@+id/textView2"  
     android:layout_alignRight="@+id/txtUser"  
     android:layout_below="@+id/textView2"  
     android:ems="10"  
     android:inputType="textPassword" >  
   </EditText>  
   <CheckBox  
     android:id="@+id/checkBox1"  
     android:layout_width="wrap_content"  
     android:layout_height="wrap_content"  
     android:layout_alignLeft="@+id/txtPass"  
     android:layout_alignRight="@+id/txtPass"  
     android:layout_below="@+id/txtPass"  
     android:layout_marginTop="22dp"  
     android:text="Salvar dados."   
     android:checked="true"  
     />  
   <Button  
     android:id="@+id/button1"  
     android:layout_width="wrap_content"  
     android:layout_height="wrap_content"  
     android:layout_alignParentLeft="true"  
     android:layout_alignParentRight="true"  
     android:layout_below="@+id/checkBox1"  
     android:layout_marginTop="31dp"  
     android:text="Login"   
     android:onClick="Logar_Click"  
     />  
 </RelativeLayout>  

Feito isso,precisamos verificar se existe alguma informação gravada..

para isso, vou criar uma classe onde terá o método de verificar se exite a informação gravada, e um método para pegar essa informação
vamos lá:
Utilizamos a classe SharedPreferences, para salvar preferencias e consultar as mesmas.

 import android.content.Context;  
 import android.content.SharedPreferences;  
 import android.content.SharedPreferences.Editor;  
 import android.preference.PreferenceManager;  
 import android.util.Log;  
 public class Utils {  
      private SharedPreferences prefs;  
      private Editor editor;  
      public void saveStringPreferences(String key, String value, Context ctx ){  
           try {  
                prefs = PreferenceManager.getDefaultSharedPreferences(ctx);  
                editor = prefs.edit();  
                editor.putString(key, value);  
                editor.commit();  
           } catch (Exception e) {  
                Log.getStackTraceString(e);  
           }  
      }  
      public String getStringPreferences(String key, Context ctx ){  
           prefs = PreferenceManager.getDefaultSharedPreferences(ctx);  
           return prefs.getString(key, "");  
      }  
 }  


a Classe SharedPreferences se você quiser aprender um pouco mais sobre ela.
http://developer.android.com/reference/android/content/SharedPreferences.html

feito o metodo, vamos consumir ele na activity.


 import android.app.Activity;  
 import android.app.ProgressDialog;  
 import android.os.Bundle;  
 import android.view.View;  
 import android.widget.CheckBox;  
 import android.widget.EditText;  
 import Utils;  
 public class MainActivity extends Activity {  
      static final String KEY_USERNAME = "username";  
      static final String KEY_PASSWORD = "password";  
      private ProgressDialog progress;  
      private EditText usuario;  
      private EditText senha;  
      private Utils utils;  
      private CheckBox checkBox;  
   @Override  
   protected void onCreate(Bundle savedInstanceState) {  
     super.onCreate(savedInstanceState);  
     setContentView(R.layout.activity_main);  
     usuario = (EditText)findViewById(R.id.txtUser);  
     senha = (EditText)findViewById(R.id.txtPass);  
     checkBox = (CheckBox)findViewById(R.id.checkBox1);  
     utils = new Utils();  
     String username = utils.getStringPreferences(KEY_USERNAME,this);  
     String password = utils.getStringPreferences(KEY_PASSWORD,this);  
     senha.setText(password);  
     usuario.setText(username);  
   }  
   public void Logar_Click(View v){  
        utils = new Utils();  
        if(checkBox.isChecked()){  
             utils.saveStringPreferences(KEY_USERNAME, usuario.getText().toString(), this);  
             utils.saveStringPreferences(KEY_PASSWORD, senha.getText().toString(), this);  
        }else{  
             utils.saveStringPreferences(KEY_USERNAME, "", this);  
             utils.saveStringPreferences(KEY_PASSWORD, "", this);  
        }

        //chama o login.
   }  
 }  

Pronto!

você já grava o usuário e a senha, caso ele queira, e caso não, vc salva "" .

Fácil e pratico!



Vitor Yudi Hansen