Tengo una aplicación que necesita descargar JSON de la URL usando AsyncTask y onPostExecute() pasa ese objeto JSON a la siguiente actividad usando el método putExtra, pero constantemente recibo un error, que dice "putExtra solo se puede usar para pasar cadenas y no objetos"? ¿Cómo solucionar esto?Cómo pasar el objeto JSON a la nueva actividad
Respuesta
Haga esto al pasar el param:
intent.putExtra("json", jsonobj.toString());
Y en su nueva actividad analizarlo así:
JSONObject obj = new JSONObject(getIntent().getStringExtra("json"));
debe pasar un objeto serializable o parcelable través putExtra, como JSONObject no es ni objeto serializable ni parcelable, por lo que no puede pasarlo a putExtra.
Necesita crear una clase Parcelable o Serializable para analizar un JSONObject, luego puede usar el método putExtra para pasarlo.
La otra opción es pasar cadena JSON de jsonOjbect.
En la actividad en la que usted está recibiendo los datos JSON escribir el siguiente código para enviar a la actividad TAB
Intent i = new Intent(getApplicationContext(), Another_Activity.class);
i.putExtra("key", jsonObject.toString());
startActivity(i);
para acceder a los datos, es decir objeto JSON Escriba el siguiente código en la pestaña Actividad
JSONObject jsonObject = new JSONObject(getIntent().getStringExtra("key"));
Toast.makeText(Another_Activity.this, ""+jsonObject.get("Your JSON VALUE"), Toast.LENGTH_SHORT).show();
Su JSON VALUE es el archivo que está presente en los datos. por ejemplo, "ID de empresa" 1 aquí Identificación del negocio es el valor JSON, sustituirla por la suya
¿Puede agregar explicaciones textuales a su código? –
- 1. cómo pasar el objeto json de java a javascript?
- 2. ¿Cómo pasar el contexto de una actividad a otra?
- 3. ¿Cómo abrir el enlace de WebView a una nueva actividad?
- 4. creación de paquete y el envío a la nueva actividad
- 5. Nueva actividad - Nuevo menú
- 6. Pasar de una actividad a la siguiente en Android
- 7. ¿cómo puedo pasar una variable a una nueva declaración Runnable?
- 8. Cómo iniciar una nueva actividad usando la intención pendiente
- 9. Eclipse: crear nueva actividad
- 10. ¿Cómo usar JSON para volver a generar el objeto Javascript?
- 11. Listview va onclick a una nueva actividad
- 12. Codificar objeto a JSON
- 13. ¿Cómo puedo pasar un objeto de mapa de bits de una actividad a otra
- 14. Pasar un día con JSON a .NET
- 15. Listview, abra nueva actividad enClick
- 16. ¿Cómo agregar valores a un objeto JSON?
- 17. ¿Cómo registrar una nueva actividad en AndroidManifest.xml?
- 18. Lanzar nueva actividad desde PreferenceActivity
- 19. Serializar un objeto a JSON
- 20. Android: Pasar datos entre el servicio y la actividad
- 21. ¿Deshabilitar la actividad de la actividad de inserción cuando se inicia una nueva actividad?
- 22. ¿Cómo convierto datos JSON a javascript objeto
- 23. Cómo establecer la referencia de un objeto JSON a otro en el archivo JSON
- 24. Pasar de direct_to_template a la nueva TemplateView en Django
- 25. Pasar argumentos a la nueva aplicación de sinatra
- 26. Cómo convertir un objeto Ruby a JSON
- 27. ¿Iniciar nueva actividad y finalizar la actual en Android?
- 28. ¿Cómo pasar la referencia (no serializable) de una actividad a otra?
- 29. Cómo pasar un solo objeto [] a un objeto params []
- 30. ¿Cómo pasar el contexto del objeto a una función anónima?
que no entiendo que R.id.param parte, aquí está el código 'protected void onPostExecute (resultado de Object) { \t \t \t Intención startApp = nueva intención ("com.example.androidhive.HOME"); \t \t \t startApp.putExtra (R.id.param, result.toString()); \t \t \t startActivity (startApp); \t \t \t // finish(); \t \t} ' –
Esa es la clave, puedes poner lo que quieras allí. –
eliminar R.id.param y pasar cualquier cadena como clave –