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

مشکل برنامه Downloader

h@ss@n  8 سال پیش  8 سال پیش
0 0

سلام دوستان ، در این پروژه داخل  SD-CARD  برام فولدر  file-downloder  رو می سازه ولی داخلش فایل  sample-image.png   رو نمی سازه . هیچ اروری ندارم . روی امولیتور جدید و روی گوشی هم امتحان کردم ولی همین مشکل رو دارم . تو انجمن هم سرچ کردم ولی مشکلم حل نشد. کدها رو میزارم به نظرتون مشکل از کجاست ؟. در manifest.xml هم پرمیشن اندروید و نوشتن رو External Storage رو زدم . 

 

Main Activity///////////////////////////////////////////////

package hassan.mosavi.app.downlaoder;

import android.app.Activity;
import android.os.AsyncTask;
import android.os.Bundle;
import android.widget.Toast;


public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main_activity);

new MyAsynctask().execute();

}


public class MyAsynctask extends AsyncTask<Void, Void, Boolean> {

@Override
protected Boolean doInBackground(Void... params) {

FileDownloader.download("http://192.168.1.49/file-server/img-2.png", G.DIR_APP + "/sample-image.png");
return null;

}


@Override
protected void onPostExecute(Boolean result) {
Toast.makeText(G.context, "finish", Toast.LENGTH_SHORT).show();
}

}
}

Class G////////////////////////////////////////////////

package hassan.mosavi.app.downlaoder;

import java.io.File;
import android.app.Application;
import android.content.Context;
import android.os.Environment;


public class G extends Application {

public static Context context;
public static final String DIR_SDCARD = Environment.getExternalStorageDirectory().getAbsolutePath();
public static final String DIR_APP = DIR_SDCARD + "/file-downloader";
public static final int DONLOAD_BUFFER_SIZE = 8 * 1024;


@Override
public void onCreate() {
super.onCreate();
context = this.getApplicationContext();
new File(DIR_APP).mkdirs();
}
}

File Download///////////////////////////////////////////////////////////

package hassan.mosavi.app.downlaoder;

import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;


public class FileDownloader {

public static void download(final String downloadpath, final String filepath) {

try {
URL url = new URL(downloadpath);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
connection.setDoOutput(true);
connection.connect();

FileOutputStream outputstream = new FileOutputStream(filepath);

InputStream inputStream = connection.getInputStream();
byte[] buffer = new byte[G.DONLOAD_BUFFER_SIZE];
int len = 0;
while ((len = inputStream.read(buffer)) != -1) {
outputstream.write(buffer, 0, len);

}
inputStream.close();

outputstream.close();
}
catch (MalformedURLException e) {
e.printStackTrace();
}
catch (IOException e) {
e.printStackTrace();
}

}

}

باتشکر

 

0 0
من تو سوال قبلی شما یک پاسخی دادم. مفید.نبود؟ (8 سال پیش)
0 0
07-04 23:05:20.754: E/AndroidRuntime(30244): FATAL EXCEPTION: main 07-04 23:05:20.754: E/AndroidRuntime(30244): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{hassan.mosavi.app.downlaoder/hassan.mosavi.app.downlaoder.ActivityMain}: java.lang.ClassNotFoundException: hassan.mosavi.app.downlaoder.ActivityMain in loader dalvik.system.PathClassLoader[/data/app/hassan.mosavi.app.downlaoder-2.apk] 07-04 23:05:20.754: E/AndroidRuntime(30244):at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2585) 07-04 23:05:20.754: E/AndroidRuntime(30244): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679) 07-04 23:05:20.754: E/AndroidRuntime(30244): at android.app.ActivityThread.access$2300(ActivityThread.java:125) 07-04 23:05:20.754: E/AndroidRuntime(30244): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033) 07-04 23:05:20.754: E/AndroidRuntime(30244): at android.os.Handler.dispatchMessage(Handler.java:99) 07-04 23:05:20.754: E/AndroidRuntime(30244): at android.os.Looper.loop(Looper.java:123) 07-04 23:05:20.754: E/AndroidRuntime(30244): at android.app.ActivityThread.main(ActivityThread.java:4627) 07-04 23:05:20.754: E/AndroidRuntime(30244): at java.lang.reflect.Method.invokeNative(Native Method) 07-04 23:05:20.754: E/AndroidRuntime(30244): at java.lang.reflect.Method.invoke(Method.java:521) 07-04 23:05:20.754: E/AndroidRuntime(30244): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868) 07-04 23:05:20.754: E/AndroidRuntime(30244): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626) 07-04 23:05:20.754: E/AndroidRuntime(30244): at dalvik.system.NativeStart.main(Native Method) 07-04 23:05:20.754: E/AndroidRuntime(30244): Caused by: java.lang.ClassNotFoundException: hassan.mosavi.app.downlaoder.ActivityMain in loader dalvik.system.PathClassLoader[/data/app/hassan.mosavi.app.downlaoder-2.apk] 07-04 23:05:20.754: E/AndroidRuntime(30244): at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:243) 07-04 23:05:20.754: E/AndroidRuntime(30244): at java.lang.ClassLoader.loadClass(ClassLoader.java:573) 07-04 23:05:20.754: E/AndroidRuntime(30244): at java.lang.ClassLoader.loadClass(ClassLoader.java:532) 07-04 23:05:20.754: E/AndroidRuntime(30244): at android.app.Instrumentation.newActivity(Instrumentation.java:1021) 07-04 23:05:20.754: E/AndroidRuntime(30244): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2577) 07-04 23:05:20.754: E/AndroidRuntime(30244): ... 11 more با این ارور مواجه شدم (8 سال پیش)
0 0
سلا م جناب Hadi مشکل حل نشد. (8 سال پیش)
0 0
سلام. والا نمیدونم. اما برای خوانایی بیشتر سوالاتون رو ویرایش کنید و کلید در محل درج پاسخ انتخاب کنید و بعد کدتون رو درج کنید تا راحت تر بشه خوندنش. (8 سال پیش)
0 0
کلید انتخاب کنید. (8 سال پیش)
 برای این سوال 2 پاسخ وجود دارد.
پاسخ به سوال 
h@ss@n  8 سال پیش
0 0

 سلام 

نه مشکل حل نشد

 

پاسخ به سوال 
Hadi  8 سال پیش
0 0

برای خوانایی بیشتر کد علامتی که تو عکس زیر هست رو انتخاب کنید و بعد کدتون رو درج کنید تا راحت تر بشه خواندش. برای اینکار هم پاسخ جدیدی ندید و روی ویرایش کنار سوالتون در بالا کلیک کنید.


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