بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
سوال: فولدر با عکس
سلام دوستان
دیدید بعضی برنامه ها مثل خود بازار و تلگرام لوگو برنامشون رو فولدری که مربوط به اون برنامس میفته و مثل فولدرای دیگه خالی نیست عکسش؟
چطور اینکارو می کنن؟
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
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .