>我正在使用512MB的SD卡在设备模拟器API API 3(版本1.5)中执行代码.我用“擦除数据用户”启动设备
> conexion.getContentLength()的大小长度为7012725
>服务器地址是localhost(10.0.2.2),但我尝试使用外部服务器,行为是一样的.我已经检查过,我可以通过网络浏览器下载文件.
>我在清单文件中有这些权限:
–
<uses-permission android:name="android.permission.INTERNET"></uses-permission> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
错误:
>它开始下载文件,我可以看到文字10,20,30,40,50,然后停止在60.
>一段时间后,仿真器重新启动.
解决方法:
> This问题在stackoverflow是在设备中工作,而不是在我的情况.
>关于这个wifi锁issue我所做的是添加这个权限“android.permission.WAKE_LOCK”然后这段代码,但与完全相同的行为:
WifiManager.WifiLock wifilock;
WifiManager manager =(WifiManager)getSystemService(Context.WIFI_SERVICE);
wifilock = manager.createWifiLock(“wifilock”);
wifilock.acquire();
…
wifilock.release();
这是代码,它正在单独的线程中执行:
private void downloadData(){ try{ Log.v(TAG,"downloading data"); URL url = new URL("http://10.0.2.2/1.zip"); URLConnection connection = url.openConnection(); connection.connect(); int lenghtOfFile = connection.getContentLength(); Log.v(TAG,"lenghtOfFile = "+lenghtOfFile); InputStream is = url.openStream(); File testDirectory = new File(Environment.getExternalStorageDirectory()+"/testDirectory/"); if(!testDirectory.exists()){ testDirectory.mkdir(); } FileOutputStream fos = new FileOutputStream(testDirectory+"/files.zip"); byte data[] = new byte[1024]; int count = 0; long total = 0; int progress = 0; while ((count=is.read(data)) != -1) { total += count; int progress_temp = (int)total*100/lenghtOfFile; if(progress_temp%10 == 0 && progress != progress_temp){ progress = progress_temp; Log.v(TAG,"total = "+progress); } fos.write(data,count); } is.close(); fos.close(); Log.v(TAG,"downloading finished"); }catch(Exception e){ Log.v(TAG,"exception in downloadData"); e.printStackTrace(); } }
任何线索?
非常感谢你.
更新更多的日志描述:
Hi Chris,I’ve tried to discover what
was going on at first with this log in
the Eclipse environment. Here are a
little bit more detail about what is
happening (time – action),note that
I’ve changed the file to download for
another one in orther to do more
tests,but the results are quite the
same:
00:00 It starts downloading: V/iPhoto ( 853): downloading data V/iPhoto ( 853): lenghtOfFile = 7732809 V/iPhoto ( 853): total = 10 V/iPhoto ( 853): total = 20 V/iPhoto ( 853): total = 30 V/iPhoto ( 853): total = 40 V/iPhoto ( 853): total = 50 (round 00:05) -> Here it stops and the DDMS disconnects the device immediately 03:40 It finish the download (not always) and the device reboots on its own: I/Process ( 595): Sending signal. PID: 595 SIG: 3 I/dalvikvm( 595): threadid=7: reacting to signal 3 D/dalvikvm( 722): GC freed 2193 objects / 135808 bytes in 176 sec V/iPhoto ( 853): total = 60 I/dalvikvm( 595): Wrote stack trace to '/data/anr/traces.txt' I/ActivityManager( 595): Process com.google.android.apps.maps:FriendService (pid 778) has died. I/ActivityManager( 595): Process com.android.mms (pid 732) has died. V/iPhoto ( 853): total = 70 V/iPhoto ( 853): total = 80 V/iPhoto ( 853): total = 90 V/iPhoto ( 853): total = 100 V/iPhoto ( 853): downloading finished V/iPhoto ( 853): thread finish loading I/Process ( 595): Sending signal. PID: 595 SIG: 9 I/ActivityThread( 757): Removing dead content provider: settings I/ActivityThread( 748): Removing dead content provider: settings I/ActivityThread( 722): Removing dead content provider: settings I/ActivityThread( 700): Removing dead content provider: settings I/ServiceManager( 549): service 'package' died ... services dying... I/ServiceManager( 549): service 'wifi' died E/installd( 557): eof E/installd( 557): Failed to read size I/installd( 557): closing connection D/qemud ( 560): fdhandler_event: disconnect on fd 11 D/qemud ( 560): fdhandler_event: disconnect on fd 12 E/vold ( 550): Framework disconnected I/Zygote ( 554): Exit zygote because system server (595) has terminated I/ServiceManager( 549): service 'simphonebook' died I/ServiceManager( 549): service 'isms' died I/ServiceManager( 549): service 'iphonesubinfo' died I/ServiceManager( 549): service 'phone' died D/AndroidRuntime( 949): D/AndroidRuntime( 949): >>>>>>>>>>>>>> AndroidRuntime START <<<<<<<<<<<<<< ... and starting ...