Как скачать файл в сервисе на AndroidAndroid

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Как скачать файл в сервисе на Android

Сообщение Anonymous »

Я хочу загрузить файл с сервера и загрузить его в фоновом режиме, например через сервис.

Мои коды:

Код: Выделить всё

public class MainActivity extends AppCompatActivity {

Button download;
TextView downloadCount;
ProgressBar progressBar;

Future downloading;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

// Enable global Ion logging
Ion.getDefault(this).configure().setLogging("ion-sample", Log.DEBUG);

setContentView(R.layout.activity_main);

download = (Button) findViewById(R.id.download);
downloadCount = (TextView) findViewById(R.id.download_count);
progressBar = (ProgressBar) findViewById(R.id.progress);

File sdCard = Environment.getExternalStorageDirectory();
File dir = new File(sdCard.getAbsolutePath() + "/dir1/dir2");
if (!dir.exists()) {
dir.mkdirs();
}
final File file = new File(dir, "filename.zip");

download.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (downloading != null && !downloading.isCancelled()) {
resetDownload();
return;
}

download.setText("Cancel");
// this is a 180MB zip file to test with
downloading = Ion.with(MainActivity.this)
.load("http://cdn.p30download.com/?b=p30dl-software&f=PCWinSoft.1AVMonitor.v1.9.1.50_p30download.com.rar")
// attach the percentage report to a progress bar.
// can also attach to a ProgressDialog with progressDialog.
.progressBar(progressBar)
// callbacks on progress can happen on the UI thread
// via progressHandler. This is useful if you need to update a TextView.
// Updates to TextViews MUST happen on the UI thread.
.progressHandler(new ProgressCallback() {
@Override
public void onProgress(long downloaded, long total) {
downloadCount.setText("" + downloaded + " / " + total);
}
})
// write to a file
.write(file)
// run a callback on completion
.setCallback(new FutureCallback() {
@Override
public void onCompleted(Exception e, File result) {
resetDownload();
if (e != null) {
Toast.makeText(MainActivity.this, "Error downloading file", Toast.LENGTH_LONG).show();
return;
}
Toast.makeText(MainActivity.this, "File upload complete", Toast.LENGTH_LONG).show();
}
});
}
});
}

void resetDownload() {
// cancel any pending download
downloading.cancel();
downloading = null;

// reset the ui
download.setText("Download");
downloadCount.setText(null);
progressBar.setProgress(0);
}
}
Я пишу приведенные выше коды, но не знаю, как мне записать этот код в сервис и загрузить файл в фоновом режиме.

Как мне написать эти коды в сервисе?

Подробнее здесь: https://stackoverflow.com/questions/404 ... in-android
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Скачать Прекратить скачать
    Anonymous » » в форуме Html
    0 Ответы
    31 Просмотры
    Последнее сообщение Anonymous
  • Скачать Прекратить скачать
    Anonymous » » в форуме Html
    0 Ответы
    7 Просмотры
    Последнее сообщение Anonymous
  • Скачать Прекратить скачать
    Anonymous » » в форуме Html
    0 Ответы
    4 Просмотры
    Последнее сообщение Anonymous
  • Я не могу скачать pyautogui в CMD. Как правильно скачать?
    Anonymous » » в форуме Python
    0 Ответы
    15 Просмотры
    Последнее сообщение Anonymous
  • Используйте ViewPager2 в сервисе на Android
    Anonymous » » в форуме Android
    0 Ответы
    42 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Android»