Autore Topic: ListView da SQL  (Letto 2048 volte)

Offline Carlos

  • Utente junior
  • **
  • Post: 74
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Zopo ZP1000
  • Play Store ID:
    Giovanni Miceli
  • Sistema operativo:
    Windows 8
ListView da SQL
« il: 09 Maggio 2011, 13:47:20 CEST »
0
Ragazzi sto impazzendo per una cavolata....ma non ne vengo a capo :(

Mi dite dove sbaglio ?
Codice (Java): [Seleziona]
package com.example;

import android.app.Activity;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.widget.ListAdapter;
import android.widget.ListView;
import android.widget.SimpleCursorAdapter;

public class Line extends Activity {
    DB db       = new DB (this);
    SQLiteDatabase database     = db.getReadableDatabase();
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        setContentView(R.layout.main);
        ListView lista = (ListView) findViewById(R.id.lista);   //QUESTA LISTVIEW SI TROVA NEL MAIN.XML            
        Cursor c = leggiTabella();

        ListAdapter adapter = new SimpleCursorAdapter(this,
                R.layout.list_content, c,
                        new String[] { "X", "Y" },
                        new int[] { R.id.X, R.id.Y });
        lista.setAdapter(adapter);
    }

public Cursor leggiTabella(){
          return database.query(Linea.TABLE_NAME,new String[] {
                                Linea.X, Linea.Y},null,null,null,null,null,null);      
}
}

Offline Qlimax

  • Moderatore globale
  • Utente senior
  • *****
  • Post: 757
  • Respect: +202
    • Google+
    • _Qlimax
    • Mostra profilo
    • www.egsolutions.ch
  • Dispositivo Android:
    Galaxy Nexus - Nexus One - Wildfire - Magic
  • Play Store ID:
    egsolutions.ch
  • Sistema operativo:
    Ubuntu 12.04, Windows 7
Re:ListView da SQL
« Risposta #1 il: 09 Maggio 2011, 13:55:04 CEST »
0
Prova cosi:
Codice (Java): [Seleziona]
DB db;
SQLiteDatabase database;  
@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState)
        db=new DB (this);
        database=db.getReadableDatabase();
        ....

E se ancora non funziona, devi postare il logcat

 

Offline Carlos

  • Utente junior
  • **
  • Post: 74
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Zopo ZP1000
  • Play Store ID:
    Giovanni Miceli
  • Sistema operativo:
    Windows 8
Re:ListView da SQL
« Risposta #2 il: 09 Maggio 2011, 14:50:47 CEST »
0
Ancora niente, ma come è possibile ?

Ti faccio vedere anche la classe del DB
Codice (Java): [Seleziona]
package com.line;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;



public class DB extends SQLiteOpenHelper {
       
        public final static String DB_NAME = "db";
        private final static  int DATABASE_VERSION = 1;
       
        public Line_DB(Context context) {
                super(context, DB_NAME, null, DATABASE_VERSION);
        }
       
        public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
                db.execSQL("DROP TABLE " + Linea.TABLE_NAME);
                db.execSQL("CREATE TABLE " + Linea.TABLE_NAME + " ("
                + Linea.X+ " TEXT,"
                + Linea.Y+ " TEXT"
                + ");");
                load(db, new InputStreamReader(this.getClass().getResourceAsStream("linea.csv")));
               
        }
       
        @Override
        public void onCreate(SQLiteDatabase db) {
                db.execSQL("DROP TABLE " + Linea.TABLE_NAME);
                db.execSQL("CREATE TABLE " + Linea.TABLE_NAME + " ("
                + Linea.X+ " TEXT,"
                + Linea.Y+ " TEXT"
                + ");");
                load(db, new InputStreamReader(this.getClass().getResourceAsStream("linea.csv")));
        }
       
        private void load(SQLiteDatabase db, InputStreamReader in) {
                BufferedReader reader = new BufferedReader(in);
                try {
                        String line = null;
                        while ( (line = reader.readLine()) != null ) {
                                db.insert(Linea.TABLE_NAME, null, Linea.getContentValues(line));
                        }
                        reader.close();
                } catch (IOException e) {
                        e.printStackTrace();
                } finally {
                        if (in != null) {
                                try {
                                        in.close();
                                } catch (IOException e) {
                                }
                        }
                }
        }

}

Offline Qlimax

  • Moderatore globale
  • Utente senior
  • *****
  • Post: 757
  • Respect: +202
    • Google+
    • _Qlimax
    • Mostra profilo
    • www.egsolutions.ch
  • Dispositivo Android:
    Galaxy Nexus - Nexus One - Wildfire - Magic
  • Play Store ID:
    egsolutions.ch
  • Sistema operativo:
    Ubuntu 12.04, Windows 7
Re:ListView da SQL
« Risposta #3 il: 09 Maggio 2011, 14:51:59 CEST »
0
se non spieghi cosa non va è difficile capire il tuo problema

Offline Carlos

  • Utente junior
  • **
  • Post: 74
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Zopo ZP1000
  • Play Store ID:
    Giovanni Miceli
  • Sistema operativo:
    Windows 8
Re:ListView da SQL
« Risposta #4 il: 09 Maggio 2011, 14:57:54 CEST »
0
Il problema è semplice: l'applizione crasha :)

Il file csv è corretto, le colonne sono esatte....non capisco dove sta l'errore

Offline Qlimax

  • Moderatore globale
  • Utente senior
  • *****
  • Post: 757
  • Respect: +202
    • Google+
    • _Qlimax
    • Mostra profilo
    • www.egsolutions.ch
  • Dispositivo Android:
    Galaxy Nexus - Nexus One - Wildfire - Magic
  • Play Store ID:
    egsolutions.ch
  • Sistema operativo:
    Ubuntu 12.04, Windows 7
Re:ListView da SQL
« Risposta #5 il: 09 Maggio 2011, 15:02:36 CEST »
0
ha letto cosa ho scritto nella prima risposta?

Offline Carlos

  • Utente junior
  • **
  • Post: 74
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Zopo ZP1000
  • Play Store ID:
    Giovanni Miceli
  • Sistema operativo:
    Windows 8
Re:ListView da SQL
« Risposta #6 il: 09 Maggio 2011, 15:09:15 CEST »
0
Codice (Java): [Seleziona]
05-09 15:06:11.492: DEBUG/BatteryService(175): update start
05-09 15:06:11.492: DEBUG/BatteryService(175): update start
05-09 15:06:11.502: DEBUG/BatteryService(175): update start
05-09 15:06:19.992: ERROR/AndroidRuntime(21022): /system/csc/feature.xml ==> cannot open file
05-09 15:06:20.582: ERROR/AndroidRuntime(21031): /system/csc/feature.xml ==> cannot open file
05-09 15:06:20.932: INFO/ActivityManager(175): Starting activity: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 cmp=com.line/.Line }
05-09 15:06:20.992: INFO/ActivityManager(175): Start proc com.line for activity com.line/.Line: pid=21038 uid=10064 gids={1015}
05-09 15:06:21.152: WARN/ResourceType(21038): getEntry failing because entryIndex 1 is beyond type entryCount 1
05-09 15:06:21.152: WARN/ResourceType(21038): Failure getting entry for 0x7f030001 (t=2 e=1) in package 0: 0x80000001
05-09 15:06:21.162: WARN/dalvikvm(21038): threadid=1: thread exiting with uncaught exception (group=0x400207d8)
05-09 15:06:21.162: ERROR/AndroidRuntime(21038): FATAL EXCEPTION: main
05-09 15:06:21.162: ERROR/AndroidRuntime(21038): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.line/com.line.Line}: android.content.res.Resources$NotFoundException: Resource ID #0x7f030001
05-09 15:06:21.162: ERROR/AndroidRuntime(21038):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2669)
05-09 15:06:21.162: ERROR/AndroidRuntime(21038):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2685)
05-09 15:06:21.162: ERROR/AndroidRuntime(21038):     at android.app.ActivityThread.access$2300(ActivityThread.java:126)
05-09 15:06:21.162: ERROR/AndroidRuntime(21038):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2038)
05-09 15:06:21.162: ERROR/AndroidRuntime(21038):     at android.os.Handler.dispatchMessage(Handler.java:99)
05-09 15:06:21.162: ERROR/AndroidRuntime(21038):     at android.os.Looper.loop(Looper.java:123)
05-09 15:06:21.162: ERROR/AndroidRuntime(21038):     at android.app.ActivityThread.main(ActivityThread.java:4633)
05-09 15:06:21.162: ERROR/AndroidRuntime(21038):     at java.lang.reflect.Method.invokeNative(Native Method)
05-09 15:06:21.162: ERROR/AndroidRuntime(21038):     at java.lang.reflect.Method.invoke(Method.java:521)
05-09 15:06:21.162: ERROR/AndroidRuntime(21038):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:858)
05-09 15:06:21.162: ERROR/AndroidRuntime(21038):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
05-09 15:06:21.162: ERROR/AndroidRuntime(21038):     at dalvik.system.NativeStart.main(Native Method)
05-09 15:06:21.162: ERROR/AndroidRuntime(21038): Caused by: android.content.res.Resources$NotFoundException: Resource ID #0x7f030001
05-09 15:06:21.162: ERROR/AndroidRuntime(21038):     at android.content.res.Resources.getValue(Resources.java:892)
05-09 15:06:21.162: ERROR/AndroidRuntime(21038):     at android.content.res.Resources.loadXmlResourceParser(Resources.java:1869)
05-09 15:06:21.162: ERROR/AndroidRuntime(21038):     at android.content.res.Resources.getLayout(Resources.java:731)
05-09 15:06:21.162: ERROR/AndroidRuntime(21038):     at android.view.LayoutInflater.inflate(LayoutInflater.java:318)
05-09 15:06:21.162: ERROR/AndroidRuntime(21038):     at android.view.LayoutInflater.inflate(LayoutInflater.java:276)
05-09 15:06:21.162: ERROR/AndroidRuntime(21038):     at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:200)
05-09 15:06:21.162: ERROR/AndroidRuntime(21038):     at android.app.Activity.setContentView(Activity.java:1647)
05-09 15:06:21.162: ERROR/AndroidRuntime(21038):     at com.line.Line.onCreate(Line.java:23)
05-09 15:06:21.162: ERROR/AndroidRuntime(21038):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
05-09 15:06:21.162: ERROR/AndroidRuntime(21038):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2633)
05-09 15:06:21.162: ERROR/AndroidRuntime(21038):     ... 11 more
05-09 15:06:21.172: WARN/ActivityManager(175):   Force finishing activity com.line/.Line
05-09 15:06:21.492: DEBUG/BatteryService(175): update start
05-09 15:06:21.492: DEBUG/BatteryService(175): update start
05-09 15:06:21.492: DEBUG/BatteryService(175): update start
05-09 15:06:21.677: WARN/ActivityManager(175): Activity pause timeout for HistoryRecord{4a78d208 com.line/.Line}
05-09 15:06:21.742: INFO/StorageInfo(628): registerReceiver
05-09 15:06:21.842: INFO/ActivityThread(628): queueIdle
05-09 15:06:21.842: VERBOSE/ActivityThread(628): Reporting idle of ActivityRecord{4a69a9e8 token=android.os.BinderProxy@4a6952c0 {com.sec.android.app.controlpanel/com.sec.android.app.controlpanel.activity.JobManagerActivity}} finished=false
05-09 15:06:21.842: WARN/ActivityNative(628): send ACTIVITY_IDLE_TRANSACTION
05-09 15:06:21.842: WARN/ActivityNative(175): RCV ACTIVITY_IDLE_TRANSACTION
05-09 15:06:25.743: DEBUG/VoldCmdListener(86): asec list
05-09 15:06:25.743: DEBUG/VoldCmdListener(86): CommandListener::AsecCmd::runCommand -> org.paoloconte.treni_lite-1
05-09 15:06:25.743: DEBUG/VoldCmdListener(86): CommandListener::AsecCmd::runCommand -> com.test-1
05-09 15:06:25.743: DEBUG/VoldCmdListener(86): CommandListener::AsecCmd::runCommand -> im.mercury.android-1
05-09 15:06:31.492: DEBUG/BatteryService(175): update start
05-09 15:06:31.492: DEBUG/BatteryService(175): update start
05-09 15:06:31.502: DEBUG/BatteryService(175): update start
05-09 15:06:31.848: WARN/ActivityManager(175): Activity destroy timeout for HistoryRecord{4a78d208 com.line/.Line}
05-09 15:06:41.492: DEBUG/BatteryService(175): update start
05-09 15:06:41.492: DEBUG/BatteryService(175): update start
05-09 15:06:41.502: DEBUG/BatteryService(175): update start
05-09 15:06:51.492: DEBUG/BatteryService(175): update start
05-09 15:06:51.492: DEBUG/BatteryService(175): update start
05-09 15:06:51.512: DEBUG/BatteryService(175): update start

Offline Carlos

  • Utente junior
  • **
  • Post: 74
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Zopo ZP1000
  • Play Store ID:
    Giovanni Miceli
  • Sistema operativo:
    Windows 8
Re:ListView da SQL
« Risposta #7 il: 09 Maggio 2011, 15:09:44 CEST »
0
Non sono ancora molto pratico, spero di aver mandato la giusta documentazione

Offline Qlimax

  • Moderatore globale
  • Utente senior
  • *****
  • Post: 757
  • Respect: +202
    • Google+
    • _Qlimax
    • Mostra profilo
    • www.egsolutions.ch
  • Dispositivo Android:
    Galaxy Nexus - Nexus One - Wildfire - Magic
  • Play Store ID:
    egsolutions.ch
  • Sistema operativo:
    Ubuntu 12.04, Windows 7
Re:ListView da SQL
« Risposta #8 il: 09 Maggio 2011, 15:16:38 CEST »
0
hai un problema alla lina 23 di Line.java
05-09 15:06:21.162: ERROR/AndroidRuntime(21038):     at com.line.Line.onCreate(Line.java:23)


Offline Carlos

  • Utente junior
  • **
  • Post: 74
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Zopo ZP1000
  • Play Store ID:
    Giovanni Miceli
  • Sistema operativo:
    Windows 8
Re:ListView da SQL
« Risposta #9 il: 09 Maggio 2011, 15:28:54 CEST »
0
Sarebbe questo:
setContentView(R.layout.main);

ma anche se lo tolgo non succede nulla, sempre in crash

Offline Qlimax

  • Moderatore globale
  • Utente senior
  • *****
  • Post: 757
  • Respect: +202
    • Google+
    • _Qlimax
    • Mostra profilo
    • www.egsolutions.ch
  • Dispositivo Android:
    Galaxy Nexus - Nexus One - Wildfire - Magic
  • Play Store ID:
    egsolutions.ch
  • Sistema operativo:
    Ubuntu 12.04, Windows 7
Re:ListView da SQL
« Risposta #10 il: 09 Maggio 2011, 15:35:59 CEST »
0
non puoi togliere quella chiamata.
posta il file main.xml

Offline Carlos

  • Utente junior
  • **
  • Post: 74
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Zopo ZP1000
  • Play Store ID:
    Giovanni Miceli
  • Sistema operativo:
    Windows 8
Re:ListView da SQL
« Risposta #11 il: 09 Maggio 2011, 15:38:40 CEST »
0
main.xml
Codice (Java): [Seleziona]
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="vertical" android:layout_width="fill_parent"
        android:layout_height="fill_parent">
        <ListView android:id="@+id/lista" android:layout_height="wrap_content"
                android:layout_width="match_parent"></ListView>

</LinearLayout>

list_content.xml
Codice (Java): [Seleziona]
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
    <TextView android:text="TextView" android:id="@+id/X" android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView>
    <TextView android:text="TextView" android:id="@+id/Y" android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView>

</LinearLayout>

Offline Qlimax

  • Moderatore globale
  • Utente senior
  • *****
  • Post: 757
  • Respect: +202
    • Google+
    • _Qlimax
    • Mostra profilo
    • www.egsolutions.ch
  • Dispositivo Android:
    Galaxy Nexus - Nexus One - Wildfire - Magic
  • Play Store ID:
    egsolutions.ch
  • Sistema operativo:
    Ubuntu 12.04, Windows 7
Re:ListView da SQL
« Risposta #12 il: 09 Maggio 2011, 15:41:43 CEST »
0
prova a fare un clean del progetto.
in Eclipse: Project->Clean... e seleziona il tuo progetto.
Sembrerebbe che il file main.xml non viene trovato.

Controlla anche che l'API level del progetto sia >=8
« Ultima modifica: 09 Maggio 2011, 15:43:20 CEST da Qlimax »

Offline Carlos

  • Utente junior
  • **
  • Post: 74
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Zopo ZP1000
  • Play Store ID:
    Giovanni Miceli
  • Sistema operativo:
    Windows 8
Re:ListView da SQL
« Risposta #13 il: 09 Maggio 2011, 15:51:56 CEST »
0
Scusa per lo stress....se controlli direttamente il progetto riusciamo a fare prima...perchè adesso mi dava un altro errore alla riga
database=db.getReadableDatabase();

MAH
Lo trovi in allegato (sono 3 files semplici....niente di particolare)

Intanto grazie per l'enorme pazienza
« Ultima modifica: 09 Maggio 2011, 17:09:06 CEST da Carlos_85 »

Offline Qlimax

  • Moderatore globale
  • Utente senior
  • *****
  • Post: 757
  • Respect: +202
    • Google+
    • _Qlimax
    • Mostra profilo
    • www.egsolutions.ch
  • Dispositivo Android:
    Galaxy Nexus - Nexus One - Wildfire - Magic
  • Play Store ID:
    egsolutions.ch
  • Sistema operativo:
    Ubuntu 12.04, Windows 7
Re:ListView da SQL
« Risposta #14 il: 09 Maggio 2011, 15:58:27 CEST »
0
Allora, il primo problema è stato risolto.
Questo ora è un altro problema.
Devi sempre analizzarlo con il logcat, e vedrai che riuscirai a risolverlo da solo.
Al massimo, se non riesci ad interpretarlo, posta il logcat.