Anyone know how to get the nook android app to show the covers for epubs? Only downside of going cm7 vs stock eclair.
I just found a way
You need the book ID that the Nook app uses to identify each book.
This can be found inside the nook.db SQLite database used by the Nook app, look at the "ean" field inside "products" table. The easiest way to find it is by using the SQLite editor app from the Market.
Each ean should be a string of 64 chars, like this:
686B5DF3A725532E508C8A4741166F748F7419C0801FC0B638B6F5C246244AD3
Now you just have to put the cover and its thumbnail inside /sdcard/Nook/Images, in PNG format and using names like:
686B5DF3A725532E508C8A4741166F748F7419C0801FC0B638B6F5C246244AD3_thumb.png
and
686B5DF3A725532E508C8A4741166F748F7419C0801FC0B638B6F5C246244AD3_cover.png
Hope this helps.
I created an app and placed it in the market call "Nook Book Cover Helper", which pulls the title and ean numbers from the database and displays them or allows you to export them to a text file. It's a little simpler then searching with sqlite.
I get library sync errors whenever I do this mod. The covers show up OK, but whenever I go in or out of the application, I eventually start getting the errors.
I tried with both _thumb and _cover pngs and with just _cover or just _thumb files. It seems that either way works. I eventually wind up clearing data (which changes all the EAN #s and messes up the covers again).
I tried just doing one cover and about a dozen (out of about 18 sideloaded books). They are all EPUB books. I did notice that the EAN #s are longer for sideloaded books than for books purchased from B&N.
Anybody else seeing this issue?
keyodi said:
I created an app and placed it in the market call "Nook Book Cover Helper", which pulls the title and ean numbers from the database and displays them or allows you to export them to a text file. It's a little simpler then searching with sqlite.
Click to expand...
Click to collapse
keyodi, thanks so much for releasing this. Finally I'm able to see images in the library! The process is still cumbersome, for which I blame BN. I copied each EAN code compiled by the apk, pasted the data as the new name for the cover image in each folder created by Calibre, copied all image files, and pasted them into the image directory. After futzing around for a while, everything synced up just great. I noticed that when I had to make some minor modifications to some of the epub files (for example, changing some metadata), I had to create the image files all over again. I'm very grateful to keyodi for creating the Nook Book Cover Helper, but completely annoyed with BN for making the process that difficult. Let's hope the Nook app will get updated someday.
Unfortunately, the ean numbers will get recreated if the epub is modified in any way or if you clear the data. I guess it's just another way for BN to force you to buy books from them
DiDGR8, what errors do you get? Force closes on the Nook app? Do you have latest Nook app installed?
keyodi said:
DiDGR8, what errors do you get? Force closes on the Nook app? Do you have latest Nook app installed?
Click to expand...
Click to collapse
The app is up-to-date and does not force close. I get a error dialog stating that an error has occurred while synchronizing library contents. The dialog is occasionally continuous until I close the app. I didn't do problem isolation on the wifi (it may or may not occur with wifi off). When the error is not continuous, the book listing resets to a new order (books sort around in a different order and my most recently read book is no longer the first one listed).
It's annoying but not serious, but I don't value the book covers enough to put up with the hassle of figuring out the new EANs or putting up with the errors so I go back to "generic" covers. No biggie.
keyodi said:
I created an app and placed it in the market call "Nook Book Cover Helper", which pulls the title and ean numbers from the database and displays them or allows you to export them to a text file. It's a little simpler then searching with sqlite.
Click to expand...
Click to collapse
Wow, that's nice.
If you feel like doing some more programming, you could try to automatically extract the cover from the epub files and adding it to the library.
You could search epubs (which are just zip archives) for a file called cover.*, convert it to PNG if needed and put it in Nook library with the right name. This should work with a lot of epubs (e.g. those converted with Calibre).
I know it involves much more work than just extracting the names but...
met67 said:
Wow, that's nice.
If you feel like doing some more programming, you could try to automatically extract the cover from the epub files and adding it to the library.
You could search epubs (which are just zip archives) for a file called cover.*, convert it to PNG if needed and put it in Nook library with the right name. This should work with a lot of epubs (e.g. those converted with Calibre).
I know it involves much more work than just extracting the names but...
Click to expand...
Click to collapse
I was able to extract the cover images from the epub, so I may publish the updated app today or tomorrow.
Edit: Updated app on market
Keyodi, thank you for the updated app. For some reason, I get a "no database found" message when I try to scan my nook folder. It was working fine before but now I can't get it to work. I tried rebooting but that didn't help. The books still show up in the Nook app, though. Any ideas?
If you receive the "No database found" message, then the app was unable to connect to the db. Can you verify that the locker.db exists under /data/data/bn.ereader/databases/?
You can also try clearing data on the nook app (Application Setting/Manage settings), but it will require you to log in again and re-download your books and cover images.
I also updated the app to 1.5.1, which fixed a couple of bugs, so maybe this version will fix your issues.
keyodi said:
If you receive the "No database found" message, then the app was unable to connect to the db. Can you verify that the locker.db exists under /data/data/bn.ereader/databases/?
You can also try clearing data on the nook app (Application Setting/Manage settings), but it will require you to log in again and re-download your books and cover images.
I also updated the app to 1.5.1, which fixed a couple of bugs, so maybe this version will fix your issues.
Click to expand...
Click to collapse
The bug fix alone did the trick. This updated version is fantastic. I can't thank you enough!
keyodi said:
I was able to extract the cover images from the epub, so I may publish the updated app today or tomorrow.
Edit: Updated app on market
Click to expand...
Click to collapse
I get a blank screen; after the intro page, the header and status bar are there, and menu pops up an "Export" button, and back works, but no books are listed; there should be dozens.
I have some leftover epubs in my /emmc from before I installed CM7; would that confuse things?
Are your books showing up under my files? The blank page just means no epubs were found in the db. I probably should display that message instead of a blank page.
You can try a couple of things:
-Press refresh in the NOOK app
-upload the locker.db, so I can take a look at it
-Rename the locker.db to lockerbk.db under /data/data/bn.ereader/databases/ and launch the nook app
keyodi said:
Are your books showing up under my files?
Click to expand...
Click to collapse
After much screwing around, I find that /sdcard/Nook/Content appears to contain my B&N-bought .epubs, with names like "12345678901234567890_Title.epub". Damn, that makes them hard to browse. I won't attempt to correlate the numbers with some field in a database. There are also InfoJson_12345... files as well; these appear to be tables of contents. /sdcard/Nook/Images appears to contain covers and thumbnails (named 1234_thumb.png or 1234_cover.png) for books both downloaded and viewed on the "Shop" page. Lots more thumbnails than covers, but covers are for both downloaded and inspected (I looked at the details) books.
The blank page just means no epubs were found in the db. I probably should display that message instead of a blank page.
Click to expand...
Click to collapse
Updated the app; I now get the "No epubs found..." message. I feel better already! However, the db has 200+ entries, so something is still amiss.
You can try a couple of things:
Click to expand...
Click to collapse
I reordered your suggestions to make me feel better...
-Press refresh in the NOOK app
Click to expand...
Click to collapse
No change.
-Rename the locker.db to lockerbk.db under /data/data/bn.ereader/databases/ and launch the nook app
Click to expand...
Click to collapse
Had to sign in, took for-bloody-ever while "Syncing Library". Still no change.
-upload the locker.db, so I can take a look at it
Click to expand...
Click to collapse
Attached (I hope). The rebuilt one is slightly larger than the original; the new one is attached. Should I change my B&N password now?
I don't see the locker.db attached.
keyodi said:
I don't see the locker.db attached.
Click to expand...
Click to collapse
Damn. Let me try again.
I do have another question, though: my numbers look to be in a different format than those discussed earlier in this thread, and 1234_cover.png files that do exist are not displayed by the Nook app. This seems like a bad thing...
The db doesn't list any side-loaded epubs. Are all your epubs located in /Nook/MyDocuments folder on the sd card?
keyodi said:
The db doesn't list any side-loaded epubs. Are all your epubs located in /Nook/MyDocuments folder on the sd card?
Click to expand...
Click to collapse
My B&N-bought stuff is all in /sdcard/Nook/Content; I've been using eReader and aldiko for side-loaded content. Aldiko appears to import into /sdcard/eBooks.
I haven't tried to use the Nook app to read sideloaded books, I was under the impression that it didn't work. Can you point me to a clue? Do you just drop the .epubs in /sdcard/Nook/Content?
sigh
Thanks!
The nook app can read sided-load epubs, but you have to place them in sdcard/Nook/MyDocuments. Try copying one or two epubs from the /sdcard/eBooks folder into sdcard/Nook/MyDocuments.
*completely reworked and improved app in the post immediately following*
I created a little one-touch app to utilize the native screencap capability of the NST. As noted a long time ago in another thread, this capability is a little odd, as it results in a blue or green-scale image. This app corrects that issue, converting to 256-greyscale.
But....what about Screenshot Easy or any of several other PlayStore apps? Actually, I have used Screenshot Easy for some time, and I do like it. What I really wanted, however, was a capability reminiscent of the power-button option in CyanogenMod ROMs where one touch can give you a screenshot of any screen, right while you are looking at it. While adding that function to the power button on the NST is beyond my pay grade, I was able to do this much. To get the most out of this app, you need to have a hardware button available. Using NTMM, assign that button to the app and you can then take a screenshot at any time (except on the sleep screensaver--yeah, I had to try!). I included a few examples below.
Install
1. Download the apk file (below)
2. Transfer to your NST [probably also NSTG--can someone confirm?]
3. Touch on icon from your file manager and choose to install.
4. In the root of your SD card, create a folder called "Pictures". Within that folder, create another folder called "Screenshots". Folder names and locations must be exact. Sorry.
*This app requires root access because it is executing shell commands. The first time you try to use it you will likely get a screenshot of your SuperUser app permission screen*
Screenshots are saved with names like "screenshot_7-29-2017_13.57.jpg" (yup, that's the date and time). When a shot is taken, a notification appears as a confirmation.
To assign a hardware button to the app, use Nook Touch Mod Manager (NTMM), or just tap on the app icon to take a screenshot.
Edit: I have recently discovered that these apps--and all Tasker-generated apps--have a dependency on two library files normally installed with GApps. If you do not have GApps installed on your device, you can still use these apps by copying the two attached files into the locations shown below (the xml file is zipped so you can download it rather than view it):
/system/etc/permissions/com.google.android.maps.xml
/system/framework/com.google.android.maps.jar
Set permissions for both files to rw-r--r-- and reboot.
Version 2!
6-21-23: updated to 2.2
--removed dependency on Screenshot Easy app (you can uninstall it)
--added small binary file, fb2png, which "replaces" malfunctioning device screenshot routine
This is a completely re-worked approach to a one-touch screenshot which is now part of my Alternate Power Menu app, here as a stand-alone.
Install
1. Unzip the attached file
2. Copy over Google maps library files as described in post #1 above (if not already present)
3. Copy the file "fb2png" to /data/local, set permissions to rwx rx rx
4. Create the folders /sdcard/Pictures/Screenshots
5. Install the Screenshot app
Use
You can take a screenshot by tapping on the app icon, but the best use is to assign the app to a hardware button using NookTouch ModManager. When you take a shot, there is a brief pause and then eventually a "flash" of a smaller image of the screen (see attached image below), followed by a notification. Because the app now requires root in order to determine whether the device is in portrait or landscape orientation, your first screenshot might be of the SuperUser permission screen. That won't happen a second time.
something could be wrong with the Screenshot version2_1 you reproduced.
Click to expand...
Click to collapse
Maybe, but I've installed the app on two NST devices without problems. However, it's not been tested on older firmwares, only 1.2.1 and 1.2.2. I don't see any reason why it should not work on the older firmware.
Check the Screenshot Easy configuration and make sure the image format is set correctly and that the path for saving the images is correct.
I'm out of the country now and don't have my NST with me, but I'll be back in a week and double check the uploaded apk. Could have been corrupted I guess.
lz199366 said:
Thanks for your reply. I tried to copy your settings 100%ly.
However, it can't take shots if I set the settings exactly the same as yours(it 'flashed' but create nothing in the folder)
Screenshots will only be taken when I turned on those two options(see in the attachment).'Start capture' and 'Notification icon' have to be turned if I want to take shots on my NST.
Also, I have updated my previous post to show how different the picture quality was by using 2 screenshot methods
Click to expand...
Click to collapse
I'm sitting in an airport lounge thinking about this problem. Did you try assigning the 2.1 version screenshot app to some other hardware key? Something about the timing on the long-press "n" might be causing an issue?
OK, I downloaded the posted 2.1 apk file and installed it on my NST running FW 1.2.1 and also a second one running 1.2.2. I didn't have the app installed previously because I use the Alternative Power Menu app and that includes the same screenshot routine.
To be brief: it works perfectly on both devices.
I can't emphasize enough the importance of having the two Maps files properly installed prior to the installation of the Screenshot app (if you do not have a prior GApps installation). That includes the reboot once the two files have been copied into the correct folders and their permissions set properly.
If you have done that and the app still refuses to function then there must be something about the older FW you are running, although I can't imagine what because the app really doesn't interact with the B&N stuff, but I suppose they could have found some Android 2.1 issues and corrected them in later FW versions.
9-5-21: Well...there are new SSL issues with all comics in the list that have an "a" designation. All of the "u" comics continue to work and if you exclude "a" selections from your list, the app functions properly. I'm looking at this but so far have come up empty. It's a shame. If I can find a workaround or alternate source for the affected comics (or at least some of them), I'll update the app. Otherwise.... In the meantime, the Washington Post has an Opera Mini-friendly comics page which includes quite a few selections (many on the "a" list): https://washingtonpost.com/entertainment/comics/
*updated to version 1.4--uninstall any previous versions first
fixed issue with Sunday comics
This app is designed to shamelessly emulate one of my favorite little apps that never did run below Jellybean and is now gone from the PlayStore anyway. A long time ago I posted a simple HTML template to enable viewing a selection of newspaper comic strips from a few sites in your browser. Time marches on and now those sites have mostly left browsers like Opera Mobile in the dust
Today's Comics is a Tasker-created app that allows you to download any of 157 newspaper comic strips at present. It has a simple GUI designed for the NST/G and relies on apps you might already have for ancillary tasks like viewing the comics and editing the list of comics to download. See screenshot below.
How to install
Download the attached zip. Unzip the file and transfer the contents to your Nook SD card. If you already have one of my other Tasker-generated apps or have previously installed GApps, you don't need the two Google maps library files and can delete them. If you do need them, copy the two files into the locations shown below:
/system/etc/permissions/com.google.android.maps.xml
/system/framework/com.google.android.maps.jar
Set permissions for both files to rw-r--r-- and reboot. Without these files resident, the app will not install.
Next, create in the root of your SD card the folder "TodaysComics" (exactly as you see here--this has changed from earlier versions!). Move the comics_list.txt file from the contents of the zip to this folder. This is where your comics will end up.
Install the app by tapping on it in your file manager (wherever you put it).
Download the CURL zip package, unzip and follow the instructions contained inside to install CURL on your device. Reboot after the install.
How to use
The comics_list.txt file lists all of the comics currently available. The file as you get it has every choice "commented out" by a period (.) at the beginning of each line. That means if you select the "Get Comics" option without doing anything else, you will get NO comics! You can edit the file on your NST/G if you have some kind of app that handles txt files. I use the text editor that is part of ES File Explorer [included with the zip]. You can also pull the file, edit the text file on a PC and then put it back on the NST/G. To select a comic for download simply remove the period (.) from the beginning of the line. Don't make any other changes, introduce line breaks, etc. If you designate your chosen editor as the "default" for the action then it will automatically open when you select the "Edit Comics" option in the future. On closing the editor you will return to the Today's Comics screen.
Even if you select only 5 comics, the app must scan the entire list. This actually does not take too long, but if you want to streamline things, you could create your own comics_list.txt file containing only the comics you want (i.e., there would be no lines beginning with a period). Put the original in a safe place or rename it comics_list.bak
Once the list is edited you're ready to download comics!
In the current version you have the option to autoview the comics once the download is complete. You can tap on that box if you like ("x" should appear and will be remembered until you tap again). Then tap on "Get Comics".
You need to be connected to WiFi (in fact, you will be warned about that if you are not). As comics download there is a toast for each one and then finally a completion toast. Basically the system is "locked" until that point. You can actually make the app screen disappear by tapping either "Exit" or the "Back" button, but the collection of comics will continue until done. I do not recommend trying to force an exit. You might be left with a screen artifact that is difficult to get rid of.
Once the download is complete, you will be taken to the viewer of your choice if you have the "autoview" box checked. Otherwise you can select the "View Comics" option. You can also "Exit" and return to view the comics later. The next time you download comics the new ones will overwrite the old ones. You can, of course, use your file explorer to find the comics and view them outside the app menu system. If you are using the app, you will be presented with a variety of choices based on what else you have installed. Again, I happen to like ES File Explorer's Image Viewer but QuickPic also works (and is in the zip file). Some viewers run in full screen and you need a way out so I have added a discreet semi-transparent "back" arrow at the upper left corner of whatever viewer you have (root required to access keyevent). If you need it, it's there. If you don't, ignore it until you're done and then tap it to make it go away. The "Exit" button of the app will also clear the back arrow. Unfortunately the "Gallery" app that is on the NST/G only sees .pngs and only in the /media folder--and doesn't update. I'm sure there are other options. I highly recommend landscape mode, considering the shape of most comic strips.
Can I run this app on other devices?
Maybe. There's no reason why the "innards" would not perform correctly, but the one drawback of Tasker-generated apps is that the GUI is device specific. That means this is designed for an 800x600 screen. On larger screens you'll probably see a floating app, while smaller screens will scrunch things up.
If you miss the ability to go straight to the Library with FBReader, this tiny app will solve that issue. It simply calls the activity which starts the Library. Unlike with the other popular readers, the author of FBReader left this as a possibility from outside the app.
1. This is a Tasker-generated app. If you already have one of my other Tasker-generated apps or have previously installed GApps, you don't need the two Google maps library files included in the zip and can delete them. If you do need them, copy the two files into the locations shown below:
/system/etc/permissions/com.google.android.maps.xml
/system/framework/com.google.android.maps.jar
Set permissions for both files to rw-r--r-- and reboot. Without these files resident, the app will not install.
2. Install the app itself and you're good to go.
6-25-23: Updated to version 1.1:
--removed dependency on Screenshot Easy (you can uninstall it)
--added small binary file, fb2png, to replace malfunctioning stock screenshot binary
While looking over potential reader apps to use on my NSTG with all the B&N stuff removed, I was happy to see that both CoolReader and AlReader automatically create a screensaver folder in which a cover image of the current book is placed automatically.
Unfortunately, FBReader does not have this feature and when I started to look at the issue I was surprised to see that cover images are not stored anywhere--at least nowhere I could find--but appear to be generated on the fly when you get to the cover page. This made automation (without actual tinkering with the app) impossible, but I finally figured out a way to adapt my Screensaver and Set Cover apps to work with FBReader (actually the app will take any current screen and place it in the "CurrentCover" screensaver folder, so be careful).
Like the Screensaver app, CurrentCover utilizes a small binary file, fb2png, which converts the current frame buffer contents into an image in png format.
To install:
1. This is a Tasker-generated app. If you already have one of my other Tasker-generated apps or have previously installed GApps, you don't need the two Google maps library files included in the zip and can delete them. If you do need them, copy the two files into the locations shown below:
/system/etc/permissions/com.google.android.maps.xml
/system/framework/com.google.android.maps.jar
Set permissions for both files to rw-r--r-- and reboot. Without these files resident, the app will not install.
2. In the zip you will find fb2png. Place the file in /data/local and set permissions to rwx rx rx.
3. Create the folder /media/screensavers/CurrentBookCover
(note: this has changed in version 1.1)
4. Install the CurrentCover app.
5. Use NTMM to assign CurrentCover to some convenient button.
6. In the Settings app select "CurrentCover" as the screensaver folder.
Using
When you arrive at the cover page of a book you are beginning to read, run the CurrentCover app by pressing the button you have assigned to it. There's a bit of a delay and eventually a toast showing a smaller image of the cover. That's it. Old images are overwritten when you start a new book.