Как сделать процедуру тайм-аута для запроса JDB C в Android - PullRequest
0 голосов
/ 16 апреля 2020

Я занимаюсь разработкой приложения Android, которое иногда будет использоваться в удаленных местах. Я хотел бы установить какой-то таймер для моих AsyncTasks, которые выполняют мои запросы JDB C, чтобы он останавливался через 10 секунд и предупреждал пользователя о плохом / медленном inte rnet.

Есть ли способ установить максимальный лимит времени с запросом AsyncTask или JDB C или какие исключения я должен отловить, чтобы предотвратить сбой приложения из-за плохих / медленных соединений inte rnet.

Ваша помощь будет очень ценится.

try {
            con = generics.connectionclass();
            if (con == null) {
                Toast.makeText(this, "error", Toast.LENGTH_SHORT).show();
            } else {
                String query = "exec KeyValidation_PC1000 '"+ PrintValue +"', '"+POSUNITID+"'";
                Log.v("trst", query);
                Statement stmt = con.createStatement();
                ResultSet rs = stmt.executeQuery(query);
                if (rs.next()) {
                    ResultMessage = rs.getString(1);
                }
            }
        } catch (Exception ex) {

        }
 private class DoValidation extends AsyncTask<String, String, String> {
        @Override
        protected void onPreExecute() {

        }

        @Override
        protected void onPostExecute(String s) {
            super.onPostExecute(s);
            try{
                String[] seperated=ResultMessage.split(";");

                }
            }catch(Exception e)
            {

            }
        }

        @Override
        protected String doInBackground(String... strings) {
            dbcall();
            return null;
        }
...