Difference between revisions of "Android Controller"
From Immersive Visualization Lab Wiki
m (→Android Basics:) |
(→Android Basics:) |
||
Line 19: | Line 19: | ||
* UI Components | * UI Components | ||
**Buttons | **Buttons | ||
+ | <blockquote><code>Button button = (Button)findViewById(R.id.button1); | ||
+ | button.setOnClickListener(buttonOnClick);</code></blockquote> | ||
**Sliders | **Sliders | ||
− | SeekBar seekbar=(SeekBar)findViewById(R.id.seekBar1); | + | <blockquote><code>SeekBar seekbar=(SeekBar)findViewById(R.id.seekBar1); |
− | seekbar.setOnSeekBarChangeListener(sbar); | + | seekbar.setOnSeekBarChangeListener(sbar);</code></blockquote> |
+ | **TextView | ||
+ | <blockquote><code> | ||
+ | TextView seekbartxt=(TextView)findViewById(R.id.seekBarText); | ||
+ | CharSequence t="slider progress:"+progress; | ||
+ | seekbartxt.setText(t);</code></blockquote> | ||
+ | * Listeners | ||
+ | **OnClickListener | ||
+ | <blockquote><code>private OnClickListener showCamera = new OnClickListener() { | ||
+ | public void onClick(View v) { | ||
+ | //do stuff here | ||
+ | }</code></blockquote> | ||
+ | **OnSeekBarChangeListener | ||
+ | <blockquote><code> | ||
+ | private SeekBar.OnSeekBarChangeListener sbar = new SeekBar.OnSeekBarChangeListener() | ||
+ | { | ||
+ | |||
+ | public void onStopTrackingTouch(SeekBar seekBar) { | ||
+ | } | ||
+ | |||
+ | public void onStartTrackingTouch(SeekBar seekBar) { | ||
+ | } | ||
+ | |||
+ | public void onProgressChanged(SeekBar seekBar, int progress, | ||
+ | boolean fromUser) { | ||
+ | } | ||
+ | };</code></blockquote> | ||
+ | |||
* Camera | * Camera | ||
Revision as of 20:41, 4 June 2011
Contents |
Android Controller
Jeanne Wang
Objective
Create an intuitive and novel approach to a tablet based multi-touch and sensor-enabled controller for a real-time 3D visualization on a 2D platform. Using camera pose information relative to a 3D model displayed on a screen, we can display virtual camera shots in the 3D model space on the tablet.
Android Basics:
- Sandboxed in a linux environment, each application is actually a user
- Model View Controller setup
- Model - Content providers
- View - XML
- Controller - Activity, or Service
- UI Components
- Buttons
Button button = (Button)findViewById(R.id.button1);
button.setOnClickListener(buttonOnClick);
- Sliders
SeekBar seekbar=(SeekBar)findViewById(R.id.seekBar1);
seekbar.setOnSeekBarChangeListener(sbar);
- TextView
TextView seekbartxt=(TextView)findViewById(R.id.seekBarText);
CharSequence t="slider progress:"+progress;
seekbartxt.setText(t);
- Listeners
- OnClickListener
private OnClickListener showCamera = new OnClickListener() {
public void onClick(View v) {
//do stuff here
}
- OnSeekBarChangeListener
private SeekBar.OnSeekBarChangeListener sbar = new SeekBar.OnSeekBarChangeListener()
{
public void onStopTrackingTouch(SeekBar seekBar) {
}
public void onStartTrackingTouch(SeekBar seekBar) {
}
public void onProgressChanged(SeekBar seekBar, int progress,
boolean fromUser) {
}
};
- Camera
Hardware + Emulator
Network
- server
- client
- socket issues
ARToolkit
- detect marker
- pose
Android
OpenCover
- display marker
- display dataset
Tips
- Tip: An easy way to add import packages to your project is to press Ctrl-Shift-O (Cmd-Shift-O, on Mac). This is an Eclipse shortcut that identifies missing packages based on your code and adds them for you.
- To get cpuinfo on a particular machine look in: /proc/cpuinfo
- To get ipaddress on a particular machine call /sbin/ifconfig