Реализация индикатора выполнения с заполнением данных SQlite - PullRequest
0 голосов
/ 31 мая 2018

Я пытаюсь просмотреть индикатор выполнения в моем приложении для Android, который следит за заполнением базы данных некоторыми данными, и после его завершения индикатор выполнения должен отображать «100%» или просто загрузку данных завершено.Я бы использовал этот индикатор выполнения в моем приложении.

В то время как здесь мой класс со всеми алгоритмами, с помощью которых я получаю данные с сайта HTML и помещаю их в SQLite.Есть ли у вас какие-либо предложения о том, как реализовать с ним индикатор выполнения?

public class articoli extends AppCompatActivity {


String htmlresultart;
Integer DaDoveParto = 0;
Integer DoveMiFermo = 0;
Integer QuanteRighe = 0;
Integer QuantiCampi = 0;
String appCAMPOart = "";
String[] appBODYart = new String[9];
DataBaseHandler myDB;

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

    myDB = DataBaseHandler.getInstance(this);
    myDB.delete();
    getHTMLArticoli();

}

private void getHTMLArticoli(){

    Ion.with(getApplicationContext())
            .load("WEPPAGEIP")
            .asString()
            .setCallback(new FutureCallback<String>() {
                @SuppressLint("SetTextI18n")
                @Override
                public void onCompleted(Exception e, String result) {
                    htmlresultart = result;
                    htmlresultart = htmlresultart.replace("</td>", "\n");
                    getBodyArticoli();
                }
            });

}

  private void getBodyArticoli(){

    DaDoveParto = Integer.valueOf(String.valueOf(htmlresultart.indexOf("TBLCRP")));
    DoveMiFermo = Integer.valueOf(String.valueOf(htmlresultart.indexOf("</form>")));

    if(DaDoveParto == 0){
        Toast.makeText(this,"NESSUN DATO TROVATO",Toast.LENGTH_SHORT).show();
    }else
    {
        Integer i;
        Integer j;
        Integer CONTACAMPO = 0;
        for( i = DaDoveParto ; i <= DoveMiFermo ; i++){
            if( htmlresultart.substring(i, i + 4).equals("<td>")){
                i += 4;
                for (j = i; j <= DoveMiFermo ; j++){
                    if(htmlresultart.substring(j, j + 1).equals("\n")){

                        appBODYart[CONTACAMPO] = htmlresultart.substring(i, i + (j - i));

                        if(appBODYart[CONTACAMPO].equals("(null)")){
                            appBODYart[CONTACAMPO] = "";
                        }
                        CONTACAMPO += 1;

                        if(CONTACAMPO.equals(QuantiCampi)){
                            CONTACAMPO = 0;
                            myDB.insertArtServer(appBODYart[0], appBODYart[1], appBODYart[2], appBODYart[3], appBODYart[4], appBODYart[5],
                                    appBODYart[6], appBODYart[7], appBODYart[8]);
                        }
                        break;
                    }
                }
            }

        }

    }

}

}

1 Ответ

0 голосов
/ 31 мая 2018

На самом деле вам нужен ProgressBar для отображения прогресса загрузки ваших данных, а не для вставки темы в базу данных.

Как я вижу, вы используете библиотеку ion для загрузки своих данных.Ион способен это сделать.смотрите здесь (поиск прогресса)

Однако, если вы хотите использовать ProgressBar для вставки данных в базу данных, вы должны использовать обратный вызов и поместить свой процент в него в обработчике базы данных ивнедрите это в свою деятельность.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...