I’ve had some time this week, partially feeling very exciting about the Mango update.
So far, I’ve managed to implement:
- Pinning of databases to the start page. It works well on the emulator (target: Mango).
- Made use of backtrack modification provided in Mango to improve the “Back to Root” & “Back to Databases” navigation.
This change also allowed me to use transitions for some eye candy (target: Mango).
- Improved the web navigation for the Detected Links page when you download database from a web server.
Last but not least: database modification.
The database could be quite big for a phone to handle, so I tried to avoid loading the whole database file in memory to make modifications. That, however, proved too complicated to do. Making modifications using forward only XML navigation is really painful.
So, in the end, I think it’s acceptable to be a little bit slow when saving changes to the database. This allowed much simpler code and allow much more flexible data processing.
With my current code (pushed to GitHub), I was able to make changes to the entries and groups (change details, move, create new – not all exposed via UI) and save this changes to a file.
I’ll still need to make sure the same progress is safe, meaning backing up the original database, write the new database and then recover if there’s something wrong during the writing.
Next will be implementing DropBox uploading and WebDAV uploading.
Regarding copy/paste support, as soon as I don’t have to make textboxes read only, copy/paste is simple. The whole textbox will be selected when you tap on it, so that you can either copy the content, or paste your clipboard on it. I’ve tried selecting the whole textbox when it’s readonly, but that caused some nasty bugs that I found no workaround. So please excuse me for not keeping the promise of adding copy/paste support when the OS does.
On a side note, I’ve managed to perform some FTP support, which looks good so far, but since Mango will not be released to consumers yet in the short term, this task is having lower priority.
Until next update, Van.