এই ত্রুটিটি কী? আমি এটা কিভাবে ঠিক করবো? আমার অ্যাপটি চলছে তবে ডেটা লোড করা যাচ্ছে না। এবং এটি আমার ত্রুটি: লস 1 কলাম 1 পাতায় ত্রুটিযুক্ত JSON গ্রহণ করতে JsonReader.setLenient (সত্য) ব্যবহার করুন $
এটি আমার খণ্ড:
public class news extends Fragment {
private RecyclerView recyclerView;
private ArrayList<Deatails> data;
private DataAdapter adapter;
private View myFragmentView;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
myFragmentView = inflater.inflate(R.layout.news, container, false);
initViews();
return myFragmentView;
}
private void initViews() {
recyclerView = (RecyclerView) myFragmentView.findViewById(R.id.card_recycler_view);
RecyclerView.LayoutManager layoutManager = new LinearLayoutManager(getActivity().getApplicationContext());
recyclerView.setHasFixedSize(true);
recyclerView.setLayoutManager(layoutManager);
data = new ArrayList<Deatails>();
adapter = new DataAdapter(getActivity(), data);
recyclerView.setAdapter(adapter);
new Thread()
{
public void run()
{
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
loadJSON();
}
});
}
}
.start();
}
private void loadJSON() {
if (isNetworkConnected()){
HttpLoggingInterceptor interceptor = new HttpLoggingInterceptor();
interceptor.setLevel(HttpLoggingInterceptor.Level.BODY);
OkHttpClient client = new OkHttpClient.Builder()
.addInterceptor(interceptor)
.retryOnConnectionFailure(true)
.connectTimeout(15, TimeUnit.SECONDS)
.build();
Gson gson = new GsonBuilder()
.setLenient()
.create();
Retrofit retrofit = new Retrofit.Builder()
.baseUrl("http://www.memaraneha.ir/")
.client(client)
.addConverterFactory(GsonConverterFactory.create(gson))
.build();
RequestInterface request = retrofit.create(RequestInterface.class);
Call<JSONResponse> call = request.getJSON();
final ProgressDialog progressDialog = new ProgressDialog(getActivity());
progressDialog.show();
call.enqueue(new Callback<JSONResponse>() {
@Override
public void onResponse(Call<JSONResponse> call, Response<JSONResponse> response) {
progressDialog.dismiss();
JSONResponse jsonResponse = response.body();
data.addAll(Arrays.asList(jsonResponse.getAndroid()));
adapter.notifyDataSetChanged();
}
@Override
public void onFailure(Call<JSONResponse> call, Throwable t) {
progressDialog.dismiss();
Log.d("Error", t.getMessage());
}
});
}
else {
Toast.makeText(getActivity().getApplicationContext(), "Internet is disconnected", Toast.LENGTH_LONG).show();}
}
private boolean isNetworkConnected() {
ConnectivityManager cm = (ConnectivityManager) getActivity().getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo ni = cm.getActiveNetworkInfo();
if (ni == null) {
// There are no active networks.
return false;
} else
return true;
}
}
রিকোয়েস্ট ইন্টারফেস:
public interface RequestInterface {
@GET("Erfan/news.php")
Call<JSONResponse> getJSON();
}
আপডেট করুন (পাঠ্যের নীচে পড়ুন এবং আপনার সমস্যাটি সন্ধান করুন)
- সর্বদা এই ত্রুটিটি আপনার জাসন সম্পর্কে নয়, এটি আপনার ভুল অনুরোধ থেকে হতে পারে, পোস্টম্যানের জন্য প্রথমে আপনার অনুরোধটি ভালভাবে পরিচালনা করতে পারেন যদি আপনি প্রতিক্রিয়া পেয়ে থাকেন তবে আপনার মডেলটির সাথে আপনার জসন প্রতিক্রিয়াটির তুলনা করুন যদি কিছু ভুল না হয় তবে এই ত্রুটিটি আপনার ভুল অনুরোধ থেকে আসে, এছাড়াও যখন আপনার প্রতিক্রিয়াটি জসন না করা হয়েছিল (কিছু ক্ষেত্রে প্রতিক্রিয়া এইচটিএমএল হতে পারে)
response.body()