Привет всем
Я новичок в Android
Я пытаюсь сохранить двоичный файл с Asynctask и показать процесс в TextView
Это макет:
<TextView
android:id="@+id/textView_pecent"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
А это мой код Java:
private class hideit extends AsyncTask<String, Integer, Boolean> {
@Override
protected Boolean doInBackground(String... urls) {
try{
int c;
while((c = Data.read()) != -1) {
Data.write(c);
}
}catch (IOException e){
e.printStackTrace();
}
return true;
}
protected void onProgressUpdate(Integer... progress) {
textview.setText(INTEGER.toStirng(x)); //x =0
x++
}
protected void onPostExecute(Boolean result) {
Toast.makeText(getActivity(),"Done", Toast.LENGTH_LONG).show();
}
}
Как мне использовать процесс публикации?
Я много искал, но все используют цикл sleep или for или while, но вы не можете выполнить свой процесс с помощью sleep
Я так запутался, как я могу использовать эту функцию, чтобы показать мой процесс в TextView
?
Должен ли я звонить много раз?
Спасибо
редактирование:
Это пример:
protected String doInBackground(Integer... params) {
for (; count <= params[0]; count++) {
try {
Thread.sleep(1000);
publishProgress(count);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
return "Task Completed.";
}
Как я могу добавить приведенный ниже код к примеру
try{
int c;
while((c = Data.read()) != -1) {
Data.write(c);
}
}catch (IOException e){
e.printStackTrace();
}
return true;
}