QB64 Community

Development => QB64 GL => Topic started by: Galleon on April 16, 2013, 02:22:14 AM

Title: Android Developement Log
Post by: Galleon on April 16, 2013, 02:22:14 AM
Getting QB64 to work on Android is going to take some time. OpenGL ES will have to be used for screen updates and the native language for Android is Java. Luckily Android provides the NDK (native development kit) which allows us to compile C/C++ code [small sigh of relief]. I've restarted my Android development and as of today I have got some of the OpenGL NDK sames to compile and work on the emulator. It's not a massive leap to replace bits of this example with parts from QB64.

I should emphasize, I do not intend to get the QB64 IDE/compiler to run on Android (well not for now anyway 8)), only to get QB64 to spit out Android compatible source code.

Anyhow, I'll post here whenever I have something to report. If you are an android developer I'm all ears about ideas to streamline the support process.
Title: Re: Android Developement Log
Post by: Galleon on April 16, 2013, 06:45:55 AM
I've started moving non-dependent sections of libqb.cpp into my (now c++ not c) native activity. So far it detects Android and avoids glut initialization, that's about it.
Title: Re: Android Developement Log
Post by: Coolman on April 16, 2013, 07:08:26 AM

http://android-developers.blogspot.com/2011/01/gingerbread-ndk-awesomeness.html
Title: Re: Android Developement Log
Post by: OlDosLover on April 17, 2013, 01:41:38 AM
Hi all,
   
Code: [Select]
I should emphasize, I do not intend to get the QB64 IDE/compiler to run on Android (well not for now anyway ), only to get QB64 to spit out Android compatible source code.    How do we compile it then?
OlDosLover.
Title: Re: Android Developement Log
Post by: Galleon on April 17, 2013, 02:57:13 AM
I note there is a page saying Android support is available from a version which doesn't seem to exist on the FreeGLUT website:
http://freeglut.sourceforge.net/docs/android.php (http://freeglut.sourceforge.net/docs/android.php)
I note that there are no references to Android or OpenGL ES in the current release of FreeGLUT.
I note that elsewhere there are references to Android, but that it states these have been integrated into the main branch of FreeGLUT.
http://freeglut.svn.sourceforge.net/viewvc/freeglut/trunk/freeglut/freeglut/src/ (http://freeglut.svn.sourceforge.net/viewvc/freeglut/trunk/freeglut/freeglut/src/)
I'm a bit confused about this disconnect.
For now I've removed all GLUT references from the stub QB64 program I'm trying to compile so no input or (graphical) output. I'll sort out the FreeGLUT issue later. So far the process is continuing reasonably well in that libqb.cpp appears to compile (with all GLUT & GL references stripped out). I haven't gotten to qbx.cpp yet, but that will be the next step.

Quote
How do we compile it then?
QB64 doesn't, you do. Essentially you'd write the program and perform primary testing in QB64 on your primary development OS (Windows, MacOSX or Linux) and (with the appropriate checkbox selected in the QB64 IDE) QB64 also spits out an "Android project" which can be compiled and launched in an android supporting environment of your choice (I'm using Eclipse with the Android SDK & NDK). I'll be providing tutorials on how to setup these things (which can be tricky to set up if you miss a step). QB64 will provide some helpful features like calling 'ndk-build' automatically on your Android projects if desired. As I learn more about the Android SDK & NDK I may be able to scaffold the process even further, such as providing a version of QB64 which comes with QB64+AndroidSDK&NDK+Emulator' and lets you test your program more directly. I suspect we'll also see some interest from the Android community as this element of QB64 gathers speed.
Title: Re: Android Developement Log
Post by: fluffrabbit on April 17, 2013, 03:10:52 AM
Wow, a full project will be generated? I just thought it would be some C++ source files. I am getting pretty pumped.

Hopefully, it will be straightforward to make a library that unifies Android-specific and PC-specific things such as multitouch, mouse support, etc.
Title: Re: Android Developement Log
Post by: Galleon on April 17, 2013, 03:16:40 AM
Quote
Hopefully, it will be straightforward to make a library that unifies Android-specific and PC-specific things such as multitouch, mouse support, etc.
That's why it'd be good (but not essential) to get FreeGLUT working here.
Title: Re: Android Developement Log
Post by: fluffrabbit on April 17, 2013, 03:34:34 AM
Quote from: Galleon on April 17, 2013, 03:16:40 AM
Quote
Hopefully, it will be straightforward to make a library that unifies Android-specific and PC-specific things such as multitouch, mouse support, etc.
That's why it'd be good (but not essential) to get FreeGLUT working here.

As far as I was aware, FreeGLUT is little more than an OpenGL wrapper. Surely, calls to OpenGL and OpenGL-ES would be the same. I was just talking about more superficial functionality like user input. Is FreeGLUT proving to be a challenge? What functionality does FreeGLUT provide? It says that FreeGLUT version 3.0 supports Android. It says under TODO:

Quote
Multi-touch support (glutMultiMotionFunc & al.)
Display translucent keys on virtual keypad
API to access raw JVM structure and raw Activity(ies?) structure
API to detect touchscreen presence
API (or configuration file?) to disable assets extraction
Accelerometer as a joystick input

This is starting to look like a monumental challenge.
Title: Re: Android Developement Log
Post by: OlDosLover on April 17, 2013, 03:43:31 AM
Hi all,
    Wow! Again.
Quote
As I learn more about the Android SDK & NDK I may be able to scaffold the process even further, such as providing a version of QB64 which comes with QB64+AndroidSDK&NDK+Emulator' and lets you test your program more directly. I suspect we'll also see some interest from the Android community as this element of QB64 gathers speed.
    Well i support you and wish you speedy success!

Have you seen this site?
http://www.basic4ppc.com/index.html (http://www.basic4ppc.com/index.html)
    If you would like a better looky then email me for the more comprehensive version if you so wish.
OlDosLover.
Title: Re: Android Developement Log
Post by: fluffrabbit on April 17, 2013, 03:57:07 AM
Oh, how it angers me when such a simple idea can be marketed so effectively.
Title: Re: Android Developement Log
Post by: Galleon on April 17, 2013, 07:14:46 AM
Code: [Select]
t! = TIMER
DO
    'this program does nothing
    _LIMIT 30
    IF TIMER > t! + 10 THEN SYSTEM
LOOP
It may be a very boring program, what isn't so boring about it it that I just run it in Android. As I didn't have any display surface or sound, the most powerful output I had was for the program to exit, which it did after exactly 10 seconds.

Well actually I lie, I do have a display surface which is the example's surface displaying random colors. So all I need to do is get my screen buffer onto that surface and...
Title: Re: Android Developement Log
Post by: fluffrabbit on April 17, 2013, 07:22:54 AM
It sounds like things are coming along quite nicely. Android has its own GL libraries, so I don't really know where FreeGLUT fits into this, but however you do it, I am looking forward to seeing OpenGL output on Android. Awesome.
Title: Re: Android Developement Log
Post by: Galleon on April 17, 2013, 03:47:36 PM
Quote
It sounds like things are coming along quite nicely. Android has its own GL libraries, so I don't really know where FreeGLUT fits into this
It's all about OS specific abstraction. The more you can abstract, with or without the help of a library, the more portable your product becomes. FreeGLUT provides simple commands for window creation, managing input and a few other peripheral things like setting the window name. Yes, I could code a specific implementation of all of these things for every operating system QB64 supports but these are so generic that I may as well use someone else's code. What I like about GLUT is that it is minimalist, therefore if there is not GLUT wrapper for an OS you can simply implement the commands yourself. I'm currently establishing if the Android GLUT implementation posted above is usable.
Title: Re: Android Developement Log
Post by: fluffrabbit on April 17, 2013, 04:57:47 PM
Well, good luck on that Android GLUT. It currently looks like there is no input functionality in it, and it doesn't facilitate any Java interface. I haven't used Android enough to know how this affects things. It sounds like it just serves to output GL graphics, but to where? If you could direct it to an existing surface/view/interface/activity, might it serve your purposes better, or does FreeGLUT make the "window" on Android, and what is the "window"? I assume that the example's surface is going to be pretty useless when using FreeGLUT unless I'm mistaken. I would think FreeGLUT would want to go make a new one, but at what level?
Title: Re: Android Developement Log
Post by: Galleon on April 18, 2013, 07:18:05 PM
Well, it took about 10 hours of blundering around, but I've got FreeGLUT implemented into the Android build which means in theory I've got mouse input, keyboard input and graphical output. I pulled it back from OpenGLES2 to OpenGLES1 (the code I found was only setup for OpenGLES2) but later I'll allow people to select which one they want with a meta-command. The only issue to deal with now is getting the screen's pixel buffer onto the actual surface, which will require some changes to a function which is not setup for GL ES, this should be fairly straightforward.

This is looking very promising. 8)
Title: Re: Android Developement Log
Post by: wiggins on April 18, 2013, 07:57:52 PM
This is very exciting news.
Title: Re: Android Developement Log
Post by: Galleon on April 18, 2013, 08:03:00 PM
Just gotta replace these GL calls with some equivalent GL ES, it's mainly an issue of using vertex buffers as I see it. These are only used for scaling, so it may be possible to just comment out some of this (temporarily) and actually see program output.
Code: [Select]
In file included from jni/main.cpp:8:0:
jni/c/libqb.cpp: In function 'void GLUT_DISPLAY_REQUEST()':
jni/c/libqb.cpp:27977:53: error: 'gluOrtho2D' was not declared in this scope
jni/c/libqb.cpp:28014:10: error: 'GL_QUADS' was not declared in this scope
jni/c/libqb.cpp:28014:18: error: 'glBegin' was not declared in this scope
jni/c/libqb.cpp:28015:25: error: 'glTexCoord2f' was not declared in this scope
jni/c/libqb.cpp:28015:45: error: 'glVertex2f' was not declared in this scope
jni/c/libqb.cpp:28019:8: error: 'glEnd' was not declared in this scope
jni/c/libqb.cpp:28026:11: error: 'GL_QUADS' was not declared in this scope
jni/c/libqb.cpp:28026:19: error: 'glBegin' was not declared in this scope
jni/c/libqb.cpp:28027:26: error: 'glTexCoord2f' was not declared in this scope
jni/c/libqb.cpp:28027:44: error: 'glVertex2f' was not declared in this scope
jni/c/libqb.cpp:28031:9: error: 'glEnd' was not declared in this scope
jni/c/libqb.cpp:28047:45: error: 'glOrtho' was not declared in this scope
jni/c/libqb.cpp:28048:19: error: 'glRasterPos2f' was not declared in this scope
jni/c/libqb.cpp:28049:24: error: 'glPixelZoom' was not declared in this scope
jni/c/libqb.cpp:28061:98: error: 'glDrawPixels' was not declared in this scope
jni/c/libqb.cpp:28075:53: error: 'gluOrtho2D' was not declared in this scope
jni/c/libqb.cpp:28087:9: error: 'GL_QUADS' was not declared in this scope
jni/c/libqb.cpp:28087:17: error: 'glBegin' was not declared in this scope
jni/c/libqb.cpp:28088:16: error: 'glColor3f' was not declared in this scope
jni/c/libqb.cpp:28089:18: error: 'glVertex2f' was not declared in this scope
jni/c/libqb.cpp:28099:7: error: 'glEnd' was not declared in this scope
jni/c/libqb.cpp:28108:9: error: 'GL_QUADS' was not declared in this scope
jni/c/libqb.cpp:28108:17: error: 'glBegin' was not declared in this scope
jni/c/libqb.cpp:28109:16: error: 'glColor3f' was not declared in this scope
jni/c/libqb.cpp:28110:18: error: 'glVertex2f' was not declared in this scope
jni/c/libqb.cpp:28120:7: error: 'glEnd' was not declared in this scope
make: *** [obj/local/armeabi/objs/native-activity/main.o] Error 1
Title: Re: Android Developement Log
Post by: Galleon on April 18, 2013, 08:19:39 PM
DrawPixels is not supported in GL ES, so I'll have to do something different to get the buffer's pixel data onto the screen. Not a problem, but it'll mean a day or so (hey, I'm new to OpenGL ES!) of work-arounds until I get to see if things really work.
Title: Re: Android Developement Log
Post by: OlDosLover on April 19, 2013, 01:02:48 AM
Hi all,
    Exciting! Thanks for the updates.
OlDosLover.
Title: Re: Android Developement Log
Post by: fluffrabbit on April 19, 2013, 02:34:35 AM
I am curious about how licensing would work. If FreeGLUT is in the APK, would that count as dynamic linking?
Title: Re: Android Developement Log
Post by: Galleon on April 19, 2013, 05:15:57 AM
Quote
If FreeGLUT is in the APK, would that count as dynamic linking?
An APK is an special archive format, therefore FreeGLUT could still be distributed as a shared library "file" within the APK.
Title: Re: Android Developement Log
Post by: Galleon on April 19, 2013, 05:31:37 AM
It's my extreme pleasure to announce that Android now runs something old, something new, something borrowed and something blue....
http://www.qb64.net/AndroidsAreGo.png (http://www.qb64.net/AndroidsAreGo.png)
Title: Re: Android Developement Log
Post by: JustinRichardsMusic on April 19, 2013, 05:37:13 AM
Woah, nice!

So does this mean you are able to get QB64 to spit out Android compatible code? (Javascript is it?)...
Title: Re: Android Developement Log
Post by: Galleon on April 19, 2013, 05:41:46 AM
Quote
So does this mean you are able to get QB64 to spit out Android compatible code? (Javascript is it?)...
I'm using the Android NDK with a NATIVE ACTIVITY setup which means I can use C/C++ code and I'm given function hooks to Android commands so I've managed to avoid the emitting to Java issue entirely.
Title: Re: Android Developement Log
Post by: JustinRichardsMusic on April 19, 2013, 05:48:36 AM
Clever... 8)

It's weird how the screen displays to the bottom left of the window, rather than the top left...
Title: Re: Android Developement Log
Post by: OlDosLover on April 19, 2013, 06:59:38 AM
Hi all,
    Very nice Galleon!
Quote
I'm using the Android NDK with a NATIVE ACTIVITY setup which means I can use C/C++ code and I'm given function hooks to Android commands so I've managed to avoid the emitting to Java issue entirely.
    What a shame for Java!
OlDosLover.
Title: Re: Android Developement Log
Post by: Coolman on April 19, 2013, 07:10:21 AM
Using C++ is a very good idea, java is not really trusted name for its speed ...
ndk android allows you to program in C++ ...

Here is an interesting link:
http://www.codeproject.com/Articles/396538/Writing-an-Android-GUI-using-Cplusplus-Introductio
Title: Re: Android Developement Log
Post by: Galleon on April 19, 2013, 08:54:55 AM
I tested this on a real Android tablet (as appose to the emulator) and it ran fine.

There's little issues like no software keyboard by default, the enter key not working (of all keys...), the displaying in the bottom left, no sound, etc etc, but the important thing is the program itself is working, everything else is 'window dressing' which can be implemented later.

Oh, and on the real tablet the frame-rate was super-smooth. The ARM emulator on a x86 host was quite sluggish for obvious reasons (including the OS UI).

I'm already adding an 'Android...' section to the IDE options menu where I (and you) can setup where it builds the project and what commands it should execute after building it (such as in my case building it and running it in Eclipse).

For the record OpenGL ES 1.x is being used in the screenshot I provided above. ES doesn't support BGRA, only RGBA, so I had some fun (ie. 5 hour wasted staring at a white rectangle which should have been a texture) there too!

It's an amazing feeling, seeing QB64 embracing the latest OS trends. And to think it only took a few days to port!
Title: Re: Android Developement Log
Post by: fluffrabbit on April 19, 2013, 10:37:07 AM
Wow, that's awesome! I can't believe we're so close to this. Do programs accept touch input? Does it work like the mouse? Can one call the OpenGL commands?
Title: Re: Android Developement Log
Post by: Galleon on April 19, 2013, 05:26:05 PM
Quote
Do programs accept touch input? Does it work like the mouse?
The default behaviour for compatibility will be that touch input is treated as mouse input, but there will be new multi-touch commands to get detailed touch input info as well as commands to treat touch input and mouse input as totally separate events.

Quote
Can one call the OpenGL commands?
Here's where it gets a little tricky, you'll be able to call OPEN GL ES 1.x commands in SUB _GL. I've deliberately gone for EX 1.x over ES 2.x because the command set is very similar (a few things added, a few things deprecated). ES 2.x is like a completely different language.
Title: Re: Android Developement Log
Post by: OlDosLover on April 19, 2013, 08:00:55 PM
Hi all,
    Here's what some others think of this.
http://forum.basicprogramming.org/index.php/topic,2866.0.html (http://forum.basicprogramming.org/index.php/topic,2866.0.html)
OlDosLover.
Title: Re: Android Developement Log
Post by: Galleon on April 19, 2013, 09:00:19 PM
http://www.qb64.net/android_options.png (http://www.qb64.net/android_options.png)
I've added some options (off by default) to the IDE to allow for generating Android projects.

Quote
Here's what some others think of this.
http://forum.basicprogramming.org/index.php/topic,2866.0.html
I've used C4Droid a bit. In the future I will try to get the IDE/compiler to run natively in Android, and I may use C4Droid if it provides enough functionality, but that can wait. Not all tablets are created equally, but the majority I've seen just don't make good program development environments. By which I refer to Windowing GUI, speed, memory, adequate input devices, screen size, etc. Don't get me wrong, I know that there are tablets out there which are setup with all these things, but they are few and far between.
Title: Re: Android Developement Log
Post by: OlDosLover on April 19, 2013, 09:06:33 PM
Hi all,
    Fair enough Galleon. The IDE options look perfectly in place!
OlDosLover.
Title: Re: Android Developement Log
Post by: Galleon on April 19, 2013, 09:09:15 PM
Quote
The IDE options look perfectly in place!
Now they just have to do something! ;)
Title: Re: Android Developement Log
Post by: Galleon on April 19, 2013, 09:18:07 PM
I'll configure things so an APK file is also generated within the bin sub-folder of the project. Signing could be interesting, if Eclipse has some command line options for this it's surely help streamline the process.
http://stackoverflow.com/questions/4600891/how-to-build-apk-file (http://stackoverflow.com/questions/4600891/how-to-build-apk-file)
Title: Re: Android Developement Log
Post by: fluffrabbit on April 20, 2013, 07:15:22 AM
This is quite exciting indeed. Give a man a fish, and he will eat for a day. Teach a man to fish, and he will eat for a lifetime. Give a man a fish hatchery, and he will feed a whole town.
Title: Re: Android Developement Log
Post by: Pete on April 21, 2013, 08:16:44 PM
Quote from: fluffrabbit on April 20, 2013, 07:15:22 AM
This is quite exciting indeed. Give a man a fish, and he will eat for a day. Teach a man to fish, and he will eat for a lifetime. Give a man a fish hatchery, and he will feed a whole town.

Give a man a computer, and he can buy all the friggin' fish he needs on ebay.

As for the Android addition to the project, looks great. I might pick up a tablet to try it out when it's ready to roll.

I follow business news for obvious reasons, and the chatter is the PC is dead to the future, with the laptop next in line to fall. Tablet technology will predominate, unless something even better "surfaces" lol - excuse that pun.

Touch screen drag and drop functions will be a must for business apps, 3-D for gaming. It's pretty cool QB64 is poised to meet all these industry evolvements.

Pete  :)
Title: Re: Android Developement Log
Post by: fluffrabbit on April 22, 2013, 03:18:48 AM
Quote from: Pete on April 21, 2013, 08:16:44 PM
I follow business news for obvious reasons, and the chatter is the PC is dead to the future, with the laptop next in line to fall. Tablet technology will predominate, unless something even better "surfaces" lol - excuse that pun.

Touch screen drag and drop functions will be a must for business apps, 3-D for gaming. It's pretty cool QB64 is poised to meet all these industry evolvements.

Do you want to bet hard cash on that? I doubt people will shift to new technologies unless those technologies do everything all of the older technologies did just as well. For instance, in order for people to switch to tablet PCs, they have to be laptops with touch screens. In order for people to switch to smaller (perhaps Android) devices like PDAs and pocket tablets, they have to project hologram screens and hologram keyboards that are physical to the touch.
Title: Re: Android Developement Log
Post by: Galleon on April 22, 2013, 04:27:22 AM
The next release of QB64-GL will incorporate all of the Android build options (featured in my previous post but I'm still refining them) so it'll be possible (with the installation of JAVA, Android-SDK, Android-NDK and Eclipse of course) to create Android programs for your emulators or tablets. I intend to create a video tutorial on how to set up everything, it's a fairly long process but thankfully it should only have to be done once.
Title: Re: Android Developement Log
Post by: fluffrabbit on April 22, 2013, 04:54:53 AM
Questions about the next release:

1. When? Is it still slated for around May 11th or has the expected date changed?

2. Will the Android version be fully functional and operational? (sound support, screen scaled correctly, etc.)

3. Will SRC be replaced?
Title: Re: Android Developement Log
Post by: OlDosLover on April 22, 2013, 06:09:39 AM
Hi all,
   
Quote
The next release of QB64-GL will incorporate all of the Android build options (featured in my previous post but I'm still refining them) so it'll be possible (will the installation of JAVA, Android-SDK, Android-NDK and Eclipse of course) to create Android programs for your emulators or tablets.
    Well thank you greatly. Thats surprisingly very fast! The video sounds like a really good idea!
OlDosLover
Title: Re: Android Developement Log
Post by: Galleon on April 22, 2013, 08:06:55 AM
1. This week
2. No
3. No
Title: Re: Android Developement Log
Post by: fluffrabbit on April 22, 2013, 08:22:59 AM
Ah, so this is just going to be a preliminary test release. Fair enough. You have made some fast progress!
Title: Re: Android Developement Log
Post by: Galleon on April 22, 2013, 06:05:05 PM
I've spent some time teasing out the details of Eclipse projects and the NDK example.

It turns out the NDK native activity uses:
namespace: com.example.native_activity
application name: NativeActivity
base class: NativeActivity
builds main.c/cpp to module: native-activity

It all seems so simple when listed above, but when faced a mess of "native" and "activity" in front of you in multiple files it's a nightmare.

To make matters more confusing Eclipse imports your android project using its base class name as the Eclipse project name, and it doesn't allow more than one project with the same name in a workspace, nor is there a way to change the name it imports by or the name after importing. Basically this is a disaster, because all native android applications use the same base class and this cannot be changed. It's also deceptive, when I changed 'NativeActivity' to 'blah' and Eclipse imported it as 'blah' I thought I'd renamed the project. Yeah! But no! I'd just ruined the reference to my base class (which I cannot edit directly) and broke my code. >:(

Anyhow, the good news is I now have a more thorough understanding of android project structure and Eclipse project structure and can generate a Android + Eclipse project automatically with the name I want them to be. 8)

So much pain... :'(
Title: Re: Android Developement Log
Post by: fluffrabbit on April 23, 2013, 05:15:10 AM
I have had issues with name redundancy too. There are so many places in a project where just the right name has to referenced. It should be like building a Windows program where you just have a source file and compile it, the main entry point being constant and any object-oriented structure implemented by the language and/or libraries, not the platform itself. Android apps technically go through a Java virtual machine, but it's not ME or SE- it's a specific build that is only used on Android! It's as if Google wanted to make it as difficult to write apps as possible.
Title: Re: Android Developement Log
Post by: bobtheunplayer on April 24, 2013, 01:10:34 AM
Quote
I follow business news for obvious reasons, and the chatter is the PC is dead to the future, with the laptop next in line to fall.

Not to derail the topic too much, but I work at an internet company, and we have tried it all, tablets, chromebooks, netbooks, big laptops, smartphones.  While work can be done these devices, nothing beats the efficiency of a desktop with two screens, a keyboard, and a mouse.
Title: Re: Android Developement Log
Post by: Pete on April 24, 2013, 03:57:25 PM
Well stated, Bob, but ask yourself why IBM sold off their PC market to Lenovo? When I was getting started, we had nothing but desktops. Now I don't own a single desktop, 5 laptops, instead. If I did mobile work, a couple of those would be tablets. The few times I do take a laptop with me, I wish it was a tablet.

For QB64, it is a lot more work to support mobile devices, but aside from the smaller percent of people tied to a desktop at work, the future will be geared more to mobile devices and the software that works the best with those devices will be bettered positioned than those that ignore this trend.

I know that Rob loses some forward progress in catering to all these platforms and how to figure out input with the variety of devices coming out, but I think he has the right vision. No need for QB64 to meet up with its older brother, QB, in the rest home any time soon.

Pete
Title: Re: Android Developement Log
Post by: fluffrabbit on April 24, 2013, 05:38:00 PM
I just wish that these casual gamers who buy tablet games would man up and play some Half-Life.
Title: Re: Android Developement Log
Post by: Clippy on April 24, 2013, 06:40:40 PM
Once people get their cell phone bills, they can't afford anything else!

My Verizon cable bill is dam near $200 a month and now they are selling Quantum for extra band width. Only $10 now, God knows how much it will go up over time.

Meanwhile I find it amusing watching people walk into things like highways because they are so  wrapped up in what is on their phones. They should make walking online illegal too!
Title: Re: Android Developement Log
Post by: bobtheunplayer on April 25, 2013, 03:17:56 AM
Quote
Well stated, Bob, but ask yourself why IBM sold off their PC market to Lenovo?
Probably because people who engage in real productivity need desktops, and, realistically, few of those people actaully exist.
(

While salesmen, secratarys, exceutives, accountants etc, do work, they don't need desktops for presentations, documents, spreadsheets, or quickbooks.

Title: Re: Android Developement Log
Post by: sjt1975 on April 25, 2013, 09:11:28 AM
I just wish that these casual gamers who buy tablet games would man up and play some Half-Life.

Love it! 
Title: Re: Android Developement Log
Post by: Pete on April 25, 2013, 10:15:22 AM
Quote
Well stated, Bob, but ask yourself why IBM sold off their PC market to Lenovo?
Probably because people who engage in real productivity need desktops, and, realistically, few of those people actaully exist.

That's what I see, too. I mostly create business apps, so I share your sentiment. QB was all that was really needed for that, but there was a need to update it for newer hardware and operating systems, something QB64 has accomplished well. The Tweeters, gamers, etc., will be among a large percentage of the majority that fuels the push towards more mobile technology.

Pete
Title: Re: Android Developement Log
Post by: Clippy on April 25, 2013, 10:58:06 AM
When the PC is obsolete, how will you do this, and this, and this? (http://www.pcworld.com/article/2034842/when-the-pc-is-obsolete-how-will-you-do-this-and-this-and-this-.html#tk.nl_pcwbest)

Mobile devices keep you in touch, but they lack a lot of things that I need. Plus when I'm away from the desktop I am free to enjoy other things.

Killing the desktop: Can you survive in Windows 8's modern UI alone? (http://www.pcworld.com/article/2033875/killing-the-desktop-can-you-survive-in-windows-8s-modern-ui-alone-.html#tk.nl_pcwbest)

Yeah, if you can find the software. The next money maker will be rented software!
Title: Re: Android Developement Log
Post by: fluffrabbit on April 25, 2013, 11:22:44 AM
When the PC is obsolete, how will you do this, and this, and this? (http://www.pcworld.com/article/2034842/when-the-pc-is-obsolete-how-will-you-do-this-and-this-and-this-.html#tk.nl_pcwbest)

Mobile devices keep you in touch, but they lack a lot of things that I need. Plus when I'm away from the desktop I am free to enjoy other things.

That was some flame war in the comments section. It's sad that people can be manipulated by the simple capitalist agendas of big corporations and their marketing departments. Then again, that's the kind of magazine.

I agree that desktops and mobile touch screen devices are two different things. I hope that the mobile touch screen devices get more developer-friendly, but as long as we have Android, that won't happen. The way I see it (at least in relation to QB64), is people will make Android apps, toys, games, play around, maybe do some science stuff, and try to cash in on the last couple years of the system's lifespan. That's the most we can hope for, and honestly it would be pretty sweet if it became that simple. To just make a program for Android, you know, like you do for Windows.
Title: Re: Android Developement Log
Post by: Pete on April 27, 2013, 12:05:07 AM
Looks like Google will unveil a new slimmer Nexus 7 in July. That looks like an Android device I might be interested in.

Pete
Title: Re: Android Developement Log
Post by: codeguy on April 28, 2013, 08:55:35 AM
very nice work galleon. and clippy, that's darwinian theory in practice, that people who walk and text will eventually be removed from the gene pool for making poor choices. i think it's called technological evolution. yes, it was cool to see gorillas on a tablet no less and no intermediate screwing around with java -- which mobile basic does and neither does mobile basic compile apk's either, just generates jvm bytecode i think. a word of advice -- do NOT play gorillas and traverse traffic simultaneously. the results are certain to be disastrous 8^).

edited to correct grammatical error.
Title: Re: Android Developement Log
Post by: Pete on April 28, 2013, 09:26:21 AM
That's why I've invented the i-walker!

http://www.network54.com/Forum/648955/message/1366913755/

Pete  ;D
Title: Re: Android Developement Log
Post by: fluffrabbit on April 28, 2013, 11:20:52 AM
LOL. It's the same as when the Gameboy came out, except now girls have them too.
Title: Re: Android Developement Log
Post by: FALCON on April 29, 2013, 05:57:12 AM
This is really awesome Galleon. If we could make apps for android it would give qb64 a whole new level of potential.
Title: Re: Android Developement Log
Post by: mystikshadows on May 05, 2013, 10:15:10 AM
I have hacker's keyboard installed on my tablet, it replaces the default keyboard to accomodate for the numeric pad, function keys and all that.  It's a great developer's keyboard and it's free.  if qb64 can use this keyboard I say there's a winning combination. :)

There's also the AIDE for project generation and compilation right on the tablet. you might want to know about that. :)

https://play.google.com/store/apps/details?id=com.aide.ui&hl=en
Title: Re: Android Developement Log
Post by: fluffrabbit on May 05, 2013, 04:28:25 PM
When I recompile an Android project in QB64 and go and run it in Eclipse, I get the same app until I restart the emulator. This is because an Android app does not actually clear from memory when one closes it. QB64 does not generate Java code, but if you were to use Java, you might want to put something like this in your main class:

Code: [Select]
public void ExitApp(){
this.finish();
System.exit(0);
}

@Override
public void onPause(){
ExitApp();
}

Additionally, when I do SCREEN _NEWIMAGE(640,480,32), it just shows up black on Android. So, the screen stuff still definitely needs to be fixed as well.
Title: Re: Android Developement Log
Post by: Clippy on May 06, 2013, 03:30:23 PM
SCREEN _NEWIMAGE(640,480,32) is black...
Title: Re: Android Developement Log
Post by: fluffrabbit on May 06, 2013, 03:57:20 PM
Quote from: Clippy on May 06, 2013, 03:30:23 PM
SCREEN _NEWIMAGE(640,480,32) is black...
Yeah, but then I can't print text.
Title: Re: Android Developement Log
Post by: small no more on May 08, 2013, 08:34:45 AM
I was wondering if the android how to video was out yet?
Title: Re: Android Developement Log
Post by: JustinRichardsMusic on May 08, 2013, 06:30:17 PM
Quote
I was wondering if the android how to video was out yet?

http://www.qb64.net/forum/index.php?topic=10972.0

A couple of weeks away...