App Inventor Java Bridge


#1

Hossein Amerkashi let us know that there is interest in this community in the Java Bridge project. Thomas Oropeza, a graduating USF student, is the lead developer on the project. I am his professor David Wolber.

The Java Bridge (appinventortojava.com) is an exploratory (alpha) version of App Inventor that allows you to generate a Java equivalent of the apps you have built. It has great potential as an educational tool and also for prototyping, i.e., building most of an app in a visual tool and then bridging to Java to add features the visual tool doesn’t provide.

We are looking for early adopters to provide insights and report issues as we complete the system. The system is incomplete, but It now generates a Java equivalent for simple to intermediate apps such as the common App Inventor tutorials (e.g., MoleMash).

We’re also interested in folks who would be interested in helping with development of the project, and potential integrations with Appy Builder.

Thanks,

Dave Wolber
Professor, USF
Director, appinventor.org


#2

Hello Dave

Thanks for joining. Per or previous email communication, below is the thread showing discussion on java bridge.

Thanks for joining and it’s great to have you and your students/team in AppyBuilder community.

Hossein


#3

Hi, @wolberd

Thanks for joining us… The ability to convert App Inventor’s app into java code would be a great breakthrough for AI user community…


#4

Dave,

This is a very useful project. This will make proposing use of AI and AB as a development platform much more credible, as, even if the tool is never used, knowing that this is an option will reassure partners that they’re not locked into the platform, and won’t have to rebuild their app from scratch if functionality unavailable via AI/AB turns out to be necessary.

I’m happy to test this out with my AI projects (all tutorials), although I’ve migrated my ongoing work to AB.

Regards,
Thomas Leavitt


#5

@wolberd, thanks for being open to integrate with Appy Builder!
This is fantastic news for students and entrepreneurs. It will help grow a community of passionate people.
I’ll be glad to help with my limited coding skills (smali was too complex to learn anyway).

I’m proud and happy to see the post about my vision is building bridges :slight_smile:

PS: 3 days ago, I posted 2 messages on https://groups.google.com/forum/#!forum/app-inventor-java-bridge about building errors and source. I don’t know if someone saw them.


#6

hello hope this tool get finished bc i tried it today and the toll said i cannot implementmy aia file bc of java runtime error my app use much of the appybuilder blocks. like firebase authemticator google tables cloutdb and much more. nice project but not ready do use if you use things that appiventor not have.


#7

I tried converting my AI2 code to java but it was not possible. It would be a great help in learning java if I could convert my AI2 code to java, although seeing as how AI2 or AB will not up load to Google Play Store until they the code is upgraded to API level 26.


#8

AI and AB are both upgraded to API 26!!!


#9

I discovered AI2 and built an app prototype. Then I found it was cumbersome and discovered Java Bridge, which seemed perfect as I don’t know the ‘normal’ java api and I could convert directly. Now I find that despite the detailed api definition on 3nportal, some things (e.g. location) don’t work. And there seems to be no support despite reassuring messages on forums.

So my questions are:

  • is AB the way to go? I can code in any language but am happy to use blocks if the result is effective in creating the app I want. But I don’t want to waste my time (again) so I would need to know it is fully implemented and machine efficient.

  • Is AI Java Bridge all there or has it died despite the thorough api definition? I’m happy with Android Studio if I can get it to work. Learning another api is a step too far. It seemed to me to be a brilliant way forward. Maybe I’m just not doing it right.

  • does AB allow proper printout for documenting code in some way? AI2 doesn’t - jpgs don’t count.

Grateful some advice on a way to go that will complete rather than fail due to incomplete implementation.

Stuart


#10

@stuart I think you are talking about different things. JavaBridge includes components from MIT AI and allows for textual java coding. Its code, uses the library code that was generated from MIT AI a while back. Professor @wolberd would have more information on this.

For AppyBuilder, we have tried to build-in additional features that are not in MIT AI and have tried to keep it in sync (well, somewhat in sync).

If you want textual coding like Java, then use JavaBridge. If you want visual drag-n-drop coding, continue to use AppyBuilder. If you are looking for completely java coding, then use Android Studio.


#11

Hi, thanks for the prompt reply!

what I want is something that works and is efficient in use of the phone. I went to Java Bridge as I could (in theory) simply use an api that mimicked the ai2 blocks from my ai2 prototype, in Android Studio (using the JB .jar library). But I don’t think it works fully. If I’m wrong and I can get support I would stay with it, though if AB makes decent apps I can easily use it as I have the original aia files from ai2.

Does AB allow decent prints of the code?
Is it complete?
Is there a proper ‘api’ description?

I’m happy to use blocks (I used to teach Scratch) but I 'm not learning to program, I want to build something quickly.

Stuart
(retired senior IT manager)


#12

Blocks are the code. There is no java code

That is correct and i believe java bridge library hasn’t been updated for a while


#13

yes I realise the blocks are the code. But I still want a printout. And I have a B/W laser, not a large format colour printer.
pity about the library. It seems such a good idea!


#14

You can download an image of the blocks by right clicking the in blocks editor and then choose
“Download Blocks as Image”.

Selectie_999(548)


#15

Stuart

“Does AB allow decent prints of the code?”

Export your project to your computer and change the name of the extension “.aia” to “.zip”. You can see all the files in your app here.
Use a java decompiler (http://jd.benow.ca/) and you will have the code to print.


#16

Did you test this yourself? AB produces no java-code. The blocks are the code.


#17

Yes, i test this myself. But I’ll check again.


#18

Maybe you can show how you did it?