Review code in a screenshot is hard.
Style wise, I see a couple of places I'd recommmend an early return. Some function names that still have test in them...
A general question is whether to make new tables vs use existing ones. There's a strong bias to using existing ones, you get a lot of power that way. But apps/programs/etc might be so different on android it merits it's own table. I don't know enough.
other small things like the columns names should probably be different. We don't use camelcase, and things should generally conform to other things. Ie: path, not codepath