(Android)Berkenalan Aktifitas Download Manager

Selamat sore teman – teman, lagi ngerjain apa nih, ane dapet kejaran waktu atau kejar waktu, ini tidak ketergantungan dengan pihak ke tiga, jadi tidak ada kontrak aplikasi berlanjut, masalahnya untuk creator nya itu yang akan menjadi masalah, tapi gak papa hitung – hitung cari amal di dunia dan akhirat, tema ini sebenarnya gak ada hubungan nya dengan app yang ane buat.

Bagaimana menggunakan aktifitas download manager dan proses download manager itu berlangsung, karena dalam sebuah system android sudah menyediakan itu semua, dengan kata lain kita hanya mengaktifkan atau menggunakan package tersebut, sama dengan aktifitas lain. di bawah ini merupakan aktifitas yang akan kita gunakan. atau potongan code yang akan kita gunakan.

private DownloadManager dm;

dm = (DownloadManager) getSystemService(DOWNLOAD_SERVICE);
Request request = new Request(
Uri.parse(“https://aeroyid.wordpress.com/”));
enqueue = dm.enqueue(request);

kelanjutannya kita langsung ke contoh projectnya :

Create Project dengan nama DownloadManager

Buka AndoridManifest.xml kita akan membuka permission internet terlebih dahulu

 <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.downloadmanagerpart2"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="17" />
    <uses-permission android:name="android.permission.INTERNET"/>

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.example.downloadmanagerpart2.DownloadManagerpart2"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

Buka file main.xml kita akan membuat tampilan untuk membuat aktifitas download manager

 <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    <Button android:text="Start Download" android:id="@+id/button1"
        android:layout_width="wrap_content" android:layout_height="wrap_content"
        android:onClick="onClick"></Button>
    <Button android:text="View Downloads" android:id="@+id/button2"
        android:layout_width="wrap_content" android:layout_height="wrap_content"
        android:onClick="showDownload"></Button>
    <ImageView android:layout_height="wrap_content" android:id="@+id/imageView1"
        android:src="@drawable/ic_launcher" android:layout_width="wrap_content"></ImageView>
</LinearLayout>

Buka file main.java

 package com.example.downloadmanagerpart2;

import android.annotation.SuppressLint;
import android.app.Activity;
import android.app.DownloadManager;
import android.app.DownloadManager.Query;
import android.app.DownloadManager.Request;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.database.Cursor;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.widget.ImageView;

@SuppressLint("NewApi")
public class DownloadManagerpart2 extends Activity {
	  private long enqueue;
	    private DownloadManager dm;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_download_managerpart2);
		 BroadcastReceiver receiver = new BroadcastReceiver() {
	            @Override
	            public void onReceive(Context context, Intent intent) {
	                String action = intent.getAction();
	                if (DownloadManager.ACTION_DOWNLOAD_COMPLETE.equals(action)) {
	                    long downloadId = intent.getLongExtra(
	                            DownloadManager.EXTRA_DOWNLOAD_ID, 0);
	                    Query query = new Query();
	                    query.setFilterById(enqueue);
	                    Cursor c = dm.query(query);
	                    if (c.moveToFirst()) {
	                        int columnIndex = c
	                                .getColumnIndex(DownloadManager.COLUMN_STATUS);
	                        if (DownloadManager.STATUS_SUCCESSFUL == c
	                                .getInt(columnIndex)) {
	 
	                            ImageView view = (ImageView) findViewById(R.id.imageView1);
	                            String uriString = c
	                                    .getString(c
	                                            .getColumnIndex(DownloadManager.COLUMN_LOCAL_URI));
	                            view.setImageURI(Uri.parse(uriString));
	                        }
	                    }
	                }
	            }
	        };
	 
	        registerReceiver(receiver, new IntentFilter(
	                DownloadManager.ACTION_DOWNLOAD_COMPLETE));
	    }
	 
	    public void onClick(View view) {
	        dm = (DownloadManager) getSystemService(DOWNLOAD_SERVICE);
	        Request request = new Request(
	                Uri.parse("https://aeroyid.wordpress.com/"));
	        enqueue = dm.enqueue(request);
	 
	    }
	 
	    public void showDownload(View view) {
	        Intent i = new Intent();
	        i.setAction(DownloadManager.ACTION_VIEW_DOWNLOADS);
	        startActivity(i);
	    }
	}

Run dan hasilnya seperti di bawah ini

Capture

2

Advertisements

Published by

jarcode

hello I am jarcode

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s