EDIT : if you want a hands on tutorial on how to use this => https://github.com/LucieMrc/Processing_Android_OSC (Thanks LucieMRC)
The goal is to build osc compliant applications with processing but streamlining the process. Those application are compatible with the android mode of processing, thus enabling to create custom on the fly osc controller applications for android.
The process will consist of using Pure-Data as a WYSIWYG editor for interfaces. This program distributed here will parse the pd patch to create the rigthfull gui elements in a processing application.
Wireframe with pure-data :
Final processing application (connection page + interface):
As a user you would essentially care for :
create a pd patch with gui elements
open the processing template and save it somewhere
drop the pd patch containing the interface on the processing window.
on top of the program you should see this line :
String[] pages = {"Settings", "test"}; // name of the pd patch to use as layout
you can edit it to add the name of the pd file you just dropped on the processing window (minus the ".pd"), you can create several interfaces by creating multiple pd patches and adding several names to this line. Each interface will be in a seperate tab named after the name of your patch.
click run (you should see a replicate of the interface you built but with osc networking options)
(optionally) run in android-mode to get an android app.
OSC is a way to format messages for wireless communication over the UDP protocol. That means that you can send messages from one device to another using a naming convention. This naming convention will be used to parse the message on the client side (receiver of the information).
Pure-Data is an awesome piece of software it is the swiss-knife of real time audio programming in a visual fashion and it's completly free. You can find it here Pure-Data.
In this project it's just used for its graphical interface : you can create gui elements, name them, and place them; nothing more. The fact is that pd stores its patches in a text file format with all the information we need; so it's easy to parse and easy to generate a coded interface without having to actually code everything.
The result will be responsive interface on you screen if you respect more or less the given aspect ratio. Elements should be placed and scaled according to your initial interface in you final program.
Once installed Pure-Data, will open up a blank canvas for you. I sugget you open the "pd_template_600x800.pd" to start with.
You can create elements (with the "Put" menu)
You can then move and re-arrange them. You can also right click on them and access their "properties". Which will enable you to change their scale, the range of values they will send etc.
It's important to name your elements will the label field in their properties. This name will be used to configure the sending pattern of the value behind each gui element.
For instance if you name a button "toggle1" the osc message will use the pattern "/toggle1" to send the value of this gui element.
Processing has an android mode and it's pretty nice ! => processing-android
That means that once installed you can easily build and android app for your controller. The android version also supports an additional (optional) tab to send the data from most common embeded sensors.
Here is a snapshot of the sensor tab :