





java.lang.UnsatisfiedLinkError: nativeAudioInitJavaCallbacks
at net.sbr.balloons.AudioThread.nativeAudioInitJavaCallbacks(Native Method)
at net.sbr.balloons.AudioThread.<init>(Audio.java:54)
at net.sbr.balloons.MainActivity.onCreate(MainActivity.java:148)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1615)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1667)
at android.app.ActivityThread.access$1500(ActivityThread.java:117)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:935)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:123)
at android.app.ActivityThread.main(ActivityThread.java:3687)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:842)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)
at dalvik.system.NativeStart.main(Native Method)java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare()
at android.os.Handler.<init>(Handler.java:121)
at android.content.ContentQueryMap.setKeepUpdated(ContentQueryMap.java:95)
at android.content.ContentQueryMap.<init>(ContentQueryMap.java:68)
at android.hardware.SensorManager.<init>(SensorManager.java:840)
at android.app.ContextImpl.getSensorManager(ContextImpl.java:1127)
at android.app.ContextImpl.getSystemService(ContextImpl.java:951)
at android.view.ContextThemeWrapper.getSystemService(ContextThemeWrapper.java:73)
at android.app.Activity.getSystemService(Activity.java:3546)
at net.sbr.balloons.AccelerometerReader.<init>(Accelerometer.java:48)
at net.sbr.balloons.DemoRenderer.onDrawFrame(Video.java:324)
at net.sbr.balloons.GLSurfaceView_SDL$GLThread.run(GLSurfaceView_SDL.java:1000)

RedefinedKeysScreenKb="A B C D E F PAGEUP PAGEDOWN G H"




#include "SDL.h"
int main(int argc, char* argv[])
{
SDL_Init(SDL_INIT_VIDEO | SDL_INIT_AUDIO | SDL_INIT_JOYSTICK);
SDL_Surface * screen = SDL_SetVideoMode(640, 480, 16, 0);
enum { MAX_POINTERS = 16, PTR_PRESSED = 4 };
int touchPointers[MAX_POINTERS][5];
int i;
memset(touchPointers, 0, sizeof(touchPointers));
SDL_Joystick * joysticks[MAX_POINTERS+1];
for(i=0; i<MAX_POINTERS; i++)
joysticks[i] = SDL_JoystickOpen(i);
while(1)
{
SDL_Event evt;
while( SDL_PollEvent(&evt) )
{
if( evt.type == SDL_JOYAXISMOTION )
{
if( evt.jaxis.which == 0 ) // 0 = The accelerometer
continue;
int joyid = evt.jaxis.which - 1;
touchPointers[joyid][evt.jaxis.axis] = evt.jaxis.value; // Axis 0 and 1 are coordinates, 2 and 3 are pressure and touch point radius
}
if( evt.type == SDL_JOYBUTTONDOWN || evt.type == SDL_JOYBUTTONUP )
{
if( evt.jbutton.which == 0 ) // 0 = The accelerometer
continue;
int joyid = evt.jbutton.which - 1;
touchPointers[joyid][PTR_PRESSED] = (evt.jbutton.state == SDL_PRESSED);
}
if(evt.type == SDL_KEYDOWN && evt.key.keysym.sym == SDLK_ESCAPE)
return 0;
}
SDL_FillRect(screen, 0, 0);
SDL_Rect r;
for(i=0; i<MAX_POINTERS; i++)
{
if( !touchPointers[i][PTR_PRESSED] )
continue;
r.x = touchPointers[i][0];
r.y = touchPointers[i][1];
r.w = 80 + touchPointers[i][2] / 10; // Pressure
r.h = 80 + touchPointers[i][3] / 10; // Touch point size
r.x -= r.w/2;
r.y -= r.h/2;
SDL_FillRect(screen, &r, 0xffffff);
}
SDL_Flip(screen);
}
return 0;
}





Return to Code Snippets for Android
Users browsing this forum: No registered users and 6 guests