[Resolvido] Dúvida com algumas coisas (Android iniciante)

Olá galera, há algumas semanas pedi um tutorial de como programar pra Android, já que o livro que eu tinha era uma grande porcaria, e realmente os tutoriais do próprio site do Android me ajudaram, mas fiquei com dúvida em algumas coisas (Irei marca-las com // "comentário)

[code]package nome.teste;

import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.widget.EditText;

public class MainActivity extends Activity {

public final static String EXTRA_MESSAGE = "nome.teste.MESSAGE";
public final static String EXTRA_MESSAGE1 = "nome.teste.MESSAGE1";

@Override
protected void onCreate(Bundle savedInstanceState) //Evento ao ser iniciado o programa?
   {
	super.onCreate(savedInstanceState);
	setContentView(R.layout.activity_main);
}

@Override
public boolean onCreateOptionsMenu(Menu menu) //Menu de que?
   {
	// Inflate the menu; this adds items to the action bar if it is present.
	getMenuInflater().inflate(R.menu.main, menu);
	return true;
}
public void limpardados(View view) //Para o que o uso do view?
{
	EditText editText = (EditText) findViewById(R.id.login);//edittext é o textbox que tem na tela né?
	EditText editText1 = (EditText) findViewById(R.id.senha);
	editText.setText("");
	editText1.setText("");
	editText.requestFocus();
}
public void sendMessage(View view)
{
	Intent intent = new Intent(this, DisplayMessageActivity.class); //Isso define que será chamada uma nova tela (Com sua classe?)
	EditText editText = (EditText) findViewById(R.id.login);
	EditText editText1 = (EditText) findViewById(R.id.senha);
	String message = editText.getText().toString();
	String message1 = editText1.getText().toString();
	intent.putExtra(EXTRA_MESSAGE, message); //Atribuira uma string para a classe?
	intent.putExtra(EXTRA_MESSAGE1, message1);
	if(message1.equals("asd123") && message.equalsIgnoreCase("teste"))
	{
	startActivity(intent); //Inicializara a nova classe?
	}
}

}
[/code]

Agradeço a quem poder me ajudar

Primeiro comentário (Sim, é a chamada principal do seu programa android, mais informações)
http://developer.android.com/reference/android/app/Activity.html#onCreate(android.os.Bundle)

Segundo comentário (Se você quiser adicionar ações e outras informações importantes, como configuração da aplicação, add uma coisa nova (depende da sua aplicação), mais informações)
http://developer.android.com/guide/topics/ui/menus.html#options-menu

Terceiro comentário
Uma View é um elemento de interface. Comparando com uma página HTML, seriam os elementos de formulário, como: botões, caixa de texto, radio buttons etc.
Nesse caso, ele vai chamar uma activity que irá interagir com o usuário.
http://developer.android.com/reference/android/view/View.html

Quarto comentário
Sim.

Acho que o resto dos comentários estão certo. hehehe

Os outros estão respondidos acima.

 public void sendMessage(View view)  
    {  
        Intent intent = new Intent(this, DisplayMessageActivity.class); //Isso define que será chamada uma nova tela (Com sua classe?)  
        EditText editText = (EditText) findViewById(R.id.login);  
        EditText editText1 = (EditText) findViewById(R.id.senha);  
        String message = editText.getText().toString();  
        String message1 = editText1.getText().toString();  
        intent.putExtra(EXTRA_MESSAGE, message); //Atribuira uma string para a classe?  
        intent.putExtra(EXTRA_MESSAGE1, message1);  
        if(message1.equals("asd123") && message.equalsIgnoreCase("teste"))  
        {  
        startActivity(intent); //Inicializara a nova classe?  
        }  
    }  

Você não está chamando uma nova tela, você está declarando uma intenção de abrir a Activity definida pelo .class.

o putExtra envia um parametro que pode ser consumido via getIntent().

Terceiro, você não exatamente “chama” uma nova tela, você envia a intenção criada que vai gerenciar as Activities na task. (Mas no caso vai abrir aquela Activity).

Para mais veja a Activity Life-cycle

Só mais uma coisa, to querendo fazer uma tela de login, que assim que seja logado, leve para uma outra tela, e a tela de login não tenha como reabrir, como faço isso? tentei usar o onclose e não foi

Intent i = new Intent(this, NovaActivity.class); i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); //esta flag fará que todas as outras activities da sua aplicação sejam fechadas quando iniciar esta nova. startActivity(i);

Um finish() na sequencia de startActivity também fará que a Activity atual seja fechada.

Mas para garantir que o usuario não entre novamente na tela de login você vai precisar guardar e verificar essa informação no SharedPreferences por exemplo.

Fiz assim:

if(txtsenha.equals("asd123") && txtlogin.equalsIgnoreCase("teste"))
			{
				this.finish();
				startActivity(intent);
			}
			else
			{
				senha.setText("");
				exibeMensagem("Senha incorreta");
			}