У меня есть следующий код, который я частично получил от учителя, а некоторые части добавил сам:
Это мой MainActivity.Java. Я удалил строку API, но знаю, что она правильная, поскольку я проверял ее в почтальоне
package com.example.foodstore;
import com.android.volley.*;
import com.android.volley.toolbox.JsonObjectRequest;
import org.json.JSONObject;
public class APICall {
public void get(RequestQueue requestQueue, VolleyCallback callback, String url){
//public void get(RequestQueue requestQueue, MainActivity callback, Activity2 callback2, Activity3 callback3, Activity4 callback4, String url){
JsonObjectRequest jsonObjectRequest;
jsonObjectRequest = new JsonObjectRequest(Request.Method.GET, url, null, new Response.Listener() {
@Override
public void onResponse(JSONObject response) {
callback.onSuccess(response);
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
callback.onFailure(error);
}
});
requestQueue.add(jsonObjectRequest);
}
}
Проблема в том, что мне нужно создать его на уровне API 24, но каждый раз, когда я его запускаю, я получаю сообщение об ошибке из класса APIcall, в котором говорится: "javax.net.ssl.SSLHandshakeException: java .security.cert.CertPathValidatorException: привязка доверия для пути сертификации не найдена». Но когда я перехожу на уровень API 26, он работает
Мой appManifest.xml выглядит так
У меня есть следующий код, который я частично получил от учителя, а некоторые части добавил сам: Это мой MainActivity.Java. Я удалил строку API, но знаю, что она правильная, поскольку я проверял ее в почтальоне [code]package com.example.foodstore;
//Hämtar ut de element som ska hanteras sV = (ScrollView) findViewById(R.id.scrollView); pll = (LinearLayout) findViewById(R.id.productLayout);
/*Cache cache = new DiskBasedCache(getCacheDir(),1024*1024); Network network = new BasicNetwork(new HurlStack()); RequestQueue requestQueue = new RequestQueue(cache, network); requestQueue.start();*/
Cache cache = new DiskBasedCache(getCacheDir(), 1024*1024); Network network = new BasicNetwork(new HurlStack()); RequestQueue requestQueue = new RequestQueue(cache, network); requestQueue.start();
//Full api sträng för att hämta ut produkter, limit är 10 String apiString = "" + key;
Log.e("", apiString);
//Skapar en instans av funktionen InternetConnection för att se om vi har uppkoppling /*InternetConection internetConection = new InternetConection(getApplicationContext());
//Kollar om vi inte har någon uppkoppling och visar en Toast med felmedelande if(!internetConection.isConnectcted()){ Toast.makeText(getApplicationContext(), "404! No internet connection", Toast.LENGTH_SHORT).show(); } else{
}*/
APICall apiCall = new APICall(); apiCall.get(requestQueue,this, apiString);
}
//Knappen för att visa alla kategorier public void category(View view){
}
//Knappen för att visa kundkorgen public void cart(View view){
}
@Override public void onSuccess(JSONObject object) { try {
for(int i = 0; i < Products.size(); i ++){ LinearLayout ll = new LinearLayout(this); ll.setOrientation(LinearLayout.VERTICAL); ll.setBackgroundColor(Color.WHITE); ll.setPadding(10,10,10,10);
TextView tW = new TextView(this); tW.setTextSize(20); tW.setText(Products.get(i).getName()); ll.addView(tW);
jsonObjectRequest = new JsonObjectRequest(Request.Method.GET, url, null, new Response.Listener() { @Override public void onResponse(JSONObject response) { callback.onSuccess(response); } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { callback.onFailure(error); } });
requestQueue.add(jsonObjectRequest); } } [/code] Проблема в том, что мне нужно создать его на уровне API 24, но каждый раз, когда я его запускаю, я получаю сообщение об ошибке из класса APIcall, в котором говорится: "javax.net.ssl.SSLHandshakeException: java .security.cert.CertPathValidatorException: привязка доверия для пути сертификации не найдена». Но когда я перехожу на уровень API 26, он работает Мой appManifest.xml выглядит так [code]
[/code] И мой buidl.gradle.kit (app:) выглядит так [code]plugins { alias(libs.plugins.android.application) }
У меня есть следующий код, который я частично получил от учителя, а некоторые части добавил сам:
Это мой MainActivity.Java. Я удалил строку API, но знаю, что она правильная, поскольку я проверял ее в почтальоне
package com.example.foodstore;...
Я использую самозаверяющий сертификат CA для среды тестирования, но столкнулся с проблемой при доступе к API с помощью HttpClient....
Пожалуйста, помогите мне решить эту проблему....
Я использую самозаверяющий сертификат CA для среды тестирования, но столкнулся с проблемой при доступе к API с помощью HttpClient....
Пожалуйста, помогите мне решить эту проблему....