تابستون داره تموم میشه ها، فرصت‌ها محدودن کلی آفر جذاب در کمپین تابستون🔥👇
۰ ثانیه
۰ دقیقه
۰ ساعت
۲ دانیال
مشکل شناخته نشدن Type از سمت Gson
جامعه جاوا (اندروید) ایجاد شده در ۲۰ مهر ۱۴۰۰

سلام دوستان

 

من به یک مشکل بر خوردم در این جلسه ، وقتی اپلیکیشن debug می‌کنیم تا قسمت گرفتن data جلو میره و data  رو میگیره اما response تشکیل نمیشه ( که همون لیست student‌ها هستش ) ، و در داخل اپلیکیشن خطای نا مشخص میگیرم و لیست student‌ها نمایش داده نمیشه. و در داخل پنجره debug ارور نشناختن type به من نشون میده. 

سلام دانیال جان وقت بخیر

عذرخواهی میکنم جوابتونو با تاخیر میدم بخاطر کسالتی که داشتم چند روزی نبودم.

 

اگر مشکلتون حل نشده ممنون میشم کد‌های مربوطه که زدید رو ارسال کنین تا بررسی کنم.

پوریا شفیعی ۲۵ مهر ۱۴۰۰، ۱۵:۰۵

سلام پوریا جان ، ممنون بابت پاسخت

مشکل برنامه من اول نشناختن type بود الان در نشناختن gson هستش ، این هم error هستش که موقع دیباگ بهش می‌رسم. Cannot find local variable 'gson'

کدهم چک کردم ولی قسمتی پیدا نکردم که با کد استاد فرق کنه

 

کد قسمت Gson request

 

import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import com.android.volley.NetworkResponse;
import com.android.volley.Request;
import com.android.volley.Response;
import com.android.volley.toolbox.HttpHeaderParser;
import com.google.gson.Gson;
import java.lang.reflect.Type;
public class GsonRequest<T> extends Request<T>  {
    private Type type;
    private Gson gson = new Gson();
    private Response.Listener<T> listener;
    public GsonRequest(int method,Type type, String url,Response.Listener<T> Listener, @Nullable Response.ErrorListener ErrorListener) {
        super(method, url, ErrorListener);
        this.type = type;
        this.listener = Listener;
    }
    @Override
    protected Response<T> parseNetworkResponse(@NonNull NetworkResponse networkResponse) {
        String responseInString = new String(networkResponse.data);
         T response = gson.fromJson(responseInString,type);
        return Response.success(response, HttpHeaderParser.parseCacheHeaders(networkResponse));
    }
    @Override
    protected void deliverResponse(T response) {
        listener.onResponse(response);
    }
}
دانیال ۲۵ مهر ۱۴۰۰، ۱۵:۴۸