0

I was looking for a way to connect an Android App to a MySQL database, and also using the SumUp SDK (https://github.com/sumup/sumup-android-sdk). Now, separately, they both worked like a charm, but my aim is to make an app that uses both functions, and that's where the problem starts. I added all the dependencies from both repositories, classes, permits from the Manifest, everything. But for some reason, when I try to make a connection to the DB, it throws me an error.

2021-12-24 19:52:05.845 13858-13901/com.sumup.sdksampleapp E/AndroidRuntime: FATAL EXCEPTION: AsyncTask #1
Process: com.sumup.sdksampleapp, PID: 13858
java.lang.RuntimeException: An error occurred while executing doInBackground()
    at android.os.AsyncTask$4.done(AsyncTask.java:399)
    at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:383)
    at java.util.concurrent.FutureTask.setException(FutureTask.java:252)
    at java.util.concurrent.FutureTask.run(FutureTask.java:271)
    at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:289)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
    at java.lang.Thread.run(Thread.java:919)
 Caused by: java.lang.ExceptionInInitializerError
    at c.b.b.x.d6(SourceFile:381)
    at c.b.b.s1.connect(SourceFile:323)
    at java.sql.DriverManager.getConnection(DriverManager.java:580)
    at java.sql.DriverManager.getConnection(DriverManager.java:218)
    at com.sumup.sdksampleapp.Inicio$a.a(SourceFile:63)
    at com.sumup.sdksampleapp.Inicio$a.doInBackground(SourceFile:50)
    at android.os.AsyncTask$3.call(AsyncTask.java:378)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:289) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) 
    at java.lang.Thread.run(Thread.java:919) 
 Caused by: java.lang.RuntimeException: java.lang.NoSuchMethodException: c.b.b.q0.<init> [class java.lang.String, int, class java.util.Properties, class java.lang.String, class java.lang.String]
    at c.b.b.x.<clinit>(SourceFile:311)
    at c.b.b.x.d6(SourceFile:381) 
    at c.b.b.s1.connect(SourceFile:323) 
    at java.sql.DriverManager.getConnection(DriverManager.java:580) 
    at java.sql.DriverManager.getConnection(DriverManager.java:218) 
    at com.sumup.sdksampleapp.Inicio$a.a(SourceFile:63) 
    at com.sumup.sdksampleapp.Inicio$a.doInBackground(SourceFile:50) 
    at android.os.AsyncTask$3.call(AsyncTask.java:378) 
    at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
    at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:289) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) 
    at java.lang.Thread.run(Thread.java:919) 
 Caused by: java.lang.NoSuchMethodException: c.b.b.q0.<init> [class java.lang.String, int, class java.util.Properties, class java.lang.String, class java.lang.String]
    at java.lang.Class.getConstructor0(Class.java:2332)
    at java.lang.Class.getConstructor(Class.java:1728)
    at c.b.b.x.<clinit>(SourceFile:306)
    at c.b.b.x.d6(SourceFile:381) 
    at c.b.b.s1.connect(SourceFile:323) 
    at java.sql.DriverManager.getConnection(DriverManager.java:580) 
    at java.sql.DriverManager.getConnection(DriverManager.java:218) 
    at com.sumup.sdksampleapp.Inicio$a.a(SourceFile:63) 
    at com.sumup.sdksampleapp.Inicio$a.doInBackground(SourceFile:50) 
    at android.os.AsyncTask$3.call(AsyncTask.java:378) 
    at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
    at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:289) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) 
    at java.lang.Thread.run(Thread.java:919) 

Code

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_inicio);

    new InfoAsyncTask().execute();

}

@SuppressLint("StaticFieldLeak")
public class InfoAsyncTask extends AsyncTask<Void, Void, Map<String, String>> {
    @Override
    protected Map<String, String> doInBackground(Void... voids) {

        Map<String, String> info = new HashMap<>();
        

        Log.i("Info", "Se hará la conexión con la base de datos");

        try (Connection connection = DriverManager.getConnection(URL, USER, PASSWORD)) {
            String sql = "SELECT * FROM producto";
            PreparedStatement statement = connection.prepareStatement(sql);
            ResultSet resultSet = statement.executeQuery();


             if (resultSet.next()) {
                info.put("name", resultSet.getString("nombre"));
          
             }

        }catch (Exception e) {
            Log.e("InfoAsyncTask", "Error reading school information", e);
        }

        return info;

    }
}

I don't know why does it happen, but I really hope someone can give me a solution please.

Shadow
  • 33,525
  • 10
  • 51
  • 64
videodvd
  • 1
  • 1

0 Answers0