2017-12-24 9 views
1

Ich möchte JSON-Objekte an einen Server senden. Ich bekomme diesen Fehler unter Response.ErrorListener(). Wenn ich versuche, Anfragen durch die Volley Bibliothek in Android Studio zu senden:Die Volley-Bibliothek im Android Studio kann keine Anfragen senden

Class 'Anonyme Klasse von ErrorListener abgeleitet' muss entweder abstrakt deklariert werden oder abstrakte Methode implementieren 'onErrorResponse (VolleyError)' in ErrorListener‘

Dies ist

meine LoginActivity

package com.example.mujtaba.quizzer; 

import android.content.Intent; 
import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.ArrayAdapter; 
import android.widget.Button; 
import android.widget.Spinner; 
import android.widget.TextView; 

import com.android.volley.Request; 
import com.android.volley.RequestQueue; 
import com.android.volley.Response; 
import com.android.volley.VolleyLog; 
import com.android.volley.toolbox.StringRequest; 
import com.example.mujtaba.quizzer.Activity.QuizMaking; 
import com.example.mujtaba.quizzer.Activity.QuizTaking; 

import org.w3c.dom.Text; 

import java.util.HashMap; 
import java.util.Map; 

public class Login extends AppCompatActivity { 
    private Button button; 
    private TextView username; 
    private TextView password; 
    private Spinner role; 
    private String url = "http://yourdomain.com/path"; 
    private RequestQueue MyRequestQueue; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_login); 

     username=(TextView) findViewById(R.id.username); 
     password=(TextView) findViewById(R.id.password); 
     button=(Button) findViewById(R.id.button); 
     role = (Spinner) findViewById(R.id.role); 

// Create an ArrayAdapter using the string array and a default spinner layout 
     ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, 
       R.array.role_spinner, android.R.layout.simple_spinner_item); 
// Specify the layout to use when the list of choices appears 
     adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
// Apply the adapter to the spinner 
     role.setAdapter(adapter); 
    } 


    public void Quiz(View v) { //select a new activity on the basis of role 
     StringRequest MyStringRequest = new StringRequest(Request.Method.POST, url, new Response.Listener<String>() { 
      @Override 
      public void onResponse(String response) { 
       //This code is executed if the server responds, whether or not the response contains data. 
       //The String 'response' contains the server's response. 
      } 
     }, new Response.ErrorListener() { //Create an error listener to handle errors appropriately. 
      @Override 
      public void onErrorResponse(VolleyLog error) { 
       //This code is executed if there is an error. 
      } 
     }) { 
      protected Map<String, String> getParams() { 
       Map<String, String> MyData = new HashMap<String,String>(); 
       MyData.put("Field", "Value"); //Add the data you'd like to send to the server. 
       return MyData; 
      } 
     }; 

     MyRequestQueue.add(MyStringRequest); 

     String text = role.getSelectedItem().toString(); 
     switch (text) { 

      case "Student": 
       Intent i = new Intent(getBaseContext(), QuizTaking.class); 
       startActivity(i); 
       break; 

      case "Instructor": 
       Intent j = new Intent(getBaseContext(), QuizMaking.class); 
       startActivity(j); 
       break; 
     } 
    } 
} 
+0

posten Sie Ihre Fehlermeldung –

+0

überprüfen Sie bitte https://stackoverflow.com/questions/28344448/how-to-send-json-object-to-server -using-volley-in-android –

+0

http://karn-neelmani.blogspot.in/2014/12/post-json-object-to-server-using-volley.html –

Antwort

0

Ihr Fehler ist, weil Sie eine Methode (VolleyLog) innerhalb ErrorListener fordern, die nicht in dieser Schnittstelle definiert ist. Ändern Sie unter:

new Response.ErrorListener() { //Create an error listener to handle errors appropriately. 
      @Override 
      public void onErrorResponse(VolleyLog error) { 
       //This code is executed if there is an error. 
      } 

für:

new Response.ErrorListener() { //Create an error listener to handle errors appropriately. 
      @Override 
      public void onErrorResponse(VolleyError error) {//Change is here 
       //This code is executed if there is an error. 
      } 
+0

Vielen Dank. Das war der Trick: ') –

+0

Froh, es hat funktioniert. ;) – HaroldSer

Verwandte Themen