0

I try to use Sybase Unwired Platform with generated code for Android. I have exception in following code:

super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);    

Application app = Application.getInstance();
        
String AppName = "timesheets";
        
if (app.getApplicationIdentifier() == null)
    app.setApplicationIdentifier(AppName);

if (app.getApplicationContext() == null)
    app.setApplicationContext(this); //Place where app crashes

Debug window look like this:

debug window

All crashes after beginning of execution of that line:

crash message box

Android version is 4.1.2 (API 16)

Why does it crash?

Sandra Rossi
  • 11,934
  • 5
  • 22
  • 48
user1749081
  • 63
  • 1
  • 5

4 Answers4

0

I don't even know what Sybase is, but I don't believe setting application context to Activity is good idea. this refers to Activity, doesn't it?

Actually, I can't even find that method in Android API:

Application.setApplicationContext(this)

Looked here: Application and ContextWrapper and Context

What are you trying to archive by this line?

alxio
  • 128
  • 4
  • this object is Activity. I just use sybase unwired platform code sample as sample. sample code is Application app = Application.getInstance(); app.setApplicationIdentifier("SUP101"); app.setApplicationContext(SUP101SampleActivity.this); Application is equal com.sybase.mobile.Application. SUP101SampleActivity extends Activity. – user1749081 Dec 19 '13 at 12:07
0

I corrected source to more clear form:

com.sybase.mobile.Application app = com.sybase.mobile.Application.getInstance();

String AppName = "timesheets";

if (app.getApplicationIdentifier() == null)
   app.setApplicationIdentifier(AppName);

if (app.getApplicationContext() == null)
   app.setApplicationContext(this);
A.J. Uppal
  • 19,117
  • 6
  • 45
  • 76
user1749081
  • 63
  • 1
  • 5
0

What I used to do in Android & SUP 2.1 is Application.getInstance().setApplicationContext(getApplicationContext());

I see you are still passing the activity as context. Try to pass the application context like I wrote in my line above.

Erik Everts
  • 66
  • 1
  • 4
0

try this:

 app.setApplicationContext(getApplicationContext());
Rakshi
  • 6,796
  • 3
  • 25
  • 46