0
votes

Comment utiliser la classe d'assistance pour envoyer et recevoir des données à l'aide de l'intention dans Android

Entrez la description de l'image ici
Je veux récupérer les données de l'activité précédente (à l'aide de getintent) dans une classe .java et les mêmes données à une activité suivante à travers l'intention. Quelqu'un peut-il m'aider comment.Merci à l'avance.

public class AddToCartHelper {

    public static void addToCart(Context context, Intent intent) {

        String TAG = "AddToCart";
        DecimalFormat decimalFormat;
        boolean loginflagforuser = false, loginflagforguest = false;

        String advId = "", num = "", uid = "", productName = "", emailCart = "",cartMessage = "";
        Double price = 0.0;
        Integer quantity = 1;

        SharedPreferences preferences = context.getSharedPreferences("SECRETFILE", Context.MODE_PRIVATE);

        loginflagforuser = preferences.getBoolean(Parameters.userEmail, false);
        loginflagforguest = preferences.getBoolean(Parameters.guestEmail, false);
        decimalFormat = new DecimalFormat("##.##");

        if (loginflagforuser){

            Intent fromCart = getIntent();
            //    imageId = fromCart.getStringExtra("image_url");
            advId = fromCart.getStringExtra("Advid");
            price = fromCart.getDoubleExtra("price", 0.0);
            num = fromCart.getStringExtra("num");
            uid = fromCart.getStringExtra("uid");
            Log.d(TAG, "--- REGISTERD UID::::::::: " + uid);
            quantity = fromCart.getIntExtra("quantity", 1);
            productName = fromCart.getStringExtra("cart_product_name");
            // total = fromCart.getDoubleExtra("total", 0.0);

            emailCart = preferences.getString("email", null);

        }else if (loginflagforguest){

        }else{

        }

    }
}


7 commentaires

Vous pouvez donc déjà obtenir des données de l'activité précédente?


Non je suis incapable d'obtenir des données. quand j'essaie getintent (). Il lance une erreur.


Quelle est l'erreur?


@Gganesh pouvez-vous montrer cette erreur?


envoyé la capture d'écran. Vérifiez s'il vous plaît


getintent () ne peut pas être appelé la classe de nonactivité. Capturez d'abord l'intention de votre classe d'activité et envoyez-la à votre classe de nonactivité.


Vous déclarez déjà l'intention Intention comme paramètres de vos méthodes AddTtOcart, mais basée sur votre code que vous n'avez pas utilisé même. Une fois que vous fournissez l'intention correcte sur votre méthode, vous pouvez simplement appeler directement advid = intent.getstringextra ("AVID"); sans appeler getintent ().


3 Réponses :


0
votes

Il existe deux façons de transmettre les données à l'activité suivante que vous pouvez utiliser l'intention ou peut utiliser le récepteur de diffusion local

si vous souhaitez récupérer des données de l'activité précédente, utilisez P>

String a= getIntent().getStringExtra( "");// pass the name that you used in the previous activity


2 commentaires

Cela a été posté comme une réponse, mais cela ne tente pas de répondre à la question. Il devrait éventuellement être un édition, un commentaire, une autre question ou supprimé complètement.


Je veux chercher des données à une classe de non-activité. Activité -> .java classe. -> activité. Les données qui passent et la récupération doivent être effectuées par une classe Java normale.



0
votes

Vous avez déjà transmettre le paramètre Intention à la fonction addtOcart, donc au lieu de AVID = geDcart.getstringextra ("AVID"); , vous pouvez utiliser advid = Intention.Getstringextra ("AVID");


2 commentaires

Comment transmettre des données de la même classe Java à une autre activité.


Stackoverflow.com/Questtions/2091465/...



1
votes

Vous n'avez pas besoin d'utiliser cette intention de Cart = getintent () ;, Utilisez déjà l'intention d'intention

dvId = intent.getStringExtra("Advid");
            price = intent.getDoubleExtra("price", 0.0);
            num = intent.getStringExtra("num");
            uid = intent.getStringExtra("uid");
            Log.d(TAG, "--- REGISTERD UID::::::::: " + uid);
            quantity = intent.getIntExtra("quantity", 1);
            productName = intent.getStringExtra("cart_product_name");
            // total = intent.getDoubleExtra("total", 0.0);


0 commentaires