Want to save as ... Java?


#1

I tried importing an AppyBuilder aia into https://appinventortojava.appspot.com and today it’s working!
Though, modules not present in App Inventor (Chronometer, …) break it (because Java is not written for it I guess).

Now Java Bridge is improving, it should be linked with AppyBuilder in a global process, this would be the greatest OS Learning Tool and App Builder ever!
We could even develop aix extensions (at least macros) using AppyBuilder.

And since we would have Java code, we could try to port to Muti-OS Engine to deploy on iOS!

Thunkable won’t go this way. I guess it’s related to its analytic(al) business model :slight_smile:

Try and share your experience!
I’m not related to this project, but think it’s valuable.


Unity WebGL working on phone running Android 5.1.1
App Inventor Java Bridge
#2

@j2l are you one of its developers?


#3

No, I’m not that good … for now.


#4

More info

http://www.appinventor.org/jbridge


#5

Looks like this would be a great way to make folks happy about developing / prototyping in AppyBuilder, because they’d eventually be able to get the source code in a form that they understand, and can enhance beyond what AB / AI are capable of without a lot of custom extensions.


#6

I’ll try to invite java bridge developers here


#7

As an example for other visitors of the community.

This
Selectie_862Selectie_861

Becomes this

package org.appinventor;
import com.google.appinventor.components.runtime.HandlesEventDispatching;
import com.google.appinventor.components.runtime.EventDispatcher;
import com.google.appinventor.components.runtime.Form;
import com.google.appinventor.components.runtime.Component;
import com.google.appinventor.components.runtime.Button;
import com.google.appinventor.components.runtime.Label;
class Screen1 extends Form implements HandlesEventDispatching {
private Button Button1;
private Label Label1;
protected void $define() {
this.AppName(“Test”);
this.Title(“Screen1”);
Button1 = new Button(this);
Button1.Text(“Text for Button1”);
Label1 = new Label(this);
Label1.Text(“Text for Label1”);
EventDispatcher.registerEventForDelegation(this, “ClickEvent”, “Click” );
}
public boolean dispatchEvent(Component component, String componentName, String eventName, Object[] params){
if( component.equals(Button1) && eventName.equals(“Click”) ){
Button1Click();
return true;
}
return false;
}
public void Button1Click(){
Label1.Text(“Test”);
}
}


#8

when i upload the aia file
show me the error
An internal error has occurred. Report a bug?
even on a test file with webview and clock only