[sword-devel] Android SWORD

Kenneth Arnold kcarnold at alum.mit.edu
Mon Sep 6 14:41:24 MST 2010

This thread got rather sidetracked by the version control issue;
personally I use git daily but usually in a centralized workflow. I
think between github and GUIs like TortoiseGit it's not a big burden
for new users ("just remember to Push"). Also, many open-source
projects I follow have switched from bzr/Launchpad to github. But I
have no strong feelings on what direction the various projects here
should go. Now back on topic...

Once the libsword-JNI bindings are stabilized and the build process is
smoothed out, the only significant difference between them and JSword
for Android should be speed, so let's measure that. There may also be
differences in formatting, so let's go with the one that formats
better and is faster. (Caching and prefetch could smooth over most
visible speed differences, so maybe it's just which one formats
better.) I also once lamented the complexity of doing simple things
with the libsword C++ API, but I wrote a Python ztext reader instead
of what I should have done, which is: help improve the code :)

It doesn't look like the current way and-bible uses WebView allows you
to do much with the text besides display it. I'm considering replacing
the static page with a Javascript viewer that calls Java methods using
addJavascriptInterface [1]. This would theoretically allow accurate
verse position information and continuous scrolling (assuming the
ability to call Javascript from Java, which may be possible with
loadUrl [2]), but would require some significant HTML and Javascript
work. Are there any web-based SWORD viewers that might be adaptable to
that purpose?

Btw, PocketSword users, how do you like the interface? Should we just
do the same thing on Android?

For those that would prefer to pay now instead of waiting for
open-source, CadreBible and Olive Tree's BibleReader both have nice
(though not perfect) interfaces.

So Martin, enjoy your holidays and see you when you get back.


[1] http://developer.android.com/reference/android/webkit/WebView.html#addJavascriptInterface%28java.lang.Object,%20java.lang.String%29
[2] http://groups.google.com/group/android-developers/browse_thread/thread/6ed23efa4d22f7e6

On Wed, Sep 1, 2010 at 12:00 PM, Martin Denham <mjdenham at gmail.com> wrote:
> Hi,
> Bishop is real fast but I don't know if that is all due to C++ code or if it
> is not doing as much html processing/formatting as and-bible.  I thought
> about switching to the C++ libs but there are various h/w restrictions if
> you use the ndk and also it is a long time since I use C++ and I just can't
> understand the Sword C++ code anymore and it seems from Troy's e-mails that
> the packaged ndk lib would need a fair bit more work.  Jsword also needs
> some optimisations and tweaks but I am more confident with Java.  So if you
> use C++ then feel free to continue Bishop or branch and-bible, but I always
> planned to create a pure java bible and JSword gave me a really good start.
> There is facade layer in and-bible that acts as an interface to JSword but
> realistically so many helper classes are used in the ui that it would be
> difficult to make the back-end switchable.
> Maybe the git idea is a good one and can be put on the list.  What do others
> think?  I chose svn because I thought most developers would be familiar with
> it and it has great eclipse integration.  Personally I have to use PVCS and
> Clearcase at work so even svn provided challenges for me.  Nic recently
> transferred PocketSword to Mercurial and seemed very happy.  However, as
> everybody keeps commenting there is a whole load of functionality in
> and-bible that is missing and that needs improvement so maybe I should keep
> my head down and not be distracted.
> I am on holiday at the moment so don't expect any new releases for a while.
> Why am I typing e-mails while I am on holiday!!!
> btw I just want to share we just heard that my eldest daughter got 5xA* 4xA
> and a B in her GCSEs - the holiday begins.
> Best regards
> Martin
> On 31 August 2010 19:11, Bill Burton <bburton at mail.com> wrote:
>> Hello,
>> On a related note, could this project be hosted on http://github.com?  It
>> would provide much better ability to collaborate since anyone can fork, make
>> changes and then push them back for optional inclusion.  The built-in wiki
>> would make it easy to publish any appropriate docs.
>> For an example of why this would be helpful, I have some libsword swig
>> bindings for Ruby that never got committed because no one who was a commiter
>> had the time or inclination to step up and look at them.  If I could have
>> forked the swig bindings, and checked in my changes, then whether or not
>> they became incorporated in the official version, they would be readily
>> available for anyone to find, evaluate and/or fix.
>> Just my $0.02.
>> Thanks,
>> -Bill
>> On Sat, Aug 28, 2010 at 11:33 PM, Kenneth Arnold <kcarnold at alum.mit.edu>
>> wrote:
>>> Hi Martin and Troy,
>>> I finally got the AndBible source built; I needed to get the jsword
>>> source and also raise the memory limit for Eclipse--it thrashed and
>>> eventually crashed in the linker/dex step. There's still a dex warning that
>>> floods the Console, but it works on my Droid X. I made a few minor
>>> modifications to ensure I could, but nothing serious yet.
>>> Major things I'd like to work on as a user are navigation, continuous
>>> scrolling, and verse number sync. Also, do you think we should replace the
>>> backend with native libsword? That might help formatting and speed, but I
>>> don't know how deeply it's woven into the code. The Bishop code could be a
>>> useful example if we decide to go that way.
>>> Should we continue discussion on this list?
>>> -Ken (mobile)
>>> On Aug 26, 2010 1:39 AM, "Troy A. Griffitts" <scribe at crosswire.org>
>>> wrote:
>>> Dear Ken,
>>> Thank you for the debug.  I also have had trouble with the installer and
>>> haven't had time to look into it.
>>> The history is that I build Bishop as a sort of proof of concept for the
>>> java-jni bindings for Android.  I mostly work in the engine code.  The
>>> jni binding code I kept in SWORD SVN and the Bishop code I just backed
>>> up occasionally to our server.  Last year my drive crashed and I lost
>>> some work but might have pieced it all back together.  Here is an email
>>> I sent to Gary with links to all my stuff.
>>> ______________________
>>> After last year when I started the work I had a harddrive die on my
>>> laptop.  I had been backing up the work regularly, but lost about 2
>>> weeks of work in the crash.  I used a recovery tool to salvage many of
>>> the files from the bishop project and think I may have close to what is
>>> in the apk.  Here are my resources if you want to try to piece things
>>> together:
>>> Lastest binary when I stopped, dated 11-18-2009:
>>> http://crosswire.org/~scribe/bishop.apk
>>> Latest backup of source, dated 10-31-2009:
>>> http://crosswire.org/~scribe/bishop-20091031.tar.gz
>>> Latest binary after reconstructing source and I think some small new
>>> work (I think this is built with debug symbols in the native library so
>>> it's a little bigger):
>>> http://crosswire.org/~scribe/bishop2.apk
>>> Current backup of source which built the above:
>>> http://crosswire.org/~scribe/bishop-20100804.tar.gz
>>> Please excuse my ignorance of Android programming.  I am fumbling
>>> through it all.
>>> I remember having trouble with the InstallMgr.  It sometimes connects
>>> and downloads and other times it does not.  I thought it might be the
>>> limited memory on my G1 or some trouble with the timing of the FTP code
>>> in the native library.  I've found serious bugs in Android's system
>>> calls, (e.g. memccpy) and reported it to them, but they still haven't
>>> fixed it.  I use my own version in the ftp lib to avoid the bug.  That
>>> is where I stopped-- thinking I needed to debug this ftp intermittent
>>> issue.  I didn't compare how well the older .apk works versus the newer
>>> .apk.  Maybe the older version worked better?  Or maybe a newer version
>>> of Android or new phone works better?
>>> Let me know what you find.
>>> Troy
>>> On 08/24/2010 09:01 PM, Kenneth Arnold wrote:
>>> > I just got an Android phone, and after seeing the...
>>> _______________________________________________
>>> sword-devel mailing list: sword-devel at crosswire.org
>>> http://www.crosswire.org/mailman/listinfo/sword-devel
>>> Instructions to unsubscribe/change your settings at above page
>> --
>> Bill Burton <bburton at mail.com>
>> _______________________________________________
>> sword-devel mailing list: sword-devel at crosswire.org
>> http://www.crosswire.org/mailman/listinfo/sword-devel
>> Instructions to unsubscribe/change your settings at above page
> _______________________________________________
> sword-devel mailing list: sword-devel at crosswire.org
> http://www.crosswire.org/mailman/listinfo/sword-devel
> Instructions to unsubscribe/change your settings at above page

More information about the sword-devel mailing list