I am getting AuthfailureError on using Volley library to fetch data from json using api and data is not displayed in the app and i am using recycleView to use that pls tell me the way to solve it. using newsapi.
That is the info i got in the logcat 04-05 19:06:54.892 30168-30168/? I/art: Late-enabling -Xcheck:jni 04-05 19:06:54.957 30168-30168/? D/TidaProvider: TidaProvider() 04-05 19:06:54.966 30168-30168/? W/ReflectionUtils: java.lang.NoSuchMethodException: android.os.MessageQueue#enableMonitor()#bestmatch at miui.util.ReflectionUtils.findMethodBestMatch(ReflectionUtils.java:338) at miui.util.ReflectionUtils.findMethodBestMatch(ReflectionUtils.java:375) at miui.util.ReflectionUtils.callMethod(ReflectionUtils.java:800) at miui.util.ReflectionUtils.tryCallMethod(ReflectionUtils.java:818) at android.os.BaseLooper.enableMonitor(BaseLooper.java:47) at android.os.Looper.prepareMainLooper(Looper.java:111) at android.app.ActivityThread.main(ActivityThread.java:5584) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:774) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:652) 04-05 19:06:55.034 30168-30168/com.example.inshorts W/ResourceType: No package identifier when getting name for resource number 0x00000000 04-05 19:06:55.059 30168-30168/com.example.inshorts W/System: ClassLoader referenced unknown path: /data/app/com.example.inshorts-1/lib/arm64 04-05 19:06:55.284 30168-30168/com.example.inshorts W/ResourceType: No package identifier when getting name for resource number 0x00000000 04-05 19:06:55.312 30168-30168/com.example.inshorts W/art: Before Android 4.1, method android.graphics.PorterDuffColorFilter androidx.vectordrawable.graphics.drawable.VectorDrawableCompat.updateTintFilter(android.graphics.PorterDuffColorFilter, android.content.res.ColorStateList, android.graphics.PorterDuff$Mode) would have incorrectly overridden the package-private method in android.graphics.drawable.Drawable 04-05 19:06:55.356 30168-30168/com.example.inshorts D/AccessibilityManager: current package=com.example.inshorts, accessibility manager mIsFinalEnabled=false, mOptimizeEnabled=false, mIsUiAutomationEnabled=false, mIsInterestedPackage=false 04-05 19:06:55.384 30168-30168/com.example.inshorts I/art: Rejecting re-init on previously-failed class java.lang.Class<androidx.core.view.ViewCompat$2> 04-05 19:06:55.384 30168-30168/com.example.inshorts I/art: Rejecting re-init on previously-failed class java.lang.Class<androidx.core.view.ViewCompat$2> 04-05 19:06:55.533 30168-30205/com.example.inshorts I/DpmTcmClient: RegisterTcmMonitor from: com.android.okhttp.TcmIdleTimerMonitor 04-05 19:06:55.545 30168-30210/com.example.inshorts D/OpenGLRenderer: Use EGL_SWAP_BEHAVIOR_PRESERVED: true 04-05 19:06:55.592 30168-30210/com.example.inshorts I/Adreno: QUALCOMM build : 10c9f68, I74772a33ad Build Date : 02/07/17 OpenGL ES Shader Compiler Version: XE031.07.00.01 Local Branch : Remote Branch : refs/tags/AU_LINUX_ANDROID_LA.UM.5.1_RB1.06.00.01.192.038 Remote Branch : NONE Reconstruct Branch : NOTHING 04-05 19:06:55.599 30168-30210/com.example.inshorts I/OpenGLRenderer: Initialized EGL, version 1.4 04-05 19:06:57.302 30168-30205/com.example.inshorts E/Volley: [22082] BasicNetwork.performRequest: Unexpected response code 403 for https://newsapi.org/v2/everything?q=tesla&from=2021-03-05&sortBy=publishedAt&apiKey=db3faa5de2634bed98c7b8b8119921ae 04-05 19:06:57.999 30168-30205/com.example.inshorts E/Volley: [22082] BasicNetwork.performRequest: Unexpected response code 403 for https://newsapi.org/v2/everything?q=tesla&from=2021-03-05&sortBy=publishedAt&apiKey=db3faa5de2634bed98c7b8b8119921ae 04-05 19:06:58.040 30168-30168/com.example.inshorts I/Toast: Show toast from OpPackageName:com.example.inshorts, PackageName:com.example.inshorts 04-05 19:06:58.241 30168-30210/com.example.inshorts V/RenderScript: 0x5569efdac0 Launching thread(s), CPUs 8
*package com.example.inshorts;
import android.app.LoaderManager;
import android.os.Bundle;
import android.util.Log;
import android.widget.ProgressBar;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import com.android.volley.AuthFailureError;
import com.android.volley.Request;
import com.android.volley.RequestQueue;
import com.android.volley.Response;
import com.android.volley.VolleyError;
import com.android.volley.toolbox.JsonArrayRequest;
import com.android.volley.toolbox.JsonObjectRequest;
import com.android.volley.toolbox.StringRequest;
import com.android.volley.toolbox.Volley;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class MainActivity extends AppCompatActivity {
private RecyclerView topheadlinesRecycleView;
private NewsAdapter newsAdapter;
private final List<NewsContent> topHeadlines=new ArrayList<>();
private int per_page=20;
private static final String newsapiUrl="https://newsapi.org/v2/everything?q=tesla&from=2021-03-05&sortBy=publishedAt&apiKey=***************";
enter code here
private String LOGTag;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
topheadlinesRecycleView= findViewById(R.id.RecyleView);
//Instantiate the RequestQueue.
RequestQueue queue = Volley.newRequestQueue(this);
// Request a string response from the provided URL.
StringRequest stringRequest = new StringRequest(Request.Method.GET, newsapiUrl,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
// Display the first 500 characters of the response string.
try {
JSONObject jsonObject=new JSONObject(response);
JSONArray newsArray=jsonObject.getJSONArray("articles");
for(int i=0;i<newsArray.length();i++){
JSONObject jsonObject1=newsArray.getJSONObject(i);
String title=jsonObject1.getString("title");
String description=jsonObject1.getString("description");
String urlImage=jsonObject1.getString("");
}
} catch (JSONException e) {
Toast.makeText(getApplicationContext(),"data not found",Toast.LENGTH_LONG).show();
e.printStackTrace();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Toast.makeText(getApplicationContext(),error.toString()+ "data not found",Toast.LENGTH_LONG).show();
Log.d(LOGTag,error.toString());
}
});
// Add the request to the RequestQueue.
queue.add(stringRequest);
newsAdapter=new NewsAdapter(topHeadlines,this);
final LinearLayoutManager layoutManager=new LinearLayoutManager(this);
layoutManager.setOrientation(LinearLayoutManager.VERTICAL);
topheadlinesRecycleView.setLayoutManager(new LinearLayoutManager(this));
topheadlinesRecycleView.setAdapter(newsAdapter);
newsAdapter.notifyDataSetChanged();
}
}
User contributions licensed under CC BY-SA 3.0