1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

Error tela consult

Bom dia, estou fazendo um app de cadastro e consulta com a ajuda de uma video aula, mas ele está apresentando alguns erros... a página de cadastro abre normalmente, a de consulta da erro e o menu consigo selecionar, mas ele aparece em branco, me ajudem por favor.

AndroidManifest.xml


<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="danilomarcus.com.br.agenda">

    <application
        android:allowBackup="true"
        android:debuggable="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity
            android:name=".Cadastro"
            android:label="@string/app_name"
            android:theme="@style/AppTheme.NoActionBar">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity
            android:name=".Contato"
            android:label="@string/title_activity_contato"
            android:theme="@style/AppTheme.NoActionBar" />
        <activity android:name=".Listar" />
        <activity
            android:name=".Menu"
            android:label="@string/title_activity_menu"
            android:theme="@style/AppTheme.NoActionBar"></activity>
    </application>

</manifest>

Cadastro.java


package danilomarcus.com.br.agenda;

import android.app.Activity;
import android.content.ContentValues;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;

public class Cadastro extends Activity{

    TextView txvNome;
    TextView txvEmail;
    TextView txvFone;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_cadastro);


        //metodo para criar o banco tabela de contatos
        //criarTabela();

        Button btnSalvar = (Button)findViewById(R.id.btnSalvar);

        txvNome = (TextView) findViewById(R.id.txvNome);
        txvEmail = (TextView) findViewById(R.id.txvEmail);
        txvFone = (TextView) findViewById(R.id.txvFone);

        //acao do botao salvar
        btnSalvar.setOnClickListener(new View.OnClickListener(){
            @Override
            public void onClick(View v){

                try{
                    Contato c = new Contato();
                    c.setEmail(txvEmail.getText().toString());
                    c.setNome(txvNome.getText().toString());
                    c.setTelefone(txvFone.getText().toString());

                    //aciona a acao de salvar
                    salvarContato(c);

                    //chamar a listagem
                    //Intent it = new Intent (MainActivity.this, Listar.class);
                    //startActicity(it);

                } catch (Exception ex){
                    Toast.makeText(getApplicationContext(), "Erro ocorreu cadastro", Toast.LENGTH_LONG).show();
                }
            }
        });

    }
    private void salvarContato(Contato c) {
        SQLiteDatabase db = null;
        try{
            db = openOrCreateDatabase("contatos.db", Context.MODE_PRIVATE,null);

            ContentValues contentInsert = new ContentValues();
            contentInsert.put("nome",c.getNome());
            contentInsert.put("email",c.getEmail());
            contentInsert.put("fone",c.getTelefone());

            db.insert("contatos", null, contentInsert);

            txvNome.setText("");
            txvEmail.setText("");
            txvFone.setText("");

        } catch (Exception ex){
            Toast.makeText(getApplicationContext(), "Erro ao inserir. cadastro", Toast.LENGTH_LONG).show();
        } finally {
            Toast.makeText(getApplicationContext(), "Dados cadastrados", Toast.LENGTH_LONG).show();
            db.close();
        }
    }

    public void criarTabela(){
        SQLiteDatabase db = null;
        try{
            db = openOrCreateDatabase("contatos.db", Context.MODE_PRIVATE, null);

            StringBuilder sql = new StringBuilder();
            sql.append("CREATE TABLE IF NOT EXISTS contatos(");
            sql.append("id_ integer primary key autoincrement,");
            sql.append("nome varchar(120),");
            sql.append("email varchar(120),");
            sql.append("fone varchar(20))");

            db.execSQL(sql.toString());
        }catch (Exception ex){
            Toast.makeText(getApplicationContext(),"Erro ocorreu cadatstro", Toast.LENGTH_LONG).show();
        }finally {
            db.close();
        }
    }
}

Contato.java


package danilomarcus.com.br.agenda;


public class Contato {

    private String nome;
    private String email;
    private String telefone;

    public String getNome(){
        return nome;
    }
    public void setNome(String nome){
        this.nome = nome;
    }

    public String getEmail(){
        return email;
    }
    public void setEmail(String email){
        this.email = email;
    }

    public String getTelefone(){
        return telefone;
    }
    public void setTelefone(String telefone){
        this.telefone = telefone;
    }
}

Listar.java


package danilomarcus.com.br.agenda;

import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.app.Activity;
import android.widget.ListView;
import android.widget.SimpleCursorAdapter;
import android.widget.Toast;

public class Listar extends Activity {

    SQLiteDatabase db;
    Cursor cursor;
    SimpleCursorAdapter ad;
    ListView listViewContatos;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_listar);

        // buscar os dados do bd
        buscarDados();

        //setar o adapter
        //criarListagem();
    }

    public void buscarDados(){

        try{
            db = openOrCreateDatabase("contatos.db", Context.MODE_PRIVATE,null);
            cursor = db.rawQuery("SELECT * from contatos", null);

        }catch (Exception e){
            Toast.makeText(getApplicationContext(),"Erro listar102", Toast.LENGTH_LONG).show();
        }
    }

    public void criarListagem(){

        //pega a listview que contera os itens
        listViewContatos = (ListView) findViewById(R.id.list);

        String[] from = {"nome", "email", "fone"};
        int[] to = {R.id.txvContatoNome,R.id.txvContatoEmail,R.id.txvContatoFone};

        ad = new SimpleCursorAdapter(getApplicationContext(),R.layout.content_menu,cursor,from,to);

        //listViewContatos.setOnClickListener(this);
        //listViewContatos.setAdapter(ad);
    }
}

Menu.java


package danilomarcus.com.br.agenda;

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.app.ListActivity;
import android.view.View;
import android.widget.Adapter;
import android.widget.ArrayAdapter;
import android.widget.ListView;

public class Menu extends ListActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        //setContentView(R.layout.activity_menu);

        String[] menus = {"Cadastrar","Listar"};

        ArrayAdapter<String> adapter =
                new ArrayAdapter<String>(getApplicationContext(),android.R.layout.simple_list_item_1,menus);

        setListAdapter(adapter);
    }

    @Override
    protected void onListItemClick(ListView l, View v, int position, long id){
        super.onListItemClick(l,v,position,id);

        switch (position){
            case 0:
                startActivity(new Intent(getBaseContext(),Cadastro.class));
                break;
            case 1:
                startActivity(new Intent(getBaseContext(),Listar.class));
                break;
            default:
                break;}
    }
}

acitivty_cadastro.xml


<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/activity_main"
    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="danilomarcus.com.br.agenda.Cadastro"
    android:orientation="vertical">

    <TextView
        android:text="Nome:"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/textView"
        android:textAppearance="?android:attr/textAppearanceLarge"/>

    <EditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:inputType="textPersonName"
        android:ems="10"
        android:id="@+id/txvNome" />

    <TextView
        android:text="Email"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/textView2"
        android:textAppearance="?android:attr/textAppearanceLarge"/>

    <EditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:inputType="textEmailAddress"
        android:ems="10"
        android:id="@+id/txvEmail" />

    <TextView
        android:text="Telefone:"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/textView3"
        android:textAppearance="?android:attr/textAppearanceLarge" />

    <EditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:inputType="phone"
        android:ems="10"
        android:id="@+id/txvFone" />

    <Button
        android:text="Salvar"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/btnSalvar" />

</LinearLayout>

Activity_listar.xml


<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/container"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context="danilomarcus.com.br.agenda.Listar" >


    <ListView
        android:id="@+id/list"
        android:layout_width="match_parent"
        android:layout_height="match_parent" >
    </ListView>

</LinearLayout>

content_menu.xml


<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <TextView
        android:text="Large Text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/txvContatoNome"
        android:textAppearance="?android:attr/textAppearanceLarge"/>

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

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

</LinearLayout>
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

0 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags android ou faça a sua própria pergunta.