Print at Dec 18, 2025, 11:14:06 PM

Posted by Puybaret at Sep 19, 2013, 8:35:46 AM
Re: Android Port of SweetHome3D
In no case, I want to prevent you from trying this port, but I fear you didn't list all the missing parts in Android Java:
- There's no AWT/Swing in Adroid API, that means at least 40% of the program code needs a rewrite for that part alone (all the com.eteks.sweethome3d.swing classes). These classes don't just create and layout the components of the user interface and the UI should be quite different under Android because of the small screens it runs on.
- There's no Java 3D at all, that means that the classes of com.eteks.sweethome3d.j3d (+ a few other ones in swing) need a complete rewrite based on a different library.
- Even the implementation of com.eteks.sweethome3d.model and com.eteks.sweethome3d.viewcontroller packages relies on a few AWT classes coming from java.awt.geom and javax.swing.undo packages, that are missing in Android even if they are not bound to components.

If ever I would have to port Sweet Home 3D under Android, my strategy would be more based on its architecture, i.e. I would try to port com.eteks.sweethome3d.model core classes first, then com.eteks.sweethome3d.tools, com.eteks.sweethome3d.io and com.eteks.sweethome3d.viewcontroller classes, and finally change the UI implementation with classes in a new package that would implement com.eteks.sweethome3d.viewcontroller.ViewFactory interface and the view ones that depends on it.

Good luck!
----------------------------------------
Emmanuel Puybaret, Sweet Home 3D creator