Tổng hợp Xử lý việc tải dữ liệu trong ứng dụng Android

Thảo luận trong 'Android nâng cao' bắt đầu bởi thanhlong90.it, 19/10/13.

  1. thanhlong90.it

    thanhlong90.it Admin Support

    Lượt xem: 19,167
    Hôm nay Long sẽ tiếp tục giới thiệu tới các bạn một demo mới cũng khá hay và cũng được sử dụng khá nhiều trên các ứng dụng android, đó là sử dụng DownloadManager để thực hiện một quá trình tải dữ liệu về thiết bị android.

    1) Source code demo lập trình android:
    - Click vào đây để download source code demo

    2) DownloadManager là gì:
    - DownloadManager là một đối tượng được thêm vào android từ phiên bản android level 9.
    - Nó hỗ trợ việc gửi một request lên HTTP và xử lý cho phép thực hiện quá trình tải dữ liệu về.
    - Dữ liệu được lưu mặc định tại thư mục Down Load của thiết bị (có thể thay đổi đường dẫn).

    3) Video hướng dẫn:


    4) Hướng dẫn code:
    - res/values/strings.xml
    PHP:
    <?xml version="1.0" encoding="utf-8"?>
    <resources>
     
        <string name="parsed_data">http://android.vn\nHướng dẫn bởi thanhlong90.it</string>
        <string name="app_name">DemoAndroidDownloadManager</string>
        <string name="action_settings">Settings</string>
        <string name="hello_world">Hello world!</string>
     
    </resources>
    - activity_main.xml
    PHP:
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        
    android:layout_width="fill_parent"
        
    android:layout_height="fill_parent"
        
    android:orientation="vertical" >
     
        <
    TextView
            android
    :layout_width="match_parent"
            
    android:layout_height="wrap_content"
            
    android:layout_marginTop="5dp"
            
    android:gravity="center"
            
    android:text="@string/parsed_data"
            
    android:textAppearance="?android:attr/textAppearanceMedium"
            
    android:textStyle="bold" />
     
        <
    Button
            android
    :id="@+id/download"
            
    android:layout_width="fill_parent"
            
    android:layout_height="wrap_content"
            
    android:text="Start Download>
        </
    Button>
     
    </
    LinearLayout>
    - MainActivity.java
    PHP:
    <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="thanhlong90.it.demoandroiddownloadmanager"
        android:versionCode="1"
        android:versionName="1.0" >
     
        <uses-sdk
            android:minSdkVersion="9"
            android:targetSdkVersion="18" />
     
        <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="thanhlong90.it.demoandroiddownloadmanager.MainActivity"
                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>
    5) Chú ý:
    - Việc tải một cái gì đó từ trên mạng tất nhiên yêu cầu tối thiểu là có kết nối internet (3G, wifi ...)
    - Thêm pemission trong AndroidManifest.xml
    PHP:
    <uses-permission android:name="android.permission.INTERNET"/>
    - Đường dẫn nên là một đường trung gian như google:
    PHP:
    String Download_path "http://goo.gl/Mfyya";
    6) Hình ảnh kết quả demo:
    device-2013-10-19-101246 device-2013-10-19-101317 device-2013-10-19-101443 device-2013-10-19-101317

    Bài viết đăng lên diễn đàn khác vui lòng ghi rõ nguồn: Android.vn
    Pass giải nén: http://android.vn
    Support:
    - Skype: thanhlong90.it.support
    - Gmail: thanhlong90.it@gmail.com
    Chúc các bạn thành công!
    thanhlong90.it, download, thanhlong90.it, download
    linh17tp, phituyet1088Administrator thích bài này.
  2. dannylee

    dannylee Member

    - MainActivity.java sai r a
  3. minhhienlanh

    minhhienlanh New Member

    khi tải về thì dữ liệu được lưu vào đâu vậy a. em tìm trong sdcard nhưng ko thấy. a chỉ cho e cách lấy đường dẫn luôn đc ko a:D
  4. HuuChieu

    HuuChieu New Member

    cho em hỏi là:
    - nếu em thay đường dẫn trên bằng 1 đường dẫn tới 1 thư mục chứa ảnh thì nó có tự động down toàn bộ ảnh trong đường dẫn đó ko a?
    - và khi em down xong rồi thì làm cách nào để lưu lên sdcard, (em biết cách down load 1 ảnh từ đường dẫn có sẵn hiển thị lên image dùng asynctask) nhưng em muốn dùng cái như anh giới thiệu thì xử lý thế nào ạ?
  5. HuuChieu

    HuuChieu New Member

    dùng cái này khi ảnh tải về nó sẽ lưu trong Download, cho em hỏi mình có thể đổi thư mục lưu của ảnh lúc tải về không ạ? em muốn lưu vào thẻ nhớ chẳng hạn?
  6. congthanh2989

    congthanh2989 New Member

    mình muốn viết một ứng dụng download theo mô hình client-server thì làm thế nào nhỉ :D
    mình định viết theo kiểu web services bên java nhưng ko biết có ổn ko và nếu ổn thì nên làm như nào nhỉ vì tài liệu hướng dẫn về cái này ít quá :(

Chia sẻ trang này