Note that there are some explanatory texts on larger screens.

plurals
  1. POHow to get results from an IntentService back into an Activity?
    primarykey
    data
    text
    <p>I am using an IntentService to handle network communications with a server via JSON. The JSON/server part is working fine, but I'm having trouble getting the results back where they are needed. The following code shows how I am starting the intent service from inside onClick(), and then having the service update a global variable to relay the results back to the main activity.</p> <pre><code>public class GXActivity extends Activity { private static final String TAG = "GXActivity"; @Override public void onCreate(Bundle savedInstanceState) { // === called when the activity is first created Log.i(TAG, "GXActivity Created"); super.onCreate(savedInstanceState); setContentView(R.layout.start); View.OnClickListener handler = new View.OnClickListener() { public void onClick(View v) { // === set up an application context to hold a global variable // === called user, to contain results from the intent service GXApp appState = ((GXApp) getApplicationContext()); User user = new User(-1); // initialize user id to -1 appState.setUser(user); // === next start an intent service to get JSON from the server; // === this service updates the user global variable with // === results from the JSON transaction Intent intent = new Intent(this, GXIntentService.class); startService(intent); // === check app context for results from intent service appState = ((GXApp) getApplicationContext()); if (appState.getUser().getId() != -1)... } } } } </code></pre> <p>The problem I'm having is that the intent service that parses the JSON doesn't get invoked until after onCreate() completes, so my code that's looking for the results is stuck looking at uninitialized results.</p> <p>What should I do differently so the intent service gets called before I check the results? Would it work if I pulled the click listener out of the onCreate() function? Is there a another/better to structure this code? Many thanks.</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload