quarta-feira, 8 de maio de 2013

Criando Sub Menus

Imagens do Aplicativo:











Testado na plataforma: Android 2.3
Programa: eclipse bundle

Nome da aplicação: Sub-Menus
Nome do Package: com.developer.programer
Nome da Activity: MainActivity

Na pasta:  src >> com.developer.programer
Abra o arquivo MainActivity.java e adicione seguintes códigos:
package com.developer.programer;

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.SubMenu;

public class SubMenuActivity extends Activity {
      
      
       private static final int ABRIR = Menu.FIRST;
       private static final int SALVAR = Menu.FIRST+1;
       private static final int FERRAMENTAS = Menu.FIRST+2;
       private static final int PERSONALIZAR = Menu.FIRST+3;
         
           @Override
           public void onCreate(Bundle savedInstanceState) {
               super.onCreate(savedInstanceState);
               setContentView(R.layout.main);
           }
           
           @Override public boolean onCreateOptionsMenu(Menu menu) {
            
            
               menu.add(0, ABRIR, 0, "Abrir");
               menu.add(0, SALVAR, 0, "Salvar");
              
               
               SubMenu outros = menu.addSubMenu("Outros");
               
               outros.add(0, FERRAMENTAS, 0, "Ferramentas");
               outros.add(0, PERSONALIZAR, 0, "Personalizar");
               
               
               return super.onCreateOptionsMenu(menu);
           }
           
           
           @Override public boolean onOptionsItemSelected(MenuItem item) {
               switch (item.getItemId()) {
                   case ABRIR:
                      //Executa algo
                       return true;
                   case SALVAR:
                      //Executa algo  
                       return true;
                   case FERRAMENTAS:
                       //Executa algo
                        return true;
                    case PERSONALIZAR:
                       //Executa algo  
                        return true;    
                   default:
                       return super.onOptionsItemSelected(item);
               }
           }
       }

Na pasta: value
Localizada na pasta: res
Abra o arquivo: strings.xml
E adicione seguintes códigos Android:
Substitua-o por:
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="hello">Click em Menu! e veja abaixo as opção</string>
    <string name="app_name">Sub Menus</string>
</resources>

Criando Cadastro

Imegem do aplicativo:

 Cadastrar pessoas:













Listas de Pessoas Cadastradas:
http://developer-ddss.blogspot.com.br/

Testado na plataforma: Android 2.3
Programa: eclipse bundle

Não usaremos: strings.xml

Nome da aplicação: Cadastro
Nome do Package: com.developer.programer
Nome da Activity: MainActivity

Na pasta:  src >> com.developer.programer
Abra o arquivo MainActivity.java e adicione seguintes códigos:
package com.developer.programer;

import android.app.Activity;
import android.os.Bundle;
import android.widget.*;
import android.view.*;
import android.app.*;


public class MainActivity extends Activity {
    /** Called when the activity is first created. */
       Registro pri,reg,ult,aux;
    EditText ednome,edprof,edidade;
    int numreg,pos;
   
    void CarregaTelaPrincipal () {
        setContentView(R.layout.main);
                   
            Button btcadpess = (Button) findViewById(R.principal.btcadastrarpessoas);
            Button btlistapess = (Button) findViewById(R.principal.btlistarpessoas);
        
           btcadpess.setOnClickListener(new View.OnClickListener(){
               public void onClick(View arg0){
               
               CarregaTelaCadastro();
               }});
          
           btlistapess.setOnClickListener(new View.OnClickListener(){
               public void onClick(View arg0){
               
               CarregaListaPessoas();
              }});
           }
       void CarregaTelaCadastro() {
        setContentView(R.layout.cadastro);
       
        Button btcadastrar = (Button) findViewById(R.cadastro.btcadastrar);
        Button btcancelar = (Button) findViewById(R.cadastro.btcancelar);
         
           btcadastrar.setOnClickListener(new View.OnClickListener(){
                public void onClick(View arg0){
             try {
             reg = new Registro ();
             
             ednome = (EditText)findViewById(R.cadastro.ednome);
             edprof = (EditText)findViewById(R.cadastro.edprofissao);
             edidade = (EditText)findViewById(R.cadastro.edidade);
             
             reg.nome = ednome.getText().toString();
             reg.profissao = edprof.getText().toString();
             reg.idade = edidade.getText().toString();
             
             if(pri==null)
                 pri=reg;
             
             reg.Ant = ult;
             if(ult==null)
                     ult=reg;
             else {
                     ult.Prox = reg;
                     ult=reg;
                     }
             numreg++;
             
             showMessage("Cadastro efetuado com sucesso", "Aviso");
             CarregaTelaPrincipal();
             }
            
             catch(Exception e) {
             showMessage("Erro ao cadastrar", "Erro");
             }}
                });
          
           btcancelar.setOnClickListener(new View.OnClickListener(){
                public void onClick(View arg0){
                     CarregaTelaPrincipal();
                     }
                });
           }
      
       void CarregaListaPessoas() {
          if(numreg==0){
                showMessage("Nenhum registro cadastrado", "Aviso");
                CarregaTelaPrincipal();
                return;
                }
          
          setContentView(R.layout.listacadastrados);
          pos=1;
          aux=pri;
          
          TextView txtnome = (TextView)findViewById(R.lista.txtnome);
           TextView txtidade = (TextView)findViewById(R.lista.txtidade);
           TextView txtprofissao = (TextView)findViewById(R.lista.txtprofissao);
           
           Button btmenu = (Button) findViewById(R.lista.btmenu);
           Button btavancar = (Button) findViewById(R.lista.btavancar);
           Button btvoltar = (Button) findViewById(R.lista.btvoltar);
           
           txtnome.setText(aux.nome);
           txtidade.setText(aux.idade);
           txtprofissao.setText(aux.profissao);
           
           btmenu.setOnClickListener(new View.OnClickListener(){
            
                public void onClick(View arg0){
                   CarregaTelaPrincipal();
                   }
                });
          
             btvoltar.setOnClickListener(new View.OnClickListener(){
                  public void onClick(View arg0){
                    if(pos==1)
                     return;
                   
                    pos--;
                    aux=aux.Ant;
                     TextView txtnome = (TextView)findViewById(R.lista.txtnome);
                     TextView txtidade = (TextView)findViewById(R.lista.txtidade);
                     TextView txtprofissao = (TextView)findViewById(R.lista.txtprofissao);
                      txtnome.setText(aux.nome);
                      txtidade.setText(aux.idade);
                      txtprofissao.setText(aux.profissao);
                      }
                  });
            
             btavancar.setOnClickListener(new View.OnClickListener(){
                   public void onClick(View arg0){
                     if(pos==numreg)
                      return;
                    
                     pos++;
                     aux=aux.Prox;
                    TextView txtnome = (TextView)findViewById(R.lista.txtnome);
                    TextView txtidade = (TextView)findViewById(R.lista.txtidade);
                    TextView txtprofissao = (TextView)findViewById(R.lista.txtprofissao);
                    txtnome.setText(aux.nome);
                    txtidade.setText(aux.idade);
                    txtprofissao.setText(aux.profissao);
}
                   });
             }
            public void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                numreg=0;
                pri=ult=null;
                CarregaTelaPrincipal();
                }
           
        public void showMessage(String Caption,String Title) {
            
             AlertDialog.Builder dialogo = new
                           AlertDialog.Builder(MainActivity.this);
                               dialogo.setTitle(Title); 
                            dialogo.setMessage(Caption); 
                            dialogo.setNeutralButton("OK", null); 
                            dialogo.show();
                               }
        }

Clicando em cima da do pacote: com.developer.programer  >> New  >> file>
File nome: Registro.java
Agora abra o Arquivo: Registro.java
E adicione Seguintes Códigos:

package davi.cadastro.android;

public class Registro {
    String nome;
    String profissao;
    String idade;
    Registro Prox;
    Registro Ant;
   
}

Agora na pasta: res >> layout
Abra o arquivo: main.xml
E adicione seguintes código:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:weightSum="1">
   
    <ImageView
    android:src="@drawable/profile"
    android:id="@+id/imageView1"
    android:layout_width="76dp"
    android:layout_height="92dp"></ImageView>
   
    <TextView android:text="Bem vindo a Aplicação de Cadastro de Pessoas. Este é um  pequeno programa de demonstração de cadastro. Selecione uma das opções abaixo:"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"></TextView>
   
    <Button
    android:layout_height="wrap_content"
    android:text="Cadastrar Pessoas"
    android:id="@+principal/btcadastrarpessoas"
    android:layout_width="fill_parent"></Button>

       <Button
       android:layout_height="wrap_content"
       android:text="Listas de Pessoas Cadastradas"
       android:layout_width="fill_parent"
       android:id="@+principal/btlistarpessoas"></Button>
</LinearLayout>


Criando novo arquivo XML  dentro da pasta: layout
Clicando em cima da pasta: layout >> New  >> file>
File nome: cadastro.xml
Agora abra o Arquivo: cadastro.xml
E adicione Seguintes Códigos:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:gravity="center"
    android:layout_height="wrap_content"
    android:orientation="vertical">
   
    <ImageView
    android:src="@drawable/profile"
    android:layout_height="126dp"
    android:layout_width="104dp"
    android:id="@+id/imageView1"
    android:layout_gravity="left"
    android:layout_weight="1">
    </ImageView>
   
    <TextView
    android:text="Módulo de Cadastro. digiti seus dados abaixo:"
    android:layout_width="wrap_content"
    android:layout_gravity="left"
    android:layout_height="0dp"
    android:layout_weight="1">
    </TextView>
   
    <TextView android:text="Nome:"
    android:layout_width="wrap_content"
    android:layout_gravity="left"
    android:layout_height="0dp"
    android:layout_weight="1">
    </TextView>
   
    <EditText
    android:id="@+cadastro/ednome"
    android:layout_width="fill_parent"
    android:layout_weight="1"
    android:layout_height="0dp">
    </EditText>
   
    <TextView android:text="Profissão:"
    android:layout_width="wrap_content"
    android:layout_gravity="left"
    android:layout_height="0dp"
    android:layout_weight="1">
    </TextView>
   
    <EditText
    android:id="@+cadastro/edprofissao"
    android:layout_width="fill_parent"
    android:layout_weight="1"
    android:layout_height="0dp">
    </EditText>
   
    <TextView android:text="Idade:"
    android:layout_width="wrap_content"
    android:layout_gravity="left"
    android:layout_height="0dp"
    android:layout_weight="1">
    </TextView>
   
    <EditText
    android:id="@+cadastro/edidade"
    android:layout_width="fill_parent"
    android:layout_weight="1"
    android:layout_height="0dp"
    android:inputType="number">
    </EditText>
   
    <LinearLayout
    android:id="@+id/linearLayout1"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:layout_width="wrap_content">
       
        <Button
        android:layout_gravity="center"
        android:layout_height="wrap_content"
        android:text="Cadastrar pessoas"
        android:id="@+cadastro/btcadastrar"
        android:layout_width="wrap_content">
        </Button>
       
        <Button
        android:layout_gravity="top"
        android:layout_height="wrap_content"
        android:text="Cancelar"
        android:id="@+cadastro/btcancelar"
        android:layout_width="wrap_content">
        </Button>
    </LinearLayout>
   
</LinearLayout>
   

Provavelmente você vera um símbolo amarelo  “!”  nos código, avisando que deverá  usar a strings, isso por enquanto não é problema.

Criando novo arquivo XML  dentro da pasta: layout
Clicando em cima da pasta: layout >> New  >> file>
File name: listacadastrados.xml  >>press OK>
Agora abra o Arquivo: listacadastrados.xml
E adicione Seguintes Códigos:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:orientation="vertical"
    android:layout_height="fill_parent"
    android:id="@+id/layoutPrincipal">
       
        <ImageView
        android:src="@drawable/profile"
        android:id="@+id/imageView1"
        android:layout_width="36dp"
        android:layout_height="44dp">
        </ImageView>
       
        <TextView
        android:text="Lista de pessoas cadastradas."
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textColor="#ffffff"
        android:textSize="20sp">
        </TextView>
       
        <LinearLayout
        android:layout_height="wrap_content"
        android:layout_width="fill_parent"
        android:id="@+id/layoutNome">
         
          <TextView
          android:text="Nome."
          android:id="@+id/textView2"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:textColor="#ffff00"
          android:textSize="20sp">
          </TextView>
         
        <TextView
        android:text=""
        android:id="@+lista/txtnome"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textColor="#ffffff"
        android:textSize="20sp">
        </TextView>
        </LinearLayout>
       
        <LinearLayout
        android:layout_height="wrap_content"
        android:layout_width="fill_parent"
        android:id="@+id/layoutProfissao">
            
             <TextView
             android:text="Profissão."
             android:id="@+id/textView2"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:textColor="#ffff00"
             android:textSize="20sp">
             </TextView>
            
        <TextView
        android:text=""
        android:id="@+lista/txtprofissao"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textColor="#ffffff"
        android:textSize="20sp">
        </TextView>
        </LinearLayout>
       
        <LinearLayout
        android:layout_height="wrap_content"
        android:layout_width="fill_parent"
        android:id="@+id/layoutIdade">
            
             <TextView
             android:text="Idade."
             android:id="@+id/textView2"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:textColor="#ffff00"
             android:textSize="20sp">
             </TextView>
            
        <TextView
        android:text=""
        android:id="@+lista/txtidade"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textColor="#ffffff"
        android:textSize="20sp">
        </TextView>
        </LinearLayout>
       
        <LinearLayout
        android:layout_height="wrap_content"
        android:layout_width="fill_parent"
        android:id="@+id/layoutBotoes"
        android:gravity="center">
       
            <Button
            android:layout_height="wrap_content"
            android:text="Voltar"
            android:id="@+lista/btvoltar"
            android:layout_width="wrap_content">
            </Button>
           
            <Button
            android:layout_height="wrap_content"
            android:text="Avançar"
            android:id="@+lista/btavancar"
            android:layout_width="wrap_content">
            </Button>
        </LinearLayout>
       
        <Button
        android:layout_height="wrap_content"
        android:text="Menu principal"
        android:id="@+lista/btmenu"
        android:layout_width="fill_parent">
        </Button>
       
    </LinearLayout>


Agora vamos adicionar uma imagem: na pasta: drawable
Mova uma imagem PNG 200x240altura
para dentro da pasta: drawable  localizada dentro da pasta: res
Selecione Copy >> Ok

nome da imagem deve ser: profile
formato:  .png

OK. Para reproduzir  Aplicação click em: Run As > Android Application

Só lembrando que os nomes dos arquivos XML  dentro da pasta: layout tem ser minúsculas.
Exemplo: main.xml, teste.xml, outrosnomes.xml
Não aceita arquivos XML com LETRAS: MAIN.xml, mAIN.xml, Main.xml

Explicando:
O código: LinearLayout São colunas. Como os botões, Texto, etc. devem ficar Organizados.
<LinearLayout
        android:layout_height="wrap_content"
        android:layout_width="fill_parent"
        android:id="@+id/layoutIdade">

</LinearLayout>


O código: EditText É onde o usuário vai digitar o texto.
<EditText
    android:id="@+cadastro/ednome"
    android:layout_width="fill_parent"
    android:layout_weight="1"
    android:layout_height="0dp">
    </EditText>


O código android:textColor É a cor do texto.
android:textColor="#ffffff"

Para avançar você deve cadastrar mais pessoas para poder ver outros.