0

I am developing an Android app which uses parse cloud. I am trying to store some values from my database in parse via a List of ParseObjects. Here is the code for my button click action.

  Button1.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            EditText Edit1 = (EditText) findViewById(R.id.editText1);
            input_email=Edit1.getText().toString();
            if(isNetworkAvailable()) {
                if (checkEmail(input_email)) {


                    ParseObject User = new ParseObject("User");
                    User.put("Email_Id", input_email);
                    User.put("Quote_Value", final_quote);
                    User.saveInBackground();

                    List<ParseObject> Product= new List<ParseObject>() {
                        @Override
                        public void add(int i, ParseObject parseObject) {

                        }

                        @Override
                        public boolean add(ParseObject parseObject) {
                            return false;
                        }

                        @Override
                        public boolean addAll(int i, Collection<? extends ParseObject> parseObjects) {
                            return false;
                        }

                        @Override
                        public boolean addAll(Collection<? extends ParseObject> parseObjects) {
                            return false;
                        }

                        @Override
                        public void clear() {

                        }

                        @Override
                        public boolean contains(Object o) {
                            return false;
                        }

                        @Override
                        public boolean containsAll(Collection<?> objects) {
                            return false;
                        }

                        @Override
                        public boolean equals(Object o) {
                            return false;
                        }

                        @Override
                        public ParseObject get(int i) {
                            return null;
                        }

                        @Override
                        public int hashCode() {
                            return 0;
                        }

                        @Override
                        public int indexOf(Object o) {
                            return 0;
                        }

                        @Override
                        public boolean isEmpty() {
                            return false;
                        }

                        @NonNull
                        @Override
                        public Iterator<ParseObject> iterator() {
                            return null;
                        }

                        @Override
                        public int lastIndexOf(Object o) {
                            return 0;
                        }

                        @NonNull
                        @Override
                        public ListIterator<ParseObject> listIterator() {
                            return null;
                        }

                        @NonNull
                        @Override
                        public ListIterator<ParseObject> listIterator(int i) {
                            return null;
                        }

                        @Override
                        public ParseObject remove(int i) {
                            return null;
                        }

                        @Override
                        public boolean remove(Object o) {
                            return false;
                        }

                        @Override
                        public boolean removeAll(Collection<?> objects) {
                            return false;
                        }

                        @Override
                        public boolean retainAll(Collection<?> objects) {
                            return false;
                        }

                        @Override
                        public ParseObject set(int i, ParseObject parseObject) {
                            return null;
                        }

                        @Override
                        public int size() {
                            return 0;
                        }

                        @NonNull
                        @Override
                        public List<ParseObject> subList(int i, int i2) {
                            return null;
                        }

                        @NonNull
                        @Override
                        public Object[] toArray() {
                            return new Object[0];
                        }

                        @NonNull
                        @Override
                        public <T> T[] toArray(T[] ts) {
                            return null;
                        }
                    };
                    List<Product_database> checked_product_Description = db.getSelectProducts();
                    for (Product_database pd : checked_product_Description) {
                        ParseObject product_data = new ParseObject("products");
                        product_data.put("Product_Description", pd.getProduct_name());
                        product_data.put("Product_Price", pd.getProduct_prices());
                        product_data.put("Product_Quantity", pd.getProduct_quantity());
                        Product.add(product_data);

                    }

                    saveAllInBackground(Product);


                    List<ParseObject> Add_ons= new List<ParseObject>() {
                        @Override
                        public void add(int i, ParseObject parseObject) {

                        }

                        @Override
                        public boolean add(ParseObject parseObject) {
                            return false;
                        }

                        @Override
                        public boolean addAll(int i, Collection<? extends ParseObject> parseObjects) {
                            return false;
                        }

                        @Override
                        public boolean addAll(Collection<? extends ParseObject> parseObjects) {
                            return false;
                        }

                        @Override
                        public void clear() {

                        }

                        @Override
                        public boolean contains(Object o) {
                            return false;
                        }

                        @Override
                        public boolean containsAll(Collection<?> objects) {
                            return false;
                        }

                        @Override
                        public boolean equals(Object o) {
                            return false;
                        }

                        @Override
                        public ParseObject get(int i) {
                            return null;
                        }

                        @Override
                        public int hashCode() {
                            return 0;
                        }

                        @Override
                        public int indexOf(Object o) {
                            return 0;
                        }

                        @Override
                        public boolean isEmpty() {
                            return false;
                        }

                        @NonNull
                        @Override
                        public Iterator<ParseObject> iterator() {
                            return null;
                        }

                        @Override
                        public int lastIndexOf(Object o) {
                            return 0;
                        }

                        @NonNull
                        @Override
                        public ListIterator<ParseObject> listIterator() {
                            return null;
                        }

                        @NonNull
                        @Override
                        public ListIterator<ParseObject> listIterator(int i) {
                            return null;
                        }

                        @Override
                        public ParseObject remove(int i) {
                            return null;
                        }

                        @Override
                        public boolean remove(Object o) {
                            return false;
                        }

                        @Override
                        public boolean removeAll(Collection<?> objects) {
                            return false;
                        }

                        @Override
                        public boolean retainAll(Collection<?> objects) {
                            return false;
                        }

                        @Override
                        public ParseObject set(int i, ParseObject parseObject) {
                            return null;
                        }

                        @Override
                        public int size() {
                            return 0;
                        }

                        @NonNull
                        @Override
                        public List<ParseObject> subList(int i, int i2) {
                            return null;
                        }

                        @NonNull
                        @Override
                        public Object[] toArray() {
                            return new Object[0];
                        }

                        @NonNull
                        @Override
                        public <T> T[] toArray(T[] ts) {
                            return null;
                        }
                    };
                    List<Add_on_database> checked_Add_ons_Description = add_db.getSelectAdd_ons();

                    for (Add_on_database ad : checked_Add_ons_Description) {
                        ParseObject add_on_data = new ParseObject("add_ons");
                        add_on_data.put("Add_on_Description", ad.getAdd_on_name());
                        add_on_data.put("Add_on_Price", ad.getAdd_on_prices());
                        add_on_data.put("Add_on_Quantity", ad.getAdd_on_quantity());
                        Add_ons.add(add_on_data);

                    }
                    saveAllInBackground(Add_ons);



                }
                 else {
                    Toast.makeText(getApplicationContext(), "Enter a valid Email Id!!", Toast.LENGTH_SHORT).show();
                }
            }

            else
            {
                Toast.makeText(getApplicationContext(), "Check Your Network Connection. Application needs active network to send mails!!", Toast.LENGTH_SHORT).show();
            }
        }});

Here is my Logcat from Android Studio:

   09-10 04:17:07.462    1266-1266/com.example.chmp.client04 I/Choreographer﹕ Skipped 38 frames!  The application may be doing too much work on its main thread.
09-10 04:17:16.650    1266-1266/com.example.chmp.client04 D/AndroidRuntime﹕ Shutting down VM
09-10 04:17:16.650    1266-1266/com.example.chmp.client04 W/dalvikvm﹕ threadid=1: thread exiting with uncaught exception (group=0xa4db0b20)
09-10 04:17:16.662    1266-1266/com.example.chmp.client04 E/AndroidRuntime﹕ FATAL EXCEPTION: main
    Process: com.example.chmp.client04, PID: 1266
    java.lang.NullPointerException
            at com.parse.ParseTraverser.traverseInternal(ParseTraverser.java:85)
            at com.parse.ParseTraverser.traverse(ParseTraverser.java:128)
            at com.parse.ParseObject.collectDirtyChildren(ParseObject.java:2188)
            at com.parse.ParseObject.collectDirtyChildren(ParseObject.java:2251)
            at com.parse.ParseObject.deepSaveAsync(ParseObject.java:2294)
            at com.parse.ParseObject.saveAllAsync(ParseObject.java:2447)
            at com.parse.ParseObject.saveAllInBackground(ParseObject.java:2646)
            at com.parse.ParseObject.saveAllInBackground(ParseObject.java:2657)
            at com.example.chmp.client04.UI.email_sender$1.onClick(email_sender.java:216)
            at android.view.View.performClick(View.java:4438)
            at android.view.View$PerformClick.run(View.java:18422)
            at android.os.Handler.handleCallback(Handler.java:733)
            at android.os.Handler.dispatchMessage(Handler.java:95)
            at android.os.Looper.loop(Looper.java:136)
            at android.app.ActivityThread.main(ActivityThread.java:5017)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:515)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
            at dalvik.system.NativeStart.main(Native Method)
09-10 04:17:19.482    1266-1266/com.example.chmp.client04 I/Process﹕ Sending signal. PID: 1266 SIG: 9

1 Answer 1

1

You are overriding List methods with empty stubs, this does not make sense. Instead use some non abstract List implementation, ArrayList would be a good candidate.

Sign up to request clarification or add additional context in comments.

1 Comment

Thank you. ArrayList does the job.!!

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.