Transfer apps to Samsung Galaxy Tab tab

I develop the application as desired by HTC. This is normal. The application, at the click of a button, downloads the file from my web server and saves it on the SD card.

Now I want to run this application on my Samsung Galaxy Tab tab. However, a failure occurs when the button is pressed.

The only reason I can see is that the tab does not allow access to the SD card. Is it the same SD card as the HTC Deisre phone, and is it not write protected or something else?

Does anyone know what could be wrong?

This is the code that I use to upload a file and save it on a map ...

class CreatefilesTask extends AsyncTask<Object, Integer, Boolean> { protected Boolean doInBackground(Object... arg0) { try{ URL url = new URL("http://213.143.36.32/file.csv"); URLConnection conexion = url.openConnection(); conexion.connect(); int lenghtOfFile = conexion.getContentLength(); InputStream is = url.openStream(); File testDirectory = new File(Environment.getExternalStorageDirectory()+"/File"); if(!testDirectory.exists()){ testDirectory.mkdir(); } FileOutputStream fos = new FileOutputStream(testDirectory+"/file.csv"); 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; } fos.write(data, 0, count); } is.close(); fos.close(); } catch(Exception e){ e.printStackTrace(); } 

It works great on Desire.

Stacktrace ..

 03-31 12:45:07.823: INFO/PowerManagerService(2494): Ulight 3->7|0 03-31 12:45:07.831: VERBOSE/WindowManager(2494): Delivering toWindow{48419208 com.android.qservices/com.android.qservices.AdminActivity paused=false} 03-31 12:45:07.898: VERBOSE/WindowManager(2494): Delivering toWindow{48419208 com.android.qservices/com.android.qservices.AdminActivity paused=false} 03-31 12:45:08.261: WARN/System.err(5314): java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare() 03-31 12:45:08.261: WARN/System.err(5314): at android.os.Handler.<init>(Handler.java:121) 03-31 12:45:08.265: WARN/System.err(5314): at android.widget.Toast.<init>(Toast.java:77) 03-31 12:45:08.265: WARN/System.err(5314): at android.widget.Toast.makeText(Toast.java:266) 03-31 12:45:08.269: WARN/System.err(5314): at com.android.qservices.AdminActivity$CreatefilesTask.doInBackground(AdminActivity.java:117) 03-31 12:45:08.269: WARN/System.err(5314): at com.android.qservices.AdminActivity$CreatefilesTask.doInBackground(AdminActivity.java:1) 03-31 12:45:08.269: WARN/System.err(5314): at android.os.AsyncTask$2.call(AsyncTask.java:185) 03-31 12:45:08.269: WARN/System.err(5314): at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305) 03-31 12:45:08.273: WARN/System.err(5314): at java.util.concurrent.FutureTask.run(FutureTask.java:137) 03-31 12:45:08.273: WARN/System.err(5314): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1068) 03-31 12:45:08.273: WARN/System.err(5314): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:561) 03-31 12:45:08.273: WARN/System.err(5314): at java.lang.Thread.run(Thread.java:1096) 03-31 12:45:08.280: WARN/System.err(5314): java.io.FileNotFoundException: /mnt/sdcard/File/file.csv (No such file or directory) 03-31 12:45:08.284: WARN/System.err(5314): at org.apache.harmony.luni.platform.OSFileSystem.openImpl(Native Method) 03-31 12:45:08.284: WARN/System.err(5314): at org.apache.harmony.luni.platform.OSFileSystem.open(OSFileSystem.java:152) 03-31 12:45:08.288: WARN/System.err(5314): at java.io.FileInputStream.<init>(FileInputStream.java:82) 03-31 12:45:08.288: WARN/System.err(5314): at com.android.qservices.AdminActivity$CreatefilesTask.doInBackground(AdminActivity.java:148) 03-31 12:45:08.288: WARN/System.err(5314): at com.android.qservices.AdminActivity$CreatefilesTask.doInBackground(AdminActivity.java:1) 03-31 12:45:08.288: WARN/System.err(5314): at android.os.AsyncTask$2.call(AsyncTask.java:185) 03-31 12:45:08.292: WARN/System.err(5314): at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305) 03-31 12:45:08.292: WARN/System.err(5314): at java.util.concurrent.FutureTask.run(FutureTask.java:137) 03-31 12:45:08.292: WARN/System.err(5314): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1068) 03-31 12:45:08.296: WARN/System.err(5314): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:561) 03-31 12:45:08.296: WARN/System.err(5314): at java.lang.Thread.run(Thread.java:1096) 
+6
android
source share
3 answers

Found the answer! On the Galaxy tab, not only / sdcard is stored, it is / sdcard / external_sd /

+2
source share

Samsung Galaxy Tab has a good amount of internal flash memory. Therefore, Environment.getExternalStorageDirectory() returns /mnt/sdcard/ , but it is actually internal storage. The actual external storage is located in /mnt/sdcard/external_sd/ . See this post for more details.

+4
source share

I assume this line is causing problems:

 new FileOutputStream(testDirectory+"/file.csv"); 

First create the file directory, but according to your glass you are trying to access file.csv in the file.csv root folder. Therefore, I assume that you cannot simply add the .csv file to your testDirectory variable of type file .

+1
source share

All Articles