Coder Social home page Coder Social logo

Comments (3)

j256 avatar j256 commented on July 21, 2024
2.  NullPointerException (@PlayList:getDatabaseAlbum:386) {Thread-108}

Careful about assigning too much weight to the specific line number.

I see no other possibility besides 'queryBuilder'(var db) be returning null. Any idea why the error ?

I think it is more likely that your DAO is null. There is no way for the dao.queryBuild(...) method to return null:

public QueryBuilder<T, ID> queryBuilder() {
    checkForInitialized();
    return new QueryBuilder<T, ID>(databaseType, tableInfo, this);
}

gray

On Jun 27, 2014, at 1:25 PM, Alex Sandro [email protected] wrote:

In Google Analytics I have the following records:

...
2. NullPointerException (@playlist:getDatabaseAlbum:386) {Thread-108}
3. NullPointerException (@playlist:getDatabaseAlbum:386) {Thread-11086}
4. NullPointerException (@playlist:getDatabaseAlbum:386) {Thread-11189}
5. NullPointerException (@playlist:getDatabaseAlbum:386) {Thread-1125}
6. NullPointerException (@playlist:getDatabaseAlbum:386) {Thread-1194}
7. NullPointerException (@playlist:getDatabaseAlbum:386) {Thread-1204}

On Google Play the following:

java.lang.NullPointerException
at es.hol.soundmedia.PlayList.getDatabaseAlbum(PlayList.java:386)
at es.hol.soundmedia.PlayList.access$200(PlayList.java:31)
at es.hol.soundmedia.PlayList$3.run(PlayList.java:458)
at java.lang.Thread.run(Thread.java:856)

User Reports:

Hoje, 00:09 (ANDROID 4.2.7) DROID RAZR i (smi) (PT-BR - dando erro quando escolhe musica)
2 de jun 11:31 (ANDROID 4.2.4) Galaxy S3 (d2usc) Great application.

Beginning of the implementation is to get to the error:

public void checkAll(final Group group, final Album album,
                     final List<Music> musics, final OnCheckListener callback){
    new Thread(new Runnable() {
        @Override
        public void run() {
            Handler handler = new Handler(Looper.getMainLooper());
            final Map<Integer,Boolean> map = new HashMap<Integer, Boolean>();
            Album _album = getDatabaseAlbum(group, album);
            if (!_album.hasValidId()) {
                for (int index=0; index < musics.size(); index++)
                    map.put(index, false);
                handler.post(new Runnable() {
                    @Override
                    public void run() {
                        callback.onCheckResult(map);
                    }
                });
                return;
            }
            for (int index=0; index < musics.size(); index++){
                map.put(index, hasValidId(getDatabaseMusic(_album, musics.get(index))));
            }
            handler.post(new Runnable() {
                @Override
                public void run() {
                    callback.onCheckResult(map);
                }
            });
        }
    }).start();
}

Location of the error:

383 private Album getDatabaseAlbum(Group group, Album album){
384 QueryBuilder<Album, Integer> db = mAlbumDao.queryBuilder();
385 try {
386 Where<Album,Integer> where = db.where()
387 .eq(Album.GROUP_ID_FIELD, group.getId()).and()
.eq(Album.ARTIST_FIELD, new SelectArg(album.getArtist())).and()
.eq(Album.URL_FIELD, new SelectArg(album.getUrl()));
Album _album = where.queryForFirst();

        if (hasValidId(_album))
            album = _album;
        else
            album.invalidateId();
    } catch (SQLException e) {
        Log.d(MainActivity.TAG, "Music", e);
        album.invalidateId();
    }
    return album;
}

I see no other possibility besides 'queryBuilder'(var db) be returning null. Any idea why the error ?

384 QueryBuilder<Album, Integer> db = mAlbumDao.queryBuilder();
385 try {
386 Where<Album,Integer> where = db.where()

APP https://play.google.com/store/apps/details?id=es.hol.soundmedia


Reply to this email directly or view it on GitHub.

from ormlite-android.

alexsilva avatar alexsilva commented on July 21, 2024

To avoid boot daos null pointer, I capture the error:

    public void initialize() {
        databaseHelper = getHelper();
        try {
            mGroupDao = databaseHelper.getDao(Group.class);
            mAlbumDao = databaseHelper.getDao(Album.class);
            mMusicDao = databaseHelper.getDao(Music.class);
        } catch (SQLException e){
            throw new AssertionError(e.getMessage());
        }
        getDefaultGroup(); // initializes the default group.
    }

Since you mentioned that the line number may be wrong, I will give attention to other things, as:

.eq(Album.GROUP_ID_FIELD, group.getId()).and()

Maybe "group" is the cause of the null pointer.

from ormlite-android.

j256 avatar j256 commented on July 21, 2024

I'm going to close this issue. Feel free to disagree and reopen if you have some more information that this is a bug in ORMLite. Thanks.

from ormlite-android.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.