Autore Topic: Database adattato non gira. codice all'interno  (Letto 516 volte)

Offline vince92k

  • Nuovo arrivato
  • *
  • Post: 4
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Iphone 5s
  • Sistema operativo:
    IOS 9.1
Database adattato non gira. codice all'interno
« il: 25 Novembre 2015, 15:31:35 CET »
0
Salve, ho preso il codice per creare un db (da qui: Android SQLite Database Tutorial )

ho messo tutto su android studio, ho provato a compilare e funziona.

Ho adattato questo codice alle mie necessità, aggiungendo colonne e campi. ora non funziona più.

ecco gli errori che da:

Codice: [Seleziona]
11-25 15:25:22.908 2930-2930/com.example.provadb E/CursorWindow: Failed to read row 0, column -1 from a CursorWindow which has 9 rows, 6 columns.
11-25 15:25:22.908 2930-2930/com.example.provadb D/AndroidRuntime: Shutting down VM
11-25 15:25:22.908 2930-2930/com.example.provadb E/AndroidRuntime: FATAL EXCEPTION: main
11-25 15:25:22.908 2930-2930/com.example.provadb E/AndroidRuntime: Process: com.example.provadb, PID: 2930
11-25 15:25:22.908 2930-2930/com.example.provadb E/AndroidRuntime: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.provadb/com.example.provadb.MainActivity}: java.lang.IllegalStateException: Couldn't read row 0, col -1 from CursorWindow.  Make sure the Cursor is initialized correctly before accessing data from it.
11-25 15:25:22.908 2930-2930/com.example.provadb E/AndroidRuntime:     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2416)
11-25 15:25:22.908 2930-2930/com.example.provadb E/AndroidRuntime:     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)
11-25 15:25:22.908 2930-2930/com.example.provadb E/AndroidRuntime:     at android.app.ActivityThread.-wrap11(ActivityThread.java)
11-25 15:25:22.908 2930-2930/com.example.provadb E/AndroidRuntime:     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)
11-25 15:25:22.908 2930-2930/com.example.provadb E/AndroidRuntime:     at android.os.Handler.dispatchMessage(Handler.java:102)
11-25 15:25:22.908 2930-2930/com.example.provadb E/AndroidRuntime:     at android.os.Looper.loop(Looper.java:148)
11-25 15:25:22.908 2930-2930/com.example.provadb E/AndroidRuntime:     at android.app.ActivityThread.main(ActivityThread.java:5417)
11-25 15:25:22.908 2930-2930/com.example.provadb E/AndroidRuntime:     at java.lang.reflect.Method.invoke(Native Method)
11-25 15:25:22.908 2930-2930/com.example.provadb E/AndroidRuntime:     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
11-25 15:25:22.908 2930-2930/com.example.provadb E/AndroidRuntime:     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
11-25 15:25:22.908 2930-2930/com.example.provadb E/AndroidRuntime:  Caused by: java.lang.IllegalStateException: Couldn't read row 0, col -1 from CursorWindow.  Make sure the Cursor is initialized correctly before accessing data from it.
11-25 15:25:22.908 2930-2930/com.example.provadb E/AndroidRuntime:     at android.database.CursorWindow.nativeGetString(Native Method)
11-25 15:25:22.908 2930-2930/com.example.provadb E/AndroidRuntime:     at android.database.CursorWindow.getString(CursorWindow.java:438)
11-25 15:25:22.908 2930-2930/com.example.provadb E/AndroidRuntime:     at android.database.AbstractWindowedCursor.getString(AbstractWindowedCursor.java:51)
11-25 15:25:22.908 2930-2930/com.example.provadb E/AndroidRuntime:     at com.example.provadb.DBHelper.getAllCotacts(DBHelper.java:132)
11-25 15:25:22.908 2930-2930/com.example.provadb E/AndroidRuntime:     at com.example.provadb.MainActivity.onCreate(MainActivity.java:27)
11-25 15:25:22.908 2930-2930/com.example.provadb E/AndroidRuntime:     at android.app.Activity.performCreate(Activity.java:6237)
11-25 15:25:22.908 2930-2930/com.example.provadb E/AndroidRuntime:     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107)
11-25 15:25:22.908 2930-2930/com.example.provadb E/AndroidRuntime:     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2369)
11-25 15:25:22.908 2930-2930/com.example.provadb E/AndroidRuntime:     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)
11-25 15:25:22.908 2930-2930/com.example.provadb E/AndroidRuntime:     at android.app.ActivityThread.-wrap11(ActivityThread.java)
11-25 15:25:22.908 2930-2930/com.example.provadb E/AndroidRuntime:     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)
11-25 15:25:22.908 2930-2930/com.example.provadb E/AndroidRuntime:     at android.os.Handler.dispatchMessage(Handler.java:102)
11-25 15:25:22.908 2930-2930/com.example.provadb E/AndroidRuntime:     at android.os.Looper.loop(Looper.java:148)
11-25 15:25:22.908 2930-2930/com.example.provadb E/AndroidRuntime:     at android.app.ActivityThread.main(ActivityThread.java:5417)
11-25 15:25:22.908 2930-2930/com.example.provadb E/AndroidRuntime:     at java.lang.reflect.Method.invoke(Native Method)
11-25 15:25:22.908 2930-2930/com.example.provadb E/AndroidRuntime:     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
11-25 15:25:22.908 2930-2930/com.example.provadb E/AndroidRuntime:     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
11-25 15:25:24.252 2930-2930/com.example.provadb I/Process: Sending signal. PID: 2930 SIG: 9

codice:

MainActivity:

Codice (Java): [Seleziona]
package com.example.provadb;
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.view.KeyEvent;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.ListView;

import java.util.ArrayList;

public class MainActivity extends ActionBarActivity {
    public final static String EXTRA_MESSAGE = "MESSAGE";
    private ListView obj;
    DBHelper mydb;

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

        mydb = new DBHelper(this);
        ArrayList array_list = mydb.getAllCotacts();
        ArrayAdapter arrayAdapter=new ArrayAdapter(this,android.R.layout.simple_list_item_1, array_list);

        obj = (ListView)findViewById(R.id.listView1);
        obj.setAdapter(arrayAdapter);
        obj.setOnItemClickListener(new OnItemClickListener(){
            @Override
            public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,long arg3) {
                // TODO Auto-generated method stub
                int id_To_Search = arg2 + 1;

                Bundle dataBundle = new Bundle();
                dataBundle.putInt("id", id_To_Search);

                Intent intent = new Intent(getApplicationContext(),DisplayContact.class);

                intent.putExtras(dataBundle);
                startActivity(intent);
            }
        });
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main_menu, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item){
        super.onOptionsItemSelected(item);

        switch(item.getItemId())
        {
            case R.id.item1:Bundle dataBundle = new Bundle();
                dataBundle.putInt("id", 0);

                Intent intent = new Intent(getApplicationContext(),DisplayContact.class);
                intent.putExtras(dataBundle);

                startActivity(intent);
                return true;
            default:
                return super.onOptionsItemSelected(item);
        }
    }

    public boolean onKeyDown(int keycode, KeyEvent event) {
        if (keycode == KeyEvent.KEYCODE_BACK) {
            moveTaskToBack(true);
        }
        return super.onKeyDown(keycode, event);
    }
}


DbHelper:

Codice (Java): [Seleziona]
package com.example.provadb;

/**
 * Created by Vincenzo on 24/11/15.
 */

import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.DatabaseUtils;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

import java.util.ArrayList;
import java.util.HashMap;

public class DBHelper extends SQLiteOpenHelper {

    public static final String DATABASE_NAME = "MyDBName.db";
    public static final String CONTACTS_TABLE_NAME = "contacts";
    public static final String CONTACTS_COLUMN_ID = "id";
    public static final String CONTACTS_COLUMN_CODICEPACCO = "codice_pacco";
    public static final String CONTACTS_COLUMN_PESO = "peso";
    public static final String CONTACTS_COLUMN_EMITTENTE = "emittente";
    public static final String CONTACTS_COLUMN_LUOGOEMISSIONE= "luogo di emissione";
    public static final String CONTACTS_COLUMN_DESTINATARIO = "destinatario";
    public static final String CONTACTS_COLUMN_INDIRIZZODESTINAZIONE = "indirizzo destinazione";
    public static final String CONTACTS_COLUMN_ORAPREVISTA= "ora prevista";
    public static final String CONTACTS_COLUMN_CODICE2 = "codice2";
    public static final String CONTACTS_COLUMN_DESTINATARIO2 = "destinatario2";
    public static final String CONTACTS_COLUMN_DATA= "data";
    public static final String CONTACTS_COLUMN_ORA = "ora";
    public static final String CONTACTS_COLUMN_FIRMA = "firma";
    //public static final String CONTACTS_COLUMN_GEOLOCALIZZAZIONE= "geolocalizzazione";
    private HashMap hp;

    public DBHelper(Context context)
    {
        super(context, DATABASE_NAME , null, 1);
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        // TODO Auto-generated method stub
        db.execSQL(
                "create table contacts " +
                        "(id integer primary key, codice_pacco text,Peso text,Emittente text, luogo_di_emissione text,Data_di_emissione text, Destinatario text,indirizzo_di_destinazione text, ora_prevista_consegna text,codice_pacco2 text, destinatario2 text,Data text,ora text, firma text, geolocalizzazione text)"
        );
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        // TODO Auto-generated method stub
        db.execSQL("DROP TABLE IF EXISTS contacts");
        onCreate(db);
    }

    public boolean insertContact(String codice_pacco, String Peso, String Emittente, String luogo_di_emissione, String Data_di_emissione, String Destinatario, String indirizzo_di_destinazione, String ora_prevista_consegna, String codice_pacco2, String destinatario2, String Data, String ora, String firma)
    {
        SQLiteDatabase db = this.getWritableDatabase();
        ContentValues contentValues = new ContentValues();
        contentValues.put("codice_pacco", codice_pacco);
        contentValues.put("peso", Peso);
        contentValues.put("emittente", Emittente);
        contentValues.put("luogo di emissione", luogo_di_emissione);
        contentValues.put("Data di emissione", Data_di_emissione);
        contentValues.put("destinatario", Destinatario);
        contentValues.put("indirizzo di destinazione", indirizzo_di_destinazione);
        contentValues.put("ora prevista", ora_prevista_consegna);
        contentValues.put("codice pacco 2", codice_pacco2);
        contentValues.put("destinatario 2", destinatario2);
        contentValues.put("Data", Data);
        contentValues.put("ora", ora);
        contentValues.put("firma", firma);

       // contentValues.put("geolocalizzazione", geolocalizzazione);

        db.insert("contacts", null, contentValues);
        return true;
    }

    public Cursor getData(int id){
        SQLiteDatabase db = this.getReadableDatabase();
        Cursor res =  db.rawQuery( "select * from contacts where id="+id+"", null );
        return res;
    }

    public int numberOfRows(){
        SQLiteDatabase db = this.getReadableDatabase();
        int numRows = (int) DatabaseUtils.queryNumEntries(db, CONTACTS_TABLE_NAME);
        return numRows;
    }

    public boolean updateContact (Integer id, String codice_pacco, String Peso, String Emittente, String luogo_di_emissione, String Data_di_emissione, String Destinatario, String indirizzo_di_destinazione, String ora_prevista_consegna, String codice_pacco2, String destinatario2, String Data, String ora, String firma)
    {
        SQLiteDatabase db = this.getWritableDatabase();
        ContentValues contentValues = new ContentValues();
        contentValues.put("codice_pacco", codice_pacco);
        contentValues.put("peso", Peso);
        contentValues.put("emittente", Emittente);
        contentValues.put("luogo di emissione", luogo_di_emissione);
        contentValues.put("Data di emissione", Data_di_emissione);
        contentValues.put("destinatario", Destinatario);
        contentValues.put("indirizzo di destinazione", indirizzo_di_destinazione);
        contentValues.put("ora prevista", ora_prevista_consegna);
        contentValues.put("codice pacco 2", codice_pacco2);
        contentValues.put("destinatario 2", destinatario2);
        contentValues.put("Data", Data);
        contentValues.put("ora", ora);
        contentValues.put("firma", firma);
        db.update("contacts", contentValues, "id = ? ", new String[] { Integer.toString(id) } );
        return true;
    }

    public Integer deleteContact (Integer id)
    {
        SQLiteDatabase db = this.getWritableDatabase();
        return db.delete("contacts",
                "id = ? ",
                new String[] { Integer.toString(id) });
    }

    public ArrayList<String> getAllCotacts()
    {
        ArrayList<String> array_list = new ArrayList<String>();

        hp = new HashMap();
        SQLiteDatabase db = this.getReadableDatabase();
        Cursor res =  db.rawQuery( "select * from contacts", null );
        res.moveToFirst();

        while(res.isAfterLast() == false){
            array_list.add(res.getString(res.getColumnIndex(CONTACTS_COLUMN_CODICEPACCO)));
            res.moveToNext();
        }
        return array_list;
    }
}


DisplayContact:

Codice (Java): [Seleziona]
package com.example.provadb;

/**
 * Created by Vincenzo on 24/11/15.
 */


import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.database.Cursor;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;

public class DisplayContact extends Activity {
    int from_Where_I_Am_Coming = 0;
    private DBHelper mydb ;

    TextView codice_pacco ;
    TextView Peso;
    TextView Emittente;
    TextView Luogo_di_emissione;
    TextView Data_di_emissione;
    TextView Destinatario;
    TextView indirizzo_di_destinazione;
    TextView ora_prevista_consegna;
    TextView codice_pacco2;
    TextView destinatario2;
    TextView Data;
    TextView ora;
    TextView firma;
    TextView localizzazione;

    int id_To_Update = 0;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_display_contact);
        codice_pacco = (TextView) findViewById(R.id.a1);
        Peso = (TextView) findViewById(R.id.a2);
        Emittente = (TextView) findViewById(R.id.a3);
        Luogo_di_emissione = (TextView) findViewById(R.id.a4);
        Data_di_emissione = (TextView) findViewById(R.id.a5);
        Destinatario = (TextView) findViewById(R.id.a6);
        indirizzo_di_destinazione = (TextView) findViewById(R.id.a7);
        ora_prevista_consegna = (TextView) findViewById(R.id.a8);
        codice_pacco2 = (TextView) findViewById(R.id.a9);
        destinatario2 = (TextView) findViewById(R.id.a10);
        Data= (TextView) findViewById(R.id.a11);
        ora = (TextView) findViewById(R.id.a12);
        firma = (TextView) findViewById(R.id.a13);
        localizzazione = (TextView) findViewById(R.id.a14);

        mydb = new DBHelper(this);

        Bundle extras = getIntent().getExtras();
        if(extras !=null)
        {
            int Value = extras.getInt("id");

            if(Value>0){
                //means this is the view part not the add contact part.
                Cursor rs = mydb.getData(Value);
                id_To_Update = Value;
                rs.moveToFirst();

                String codice_pacc = rs.getString(rs.getColumnIndex(DBHelper.CONTACTS_COLUMN_CODICEPACCO));
                String pes = rs.getString(rs.getColumnIndex(DBHelper.CONTACTS_COLUMN_PESO));
                String emittent = rs.getString(rs.getColumnIndex(DBHelper.CONTACTS_COLUMN_EMITTENTE));
                String luogo_di_emission = rs.getString(rs.getColumnIndex(DBHelper.CONTACTS_COLUMN_LUOGOEMISSIONE));
                String  Destinatari= rs.getString(rs.getColumnIndex(DBHelper.CONTACTS_COLUMN_DESTINATARIO));
                String Indirizzo_di_destinazion = rs.getString(rs.getColumnIndex(DBHelper.CONTACTS_COLUMN_INDIRIZZODESTINAZIONE));
                String ora_prevista_consegn = rs.getString(rs.getColumnIndex(DBHelper.CONTACTS_COLUMN_ORAPREVISTA));
                String codice_pacc2 = rs.getString(rs.getColumnIndex(DBHelper.CONTACTS_COLUMN_CODICE2));
                String destinatari2 = rs.getString(rs.getColumnIndex(DBHelper.CONTACTS_COLUMN_DESTINATARIO2));
                String dat = rs.getString(rs.getColumnIndex(DBHelper.CONTACTS_COLUMN_DATA));
                String oraz = rs.getString(rs.getColumnIndex(DBHelper.CONTACTS_COLUMN_ORA));
                String firm = rs.getString(rs.getColumnIndex(DBHelper.CONTACTS_COLUMN_FIRMA));
              //  String geolocalizazzion = rs.getString(rs.getColumnIndex(DBHelper.CONTACTS_COLUMN_GEOLOCALIZZAZIONE));

                if (!rs.isClosed())
                {
                    rs.close();
                }
                Button b = (Button)findViewById(R.id.button1);
                b.setVisibility(View.INVISIBLE);

                codice_pacco.setText((CharSequence) codice_pacc);
                codice_pacco.setFocusable(false);
                codice_pacco.setClickable(false);

                Peso.setText((CharSequence) pes);
                Peso.setFocusable(false);
                Peso.setClickable(false);

                Emittente.setText((CharSequence) emittent);
                Emittente.setFocusable(false);
                Emittente.setClickable(false);

                Luogo_di_emissione.setText((CharSequence) luogo_di_emission);
                Luogo_di_emissione.setFocusable(false);
                Luogo_di_emissione.setClickable(false);

                Destinatario.setText((CharSequence) Destinatari);
                Destinatario.setFocusable(false);
                Destinatario.setClickable(false);

                indirizzo_di_destinazione.setText((CharSequence) Indirizzo_di_destinazion);
                indirizzo_di_destinazione.setFocusable(false);
                indirizzo_di_destinazione.setClickable(false);

                ora_prevista_consegna.setText((CharSequence) ora_prevista_consegn);
                ora_prevista_consegna.setFocusable(false);
                ora_prevista_consegna.setClickable(false);

                codice_pacco2.setText((CharSequence) codice_pacc2);
                codice_pacco2.setFocusable(false);
                codice_pacco.setClickable(false);

                destinatario2.setText((CharSequence) destinatari2);
                destinatario2.setFocusable(false);
                destinatario2.setClickable(false);

                Data.setText((CharSequence) dat);
                Data.setFocusable(false);
                Data.setClickable(false);

                ora.setText((CharSequence) oraz);
                ora.setFocusable(false);
                ora.setClickable(false);

                firma.setText((CharSequence) firm);
                firma.setFocusable(false);
                firma.setClickable(false);

              //  localizzazione.setText((CharSequence) geolocalizazzion);
              //  localizzazione.setFocusable(false);
              //  localizzazione.setClickable(false);
            }
        }
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        Bundle extras = getIntent().getExtras();

        if(extras !=null)
        {
            int Value = extras.getInt("id");
            if(Value>0){
                getMenuInflater().inflate(R.menu.display_contact, menu);
            }

            else{
                getMenuInflater().inflate(R.menu.main_menu, menu);
            }
        }
        return true;
    }

    public boolean onOptionsItemSelected(MenuItem item)
    {
        super.onOptionsItemSelected(item);
        switch(item.getItemId())
        {
            case R.id.Edit_contact:
                Button b = (Button)findViewById(R.id.button1);
                b.setVisibility(View.VISIBLE);
                codice_pacco.setEnabled(true);
                codice_pacco.setFocusableInTouchMode(true);
                codice_pacco.setClickable(true);

                Peso.setEnabled(true);
                Peso.setFocusableInTouchMode(true);
                Peso.setClickable(true);

                Emittente.setEnabled(true);
                Emittente.setFocusableInTouchMode(true);
                Emittente.setClickable(true);

                Luogo_di_emissione.setEnabled(true);
                Luogo_di_emissione.setFocusableInTouchMode(true);
                Luogo_di_emissione.setClickable(true);

                Destinatario.setEnabled(true);
                Destinatario.setFocusableInTouchMode(true);
                Destinatario.setClickable(true);


                indirizzo_di_destinazione.setEnabled(true);
                indirizzo_di_destinazione.setFocusableInTouchMode(true);
                indirizzo_di_destinazione.setClickable(true);


                ora_prevista_consegna.setEnabled(true);
                ora_prevista_consegna.setFocusableInTouchMode(true);
                ora_prevista_consegna.setClickable(true);


                codice_pacco2.setEnabled(true);
                codice_pacco2.setFocusableInTouchMode(true);
                codice_pacco2.setClickable(true);

                destinatario2.setEnabled(true);
                destinatario2.setFocusableInTouchMode(true);
                destinatario2.setClickable(true);

                Data.setEnabled(true);
                Data.setFocusableInTouchMode(true);
                Data.setClickable(true);


                ora.setEnabled(true);
                ora.setFocusableInTouchMode(true);
                ora.setClickable(true);


                firma.setEnabled(true);
                firma.setFocusableInTouchMode(true);
                firma.setClickable(true);


                localizzazione.setEnabled(true);
                localizzazione.setFocusableInTouchMode(true);
                localizzazione.setClickable(true);
                return true;
            case R.id.delete_contact:

                AlertDialog.Builder builder = new AlertDialog.Builder(this);
                builder.setMessage(R.string.deleteContact)
                        .setPositiveButton(R.string.yes, new DialogInterface.OnClickListener() {
                            public void onClick(DialogInterface dialog, int id) {
                                mydb.deleteContact(id_To_Update);
                                Toast.makeText(getApplicationContext(), "Deleted Successfully", Toast.LENGTH_SHORT).show();
                                Intent intent = new Intent(getApplicationContext(),MainActivity.class);
                                startActivity(intent);
                            }
                        })
                        .setNegativeButton(R.string.no, new DialogInterface.OnClickListener() {
                            public void onClick(DialogInterface dialog, int id) {
                                // User cancelled the dialog
                            }
                        });
                AlertDialog d = builder.create();
                d.setTitle("Are you sure");
                d.show();

                return true;
            default:
                return super.onOptionsItemSelected(item);

        }
    }
    public void run(View view) {
        Bundle extras = getIntent().getExtras();
        if (extras != null) {
            int Value = extras.getInt("id");
            if (Value > 0) {
                if (mydb.updateContact(id_To_Update, codice_pacco.getText().toString(), Peso.getText().toString(), Emittente.getText().toString(), Luogo_di_emissione.getText().toString(), Data_di_emissione.getText().toString(), Destinatario.getText().toString(), indirizzo_di_destinazione.getText().toString(), ora_prevista_consegna.getText().toString(), codice_pacco2.getText().toString(), destinatario2.getText().toString(), Data.getText().toString(), ora.getText().toString(), firma.getText().toString())) {
                    Toast.makeText(getApplicationContext(), "Updated", Toast.LENGTH_SHORT).show();
                    Intent intent = new Intent(getApplicationContext(), MainActivity.class);
                    startActivity(intent);
                } else {
                    Toast.makeText(getApplicationContext(), "not Updated", Toast.LENGTH_SHORT).show();
                }
            } else {
                if (mydb.insertContact(codice_pacco.getText().toString(), Peso.getText().toString(), Emittente.getText().toString(), Luogo_di_emissione.getText().toString(), Destinatario.getText().toString(), indirizzo_di_destinazione.getText().toString(), ora_prevista_consegna.getText().toString(), codice_pacco2.getText().toString(), destinatario2.getText().toString(), Data_di_emissione.getText().toString(), ora.getText().toString(), firma.getText().toString(), localizzazione.getText().toString())) {
                    Toast.makeText(getApplicationContext(), "done", Toast.LENGTH_SHORT).show();
                } else {
                    Toast.makeText(getApplicationContext(), "not done", Toast.LENGTH_SHORT).show();
                }
                Intent intent = new Intent(getApplicationContext(), MainActivity.class);
                startActivity(intent);
            }
        }
    }}


Grazie in anticipo a chi risponderà.
« Ultima modifica: 25 Novembre 2015, 15:33:33 CET da vince92k »

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:Database adattato non gira. codice all'interno
« Risposta #1 il: 25 Novembre 2015, 18:45:12 CET »
0
Se vedi, il Logcat ti dice la riga esatta di codice che fallisce (la 132 di DBHelper.java) e l'errore ti dice che hai richiesto la colonna -1 di riga 0.

Ma GetColumnIndex ritorna -1 se la colonna non esiste, quindi come prima cosa potresti avere un database diverso da quello che pensi. Scaricalo dal dispositivo/emulatore e ispezionalo con un visualizzatore di sqlitedb.
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline vince92k

  • Nuovo arrivato
  • *
  • Post: 4
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Iphone 5s
  • Sistema operativo:
    IOS 9.1
Re:Database adattato non gira. codice all'interno
« Risposta #2 il: 26 Novembre 2015, 16:41:56 CET »
0
come faccio a vedere il mio db??

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:Database adattato non gira. codice all'interno
« Risposta #3 il: 26 Novembre 2015, 18:45:44 CET »
0
come faccio a vedere il mio db??

Guarda qua per scaricare il db dal device: sqlite3 | Android Developers

e poi installi un sqlite viewer (io uso l'addon per firefox)
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline vince92k

  • Nuovo arrivato
  • *
  • Post: 4
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Iphone 5s
  • Sistema operativo:
    IOS 9.1
Re:Database adattato non gira. codice all'interno
« Risposta #4 il: 26 Novembre 2015, 19:31:03 CET »
0
Grande!