Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 我在使用Volley库使用api从json获取数据时遇到AuthfailureError,请告诉我解决方法_Android_Json_Android Studio_Parsing_Android Volley - Fatal编程技术网

Android 我在使用Volley库使用api从json获取数据时遇到AuthfailureError,请告诉我解决方法

Android 我在使用Volley库使用api从json获取数据时遇到AuthfailureError,请告诉我解决方法,android,json,android-studio,parsing,android-volley,Android,Json,Android Studio,Parsing,Android Volley,这是我在日志中得到的信息 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#ena

这是我在日志中得到的信息 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 位于miui.util.ReflectionUtils.findMethodBestMatch(ReflectionUtils.java:338) 位于miui.util.ReflectionUtils.findMethodBestMatch(ReflectionUtils.java:375) 位于miui.util.ReflectionUtils.callMethod(ReflectionUtils.java:800) 位于miui.util.ReflectionUtils.tryCallMethod(ReflectionUtils.java:818) 位于android.os.BaseLooper.enableMonitor(BaseLooper.java:47) 在android.os.Looper.prepareMainLooper(Looper.java:111)上 位于android.app.ActivityThread.main(ActivityThread.java:5584) 位于java.lang.reflect.Method.invoke(本机方法) 在com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:774)上 位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:652) 04-05 19:06:55.034 30168-30168/com.example.inshorts W/ResourceType:获取资源号0x00000000的名称时没有包标识符 04-05 19:06:55.059 30168-30168/com.example.inshorts W/System:ClassLoader引用的未知路径:/data/app/com.example.inshorts-1/lib/arm64 04-05 19:06:55.284 30168-30168/com.example.inshorts W/ResourceType:获取资源号0x00000000的名称时没有包标识符 04-05 19:06:55.312 30168-30168/com.example.inshorts W/art:Android 4.1之前的方法Android.graphics.PorterDuffColorFilter androidx.vectordrawable.graphics.drawable.VectorDrawableCompat.UpdatentFilter(Android.graphics.PorterDuffColorFilter,Android.content.res.ColorStateList,Android.graphics.PorterDuff$模式)将错误地重写android.graphics.drawable.drawable中的包私有方法 04-05 19:06:55.356 30168-30168/com.example.inshorts D/AccessibilityManager:current package=com.example.inshorts,辅助功能管理器mIsFinalEnabled=false,mOptimizeEnabled=false,mIsUiAutomationEnabled=false,misterestedpackage=false 04-05 19:06:55.384 30168-30168/com.example.inshorts I/art:拒绝在以前失败的类java.lang.class上重新初始化 04-05 19:06:57.999 30168-30205/com.example.inshorts E/Volley:[22082]BasicNetwork.performRequest:的意外响应代码403 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启动线程,CPU 8

*package com.example.inshorts;
导入android.app.LoaderManager;
导入android.os.Bundle;
导入android.util.Log;
导入android.widget.ProgressBar;
导入android.widget.Toast;
导入androidx.appcompat.app.appcompat活动;
导入androidx.recyclerview.widget.LinearLayoutManager;
导入androidx.recyclerview.widget.recyclerview;
导入com.android.volley.AuthFailureError;
导入com.android.volley.Request;
导入com.android.volley.RequestQueue;
导入com.android.volley.Response;
导入com.android.volley.VolleyError;
导入com.android.volley.toolbox.JsonArrayRequest;
导入com.android.volley.toolbox.JsonObjectRequest;
导入com.android.volley.toolbox.StringRequest;
导入com.android.volley.toolbox.volley;
导入org.json.JSONArray;
导入org.json.JSONException;
导入org.json.JSONObject;
导入java.util.ArrayList;
导入java.util.HashMap;
导入java.util.List;
导入java.util.Map;
公共类MainActivity扩展了AppCompatActivity{
私人回收视图topheadlinesRecycleView;
私有新闻适配器;
private final List TopHeadings=新建ArrayList();
每页专用整数=20;
私有静态最终字符串newsapiUrl=”https://newsapi.org/v2/everything?q=tesla&from=2021-03-05&sortBy=publishedAt&apiKey=*****************”;
在这里输入代码
私有字符串日志标签;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
topheadlinesRecycleView=findViewById(R.id.RecyleView);
//实例化RequestQueue。
RequestQueue=Volley.newRequestQueue(this);
//从提供的URL请求字符串响应。
StringRequest StringRequest=新的StringRequest(Request.Method.GET,newsapiUrl,
新的Response.Listener(){
@凌驾
公共void onResponse(字符串响应){
//显示响应字符串的前500个字符。
试一试{
JSONObject JSONObject=新JSONObject(响应);
JSONArray newsArray=jsonObject.getJSONArray(“文章”);
对于(int i=0;i
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.
    *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();
    }
    }