آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

سوال: فولدر با عکس

hvm  9 سال پیش  9 سال پیش
0 0

سلام دوستان

دیدید بعضی برنامه ها مثل خود بازار و تلگرام لوگو برنامشون رو فولدری که مربوط به اون برنامس میفته و مثل فولدرای دیگه خالی نیست عکسش؟
چطور اینکارو می کنن؟

0 0
دوستان کسی نمی دونه چطور لوگو برنامه رو به فولدر مربوط به برنامه که داخلش حالا یا دیتابیس داره یا ... اضافه کنیم؟ (9 سال پیش)
0 0
ظاهرا منظورم رو بد رسوندم: منظورم اینه که عکس لوگو به صورت خودکار روی فایل برنامه میفته مثلا آیکن بازار و باد صبا در این تصویر: لینک (9 سال پیش)
 برای این سوال 2 پاسخ وجود دارد.
پاسخ به سوال 
Amir  9 سال پیش
+1 0

اول از همه این متدها رو یه جایی کپی کنید:

    public static void copyFile(InputStream inStream, String outputFileName) {
        OutputStream outStream = null;
        try {
            outStream = new FileOutputStream(outputFileName);

            copyFile(inStream, outStream);
        }
        catch (FileNotFoundException e) {
            e.printStackTrace();
        } finally {
            closeStream(inStream);
            closeStream(outStream);
        }
    }
    
    public static void closeStream(InputStream stream) {
        try {
            stream.close();
        }
        catch (IOException e) {
            e.printStackTrace();
        }
    }

    public static void closeStream(OutputStream stream) {
        try {
            stream.flush();
            stream.close();
        }
        catch (IOException e) {
            e.printStackTrace();
        }
    }

حالا باید لوگوی برنامه رو توی فولدر assets کپی کنید و اسمشو به icon.png تغییر بدید. بعد با استفاده از کد زیر میتونید لوگو رو از assets بگیرید و توی فولدر برنامه کپی کنید.

        AssetManager assetMgr = getAssets();
        try {
            InputStream inStream = assetMgr.open("icon.png");
            copyFile(inStream, DIR_APP + "/icon.png"); // DIR_APP آدرس فولدر برنامست
        }
        catch (IOException e) {
            e.printStackTrace();
        }
پاسخ به سوال 
Amir  9 سال پیش
0 0

به جای متدهایی که گفتم یه کلاس بسازید به اسم HelperIO و کدهای زیر رو توش کپی کنید:

package app.test;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.nio.channels.FileChannel;


public class HelperIO {

    public static void copyFile(String inputFileName, String outputFileName) {
        InputStream inStream = null;
        OutputStream outStream = null;
        try {
            inStream = new FileInputStream(inputFileName);
            outStream = new FileOutputStream(outputFileName);

            copyFile(inStream, outStream);
        }
        catch (FileNotFoundException e) {
            e.printStackTrace();
        } finally {
            closeStream(inStream);
            closeStream(outStream);
        }
    }


    public static void copyFile(InputStream inStream, OutputStream outStream) /*throws IOException*/{
        byte[] buffer = new byte[8 * 1024];
        int len = 0;
        try {
            while ((len = inStream.read(buffer)) != -1) {
                outStream.write(buffer, 0, len);
            }
        }
        catch (IOException e) {
            e.printStackTrace();
        } finally {
            closeStream(inStream);
            closeStream(outStream);
        }
    }


    public static void copyFile(InputStream inStream, String outputFileName) {
        OutputStream outStream = null;
        try {
            outStream = new FileOutputStream(outputFileName);

            copyFile(inStream, outStream);
        }
        catch (FileNotFoundException e) {
            e.printStackTrace();
        } finally {
            closeStream(inStream);
            closeStream(outStream);
        }
    }


    public static void copyFile(String inputFileName, OutputStream outStream) {
        InputStream inStream = null;
        try {
            inStream = new FileInputStream(inputFileName);

            copyFile(inStream, outStream);
        }
        catch (FileNotFoundException e) {
            e.printStackTrace();
        } finally {
            closeStream(inStream);
            closeStream(outStream);
        }
    }


    public static void closeStream(InputStream stream) {
        try {
            stream.close();
        }
        catch (IOException e) {
            e.printStackTrace();
        }
    }


    public static void closeStream(OutputStream stream) {
        try {
            stream.flush();
            stream.close();
        }
        catch (IOException e) {
            e.printStackTrace();
        }
    }
}
 

حالا توی پاسخ اول هرجا نوشته بود copyFile تغییرش بدید به HelperIO.copyFile


پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .