EmbeddedRelated.com
Forums

Coding under Android

Started by Don Y August 12, 2011
On Aug 14, 2:01=A0am, Nobody <nob...@nowhere.com> wrote:
> On Sat, 13 Aug 2011 18:19:58 -0700, Don Y wrote: > >> Well... performance for certain applications are pretty lacking since > >> when programming an Android app you are limited to java and the Androi=
d
> >> SDK. There does exist the NDK for more performance critical > >> applications... but it seems like a pain to use. For example, look at > >> the state of computer vision or even just imaging algorithms on > >> Android... pretty abysmal. Whereas you could get much better results i=
f
> >> you could just have the ability to code the thing in C. > > > You *can't*? =A0If it's the "Linux 2.6 kernel", then are you saying the > > kernel interfaces are *hidden*?
Yes, you can. We are running native C program on Android 2.1 via ADK. The only problem is that we can't start it in init script without rooting it. In theory, we can run a custom window manager on the hardware itself. Afterall, it's just Video4Linux.
> > "Applications" are supposed to be written in Java, for portability and > security. Native development is intended for hardware vendors, not > third-party "app" developers.
Not if you know what you are doing. May I ask people to google or do it before making informed opinions.
> Access to the lower levels depends upon how > locked-down a particular model is. If the vendor is selling the hardware > at (or below) cost, with the intention of making their profit on services > and add-ons, they're going to try to keep you locked into their ecosystem=
. That's why there is a better chance of "rooting" a no-name chinese model. Don't get it from phone companies.
On Aug 14, 6:08=A0pm, Don Y <nowh...@here.com> wrote:
> Hi Dimiter, > > On 8/14/2011 3:37 AM, dp wrote: > > >> "Applications" are supposed to be written in Java, for portability and > >> security. Native development is intended for hardware vendors, not > >> third-party "app" developers. Access to the lower levels depends upon =
how
> >> locked-down a particular model is. If the vendor is selling the hardwa=
re
> >> at (or below) cost, with the intention of making their profit on servi=
ces
> >> and add-ons, they're going to try to keep you locked into their ecosys=
tem..
> > > That seems to be the trend, everybody wants to sell you a TV set. > > You are supposed to use the remote, no more. > > Which can also be an opportunity to some of us, of course. > > I think that's also what *customers* want. =A0They don't want to > understand their products... just *use* them.
Hi Don, yes, of course that is the underlying reason. But I would not underestimate the "public", they just consume what is available, it is hard to say which is cause and which is effect on that. Anyway, too busy at the moment to do more than idle thinking on the "opportunity" :-). Dimiter
On 8/14/2011 8:33 AM, linnix wrote:
> On Aug 14, 2:01 am, Nobody<nob...@nowhere.com> wrote: >> On Sat, 13 Aug 2011 18:19:58 -0700, Don Y wrote: >>>> Well... performance for certain applications are pretty lacking since >>>> when programming an Android app you are limited to java and the Android >>>> SDK. There does exist the NDK for more performance critical >>>> applications... but it seems like a pain to use. For example, look at >>>> the state of computer vision or even just imaging algorithms on >>>> Android... pretty abysmal. Whereas you could get much better results if >>>> you could just have the ability to code the thing in C. >> >>> You *can't*? If it's the "Linux 2.6 kernel", then are you saying the >>> kernel interfaces are *hidden*? > > Yes, you can. We are running native C program on Android 2.1 via ADK. > The only problem is that we can't start it in init script without
Ah, OK. Init starts some java-oriented "shell"?
> rooting it. In theory, we can run a custom window manager on the > hardware itself. Afterall, it's just Video4Linux. > >> "Applications" are supposed to be written in Java, for portability and >> security. Native development is intended for hardware vendors, not >> third-party "app" developers. > > Not if you know what you are doing. May I ask people to google or do > it before making informed opinions. > >> Access to the lower levels depends upon how >> locked-down a particular model is. If the vendor is selling the hardware >> at (or below) cost, with the intention of making their profit on services >> and add-ons, they're going to try to keep you locked into their ecosystem.. > > That's why there is a better chance of "rooting" a no-name chinese > model. Don't get it from phone companies.
*Really*? I figured buying one of these was "you're on your own!" Is there a high degree of similarity between products that makes this possible? Or, do you have to hope to find someone who has already done some/all of the work on your *particular* model? (I don't put much faith in the "model numbers" on much of this knockoff stuff... sort of like buying Rollex [sic} watches!)
On Aug 14, 1:24=A0pm, Don Y <nowh...@here.com> wrote:
> On 8/14/2011 8:33 AM, linnix wrote: > > > On Aug 14, 2:01 am, Nobody<nob...@nowhere.com> =A0wrote: > >> On Sat, 13 Aug 2011 18:19:58 -0700, Don Y wrote: > >>>> Well... performance for certain applications are pretty lacking sinc=
e
> >>>> when programming an Android app you are limited to java and the Andr=
oid
> >>>> SDK. There does exist the NDK for more performance critical > >>>> applications... but it seems like a pain to use. For example, look a=
t
> >>>> the state of computer vision or even just imaging algorithms on > >>>> Android... pretty abysmal. Whereas you could get much better results=
if
> >>>> you could just have the ability to code the thing in C. > > >>> You *can't*? =A0If it's the "Linux 2.6 kernel", then are you saying t=
he
> >>> kernel interfaces are *hidden*? > > > Yes, you can. We are running native C program on Android 2.1 via ADK. > > The only problem is that we can't start it in init script without > > Ah, OK. =A0Init starts some java-oriented "shell"? > >
Just download the Android source and start exploring.
> > > > > > > > > rooting it. =A0In theory, we can run a custom window manager on the > > hardware itself. =A0Afterall, it's just Video4Linux. > > >> "Applications" are supposed to be written in Java, for portability and > >> security. Native development is intended for hardware vendors, not > >> third-party "app" developers. > > > Not if you know what you are doing. =A0 May I ask people to google or d=
o
> > it before making informed opinions. > > >> Access to the lower levels depends upon how > >> locked-down a particular model is. If the vendor is selling the hardwa=
re
> >> at (or below) cost, with the intention of making their profit on servi=
ces
> >> and add-ons, they're going to try to keep you locked into their ecosys=
tem..
> > > That's why there is a better chance of "rooting" a no-name chinese > > model. =A0Don't get it from phone companies. > *Really*? =A0I figured buying one of these was "you're on your own!" > > Is there a high degree of similarity between products that makes > this possible? =A0Or, do you have to hope to find someone who > has already done some/all of the work on your *particular* > model? > > (I don't put much faith in the "model numbers" on much of this > knockoff stuff... =A0sort of like buying Rollex [sic} watches!)
In my experience you are correct in assuming you are "on your own." There are some devices that have a lot of people in the community getting the hardware working with more recent software (Pandaboard, beagleboard, newer phones..) Devices that you buy have software that is usually forked at a specfic release (from Google and SoC maker) and further developed by the person selling you the device. You are lucky if there is an effort to keep refreshing the SW. Sure rooting a no-name device might be easier... reason being is the bootloader is locked down!!! But what kind of resources will you have with the device support in SW...
On Aug 14, 11:24=A0am, Don Y <nowh...@here.com> wrote:
> On 8/14/2011 8:33 AM, linnix wrote: > > > On Aug 14, 2:01 am, Nobody<nob...@nowhere.com> =A0wrote: > >> On Sat, 13 Aug 2011 18:19:58 -0700, Don Y wrote: > >>>> Well... performance for certain applications are pretty lacking sinc=
e
> >>>> when programming an Android app you are limited to java and the Andr=
oid
> >>>> SDK. There does exist the NDK for more performance critical > >>>> applications... but it seems like a pain to use. For example, look a=
t
> >>>> the state of computer vision or even just imaging algorithms on > >>>> Android... pretty abysmal. Whereas you could get much better results=
if
> >>>> you could just have the ability to code the thing in C. > > >>> You *can't*? =A0If it's the "Linux 2.6 kernel", then are you saying t=
he
> >>> kernel interfaces are *hidden*? > > > Yes, you can. We are running native C program on Android 2.1 via ADK. > > The only problem is that we can't start it in init script without > > Ah, OK. =A0Init starts some java-oriented "shell"?
Yes, all we need is to change it to start our own. Alternatively, we use a micro with USB Android Debug Bridge to start it.
> > > rooting it. =A0In theory, we can run a custom window manager on the > > hardware itself. =A0Afterall, it's just Video4Linux. > > >> "Applications" are supposed to be written in Java, for portability and > >> security. Native development is intended for hardware vendors, not > >> third-party "app" developers. > > > Not if you know what you are doing. =A0 May I ask people to google or d=
o
> > it before making informed opinions. > > >> Access to the lower levels depends upon how > >> locked-down a particular model is. If the vendor is selling the hardwa=
re
> >> at (or below) cost, with the intention of making their profit on servi=
ces
> >> and add-ons, they're going to try to keep you locked into their ecosys=
tem..
> > > That's why there is a better chance of "rooting" a no-name chinese > > model. =A0Don't get it from phone companies. > > *Really*? =A0I figured buying one of these was "you're on your own!"
But it's better than buying from the phone company whose main purpose is to hide everything from you.
"Don Y" <nowhere@here.com> wrote in message 
news:j2477j$tm$1@speranza.aioe.org...
> Hi, > > Well, I've been stymied trying to find 4-5" 4:3 LCD > touch panels (I did find a nice one at 5" but have yet > to chase down the manufacturer for availability). > > Rather than wait, I am begrudgingly looking at a cheap ($50) > 7" tablet to advance a bit further towards a real "beta". > > Tablet runs Android. So, I can either figure out how > to root the thing (and then hope I can find docs on the > various bits of hardware inside) *or* build an emulation > system *under* Android to give me the environment I want. > > The latter is less "run-time" efficient but may be a > better short-term bet to get further along with testing. > > Also, I need a tablet-like device for another application > (though 7" is awfully large :< ). > > So, how responsive is Android? How rich is the programming > model (flat address space? protection domains? VMM? etc.)? > What are the *gripes* about it? And, reasons for each > "point release" (i.e., are they fixing bugs or fixing > "missing features")? > > Thx, > --don
Don - rather than end up with a load of stuff you don't want take a look at the Noritake Itron ISmart TFT modules - www.itrontft.com The look pretty good value for money - I haven't tried them (and have no connection with them) but I have them on my list for the next time I need a little LCD display. Michael Kellett
Hi Bryan,

On 8/14/2011 12:22 PM, Bryan Buckley wrote:
>>>>> You *can't*? If it's the "Linux 2.6 kernel", then are you saying the >>>>> kernel interfaces are *hidden*? >> >>> Yes, you can. We are running native C program on Android 2.1 via ADK. >>> The only problem is that we can't start it in init script without >> >> Ah, OK. Init starts some java-oriented "shell"? > > Just download the Android source and start exploring.
That;s exactly what's wrong with most OSS: you're just left poking around without a roadmap or any framework that tells you what you might find -- and *where*. No whitepapers, no specifications... you're lucky if you get a breakdown of the "source tree" (which is often of little value as the directory names give about the same amount of information!)
>>>> Access to the lower levels depends upon how >>>> locked-down a particular model is. If the vendor is selling the hardware >>>> at (or below) cost, with the intention of making their profit on services >>>> and add-ons, they're going to try to keep you locked into their ecosystem.. >> >>> That's why there is a better chance of "rooting" a no-name chinese >>> model. Don't get it from phone companies. >> *Really*? I figured buying one of these was "you're on your own!" >> >> Is there a high degree of similarity between products that makes >> this possible? Or, do you have to hope to find someone who >> has already done some/all of the work on your *particular* >> model? >> >> (I don't put much faith in the "model numbers" on much of this >> knockoff stuff... sort of like buying Rollex [sic} watches!) > > In my experience you are correct in assuming you are "on your own." > There are some devices that have a lot of people in the community > getting the hardware working with more recent software (Pandaboard, > beagleboard, newer phones..) Devices that you buy have software that > is usually forked at a specfic release (from Google and SoC maker) and > further developed by the person selling you the device. You are lucky > if there is an effort to keep refreshing the SW.
I am not concerned with folks keeping "-current". Rather, I'm concerned about finding the information I need to "go my own way". E.g., you don't care if an SBC manufacturer keeps his "BIOS" current -- esp if you aren't planning on running "DOS" on that platform!
> Sure rooting a no-name device might be easier... reason being is the > bootloader is locked down!!! But what kind of resources will you have > with the device support in SW...
All I need to know is which devices are "where" in the memory map (and, documentation for the chipset(s) used). Since these devices tend to be pretty densely populated, probing theboard is usually impractical. But, inspecting *some* sources (device drivers) would give a clue as to how things are wired -- if the chipset docs are forthcoming.
On 8/14/2011 12:24 PM, linnix wrote:

>>>> Access to the lower levels depends upon how >>>> locked-down a particular model is. If the vendor is selling the hardware >>>> at (or below) cost, with the intention of making their profit on services >>>> and add-ons, they're going to try to keep you locked into their ecosystem.. >> >>> That's why there is a better chance of "rooting" a no-name chinese >>> model. Don't get it from phone companies. >> >> *Really*? I figured buying one of these was "you're on your own!" > > But it's better than buying from the phone company whose main purpose > is to hide everything from you.
Not looking at *phones* (but I understand your point)
Hi Michael,

On 8/15/2011 7:23 AM, mk wrote:
> "Don Y"<nowhere@here.com> wrote in message > news:j2477j$tm$1@speranza.aioe.org...
>> Well, I've been stymied trying to find 4-5" 4:3 LCD >> touch panels (I did find a nice one at 5" but have yet >> to chase down the manufacturer for availability). >> >> Rather than wait, I am begrudgingly looking at a cheap ($50) >> 7" tablet to advance a bit further towards a real "beta". >> >> Also, I need a tablet-like device for another application >> (though 7" is awfully large :< ). > > Don - rather than end up with a load of stuff you don't want take a look at > the Noritake Itron ISmart TFT modules - www.itrontft.com > The look pretty good value for money - I haven't tried them (and have no > connection with them) but I have them on my list for the next time I need a > little LCD display.
Interesting devices. A bit pricey in small quantities (e.g., ~100-150USD). Aside from that, the two immediate impediments are: - "Not currently available for sale or use in Asia or North America" - "One Time Entry - Contact Details" (you know, when I go to buy a *car*, they don't insist on having my name, address and email before they'll let me peek under the hood... if they *do*, I know its because they want to later HARASS ME) I'll bookmark the page, though, for future reference. But, I think pursuing the android tablet is probably my better option at this point. Unfortunately, it looks like I'll need to research "popularity" instead of just *features* (in the hope of finding something that is "well exposed")
On Aug 17, 8:50=A0pm, Don Y <nowh...@here.com> wrote:
> Hi Michael, > > On 8/15/2011 7:23 AM, mk wrote: > > > > > > > > > > > "Don Y"<nowh...@here.com> =A0wrote in message > >news:j2477j$tm$1@speranza.aioe.org... > >> Well, I've been stymied trying to find 4-5" 4:3 LCD > >> touch panels (I did find a nice one at 5" but have yet > >> to chase down the manufacturer for availability). > > >> Rather than wait, I am begrudgingly looking at a cheap ($50) > >> 7" tablet to advance a bit further towards a real "beta". > > >> Also, I need a tablet-like device for another application > >> (though 7" is awfully large =A0:< =A0). > > > Don - rather than end up with a load of stuff you don't want take a loo=
k at
> > the Noritake Itron ISmart TFT modules -www.itrontft.com > > The look pretty good value for money =A0- I haven't tried them =A0(and =
have no
> > connection with them) but I have them on my list for the next time I ne=
ed a
> > little LCD display. > > Interesting devices. =A0A bit pricey in small quantities > (e.g., ~100-150USD). =A0Aside from that, the two immediate > impediments are: > - "Not currently available for sale or use in Asia or North America" > - "One Time Entry - Contact Details" > > (you know, when I go to buy a *car*, they don't insist on having > my name, address and email before they'll let me peek under the > hood... if they *do*, I know its because they want to later > HARASS ME) > > I'll bookmark the page, though, for future reference. =A0But, I > think pursuing the android tablet is probably my better option > at this point. =A0Unfortunately, it looks like I'll need to > research "popularity" instead of just *features* (in the hope > of finding something that is "well exposed")
These VIA tablet seems pretty good, around $80 including shipping to the US. It's a 800MHz ARM9 based processor. http://cgi.ebay.com/7-inch-Tablet-PC-Android-2-2-WIFI-3G-Flash-VIA8650-MID-= /260837046643?pt=3DUS_Tablets&hash=3Ditem3cbb197973