org.nhnnext.android.basic.ImageDownload.java Source code

Java tutorial

Introduction

Here is the source code for org.nhnnext.android.basic.ImageDownload.java

Source

/*
 * Copyright 2010 Google Inc.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package org.nhnnext.android.basic;

import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import java.net.URLConnection;

import org.apache.http.util.ByteArrayBuffer;

import android.content.Context;
import android.content.SharedPreferences;

public class ImageDownload {
    private final Context context;
    private SharedPreferences pref;

    //  ? ? ?  
    public ImageDownload(Context context) {
        this.context = context;
        this.pref = context.getSharedPreferences(context.getString(R.string.pref_name), context.MODE_PRIVATE);
    }

    public void copy_img(String url, String save_name) {

        File img_cache_path;

        img_cache_path = new File(pref.getString(context.getString(R.string.files_directory), "") + save_name);
        if (!img_cache_path.exists()) {

            // ************************************
            try {
                URL Url = new URL(url);
                URLConnection conn = Url.openConnection();
                conn.connect();
                InputStream is = conn.getInputStream();

                BufferedInputStream bis = new BufferedInputStream(is);
                ByteArrayBuffer baf = new ByteArrayBuffer(50);

                int current = 0;

                while ((current = bis.read()) != -1) {
                    baf.append((byte) current);
                }

                FileOutputStream fos = context.openFileOutput(save_name, 0);
                fos.write(baf.toByteArray());
                fos.close();
            } catch (IOException e) {

            }

        }

    }

}