Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Загрузка файла из сети, и его выполнение - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Борьба с фоновой музыкой http://www.cyberforum.ru/android-dev/thread931064.html
Моя задача - добавить в игру фоновую музыку. Пробовала http://www.cyberforum.ru/android-dev/thread868122.html так и http://stackoverflow.com/questions/16336960/android-playing-music-in-background...
Программирование Android Проигрывание музыки по очереди Есть список треков, как проиграть их поочереди. Использую MediaPlayer и MediaPlayer.OnCompletionListener, но он выполняется когда заканчивается первый трек и все... А как грузить следующие? ... http://www.cyberforum.ru/android-dev/thread931052.html
Программное добавление View Программирование Android
Доброго времени. Знаю что на эту тему много инфы, как на форуме так и на других ресурсах, но решения своей проблемы все же не нашел. суть вот в чем. есть активити в которую я могу добавлять View в её...
Как обновить значение в ячейке, используя условие? Программирование Android
как будет выглядеть условие в андроид на SqLite используя примерный синтаксис: db.update("myDB", newValues, id + "= ?", new String { value }); мне нужно обновить ячейку в столбце "С" где у столбца...
Программирование Android Отладка на устройсве http://www.cyberforum.ru/android-dev/thread931021.html
У меня LoagCat непоказывает логи при отладке на устройсве, в девайсе "Отладка USB" стоит, приложение из ADT на смартфон компилируется и запускается, а вот логи не показывает.... В чем проблема? p.s....
Программирование Android Grow heap (frag case) to 54 MB В программе для отображения информации использую 5 ImageView с Level-List. Все 5 xml файлов такого вида, различаются только ресурсы картинок <?xml version="1.0" encoding="utf-8"?> <level-list... подробнее

Показать сообщение отдельно
Sanu0074
58 / 58 / 2
Регистрация: 14.06.2010
Сообщений: 1,189
Записей в блоге: 5
31.07.2013, 15:38  [ТС]
Цитата Сообщение от V0v1k Посмотреть сообщение
какая ошибка вылетает?
Пределал, теперь ошибка: unfortunately has stopped

код:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
    
    private void downloadFile(String url) {
          final ProgressDialog progressDialog = new ProgressDialog(this);
         
          new AsyncTask<String, Integer, File>() {
           private Exception m_error = null;
         
           @Override
           protected void onPreExecute() {
            progressDialog.setMessage("Downloading ...");
            progressDialog.setCancelable(false);
            progressDialog.setMax(100);
            progressDialog
              .setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
         
            progressDialog.show();
           }
         
           @SuppressLint("SdCardPath")
        @Override
           protected File doInBackground(String... params) {
            URL url;
            HttpURLConnection urlConnection;
            InputStream inputStream;
            int totalSize;
            int downloadedSize;
            byte[] buffer;
            int bufferLength;
         
            //File file = null;
            
            File file = new File("/sdcard/mysdfile.apk");
            try {
                file.createNewFile();
            } catch (IOException e1) {
                // TODO Auto-generated catch block
                e1.printStackTrace();
            }
            
            FileOutputStream fos = null;
         
            try {
             url = new URL(params[0]);
             urlConnection = (HttpURLConnection) url.openConnection();
         
             urlConnection.setRequestMethod("GET");
             urlConnection.setDoOutput(true);
             urlConnection.connect();
         
             file = File.createTempFile("Mustachify", "download");
             fos = new FileOutputStream(file);
             inputStream = urlConnection.getInputStream();
         
             totalSize = urlConnection.getContentLength();
             downloadedSize = 0;
         
             buffer = new byte[1024];
             bufferLength = 0;
         
             // читаем со входа и пишем в выход, 
             // с каждой итерацией публикуем прогресс
             while ((bufferLength = inputStream.read(buffer)) > 0) {
              fos.write(buffer, 0, bufferLength);
              downloadedSize += bufferLength;
              publishProgress(downloadedSize, totalSize);
             }
         
             fos.close();
             inputStream.close();
         
             return file;
            } catch (MalformedURLException e) {
             e.printStackTrace();
             m_error = e;
            } catch (IOException e) {
             e.printStackTrace();
             m_error = e;
            }
         
            return null;
           }
         
           // обновляем progressDialog
           protected void onProgressUpdate(Integer... values) {
            progressDialog
              .setProgress((int) ((values[0] / (float) values[1]) * 100));
           };
         
           @SuppressLint("SdCardPath")
        @Override
           protected void onPostExecute(File file) {
            // отображаем сообщение, если возникла ошибка
            if (m_error != null) {
             m_error.printStackTrace();
             return;
            }
            // закрываем прогресс 
            progressDialog.hide();
 
 
            
            Intent promptInstall = new Intent(Intent.ACTION_VIEW)
            .setData(Uri.parse("/sdcard/mysdfile.apk"))
            .setType("application/vnd.android.package-archive");
            startActivity(promptInstall);
            
           }
          }.execute(url);
         }
Лог:
Код
07-31 10:42:57.852: I/Choreographer(1022): Skipped 40 frames!  The application may be doing too much work on its main thread.
07-31 10:43:00.323: D/dalvikvm(1022): GC_CONCURRENT freed 48K, 4% free 5452K/5656K, paused 115ms+59ms, total 402ms
07-31 10:43:00.393: W/System.err(1022): java.io.IOException: open failed: EACCES (Permission denied)
07-31 10:43:00.433: W/System.err(1022): 	at java.io.File.createNewFile(File.java:948)
07-31 10:43:00.493: W/System.err(1022): 	at com.net.homeandroid.AppActivity$1.doInBackground(AppActivity.java:115)
07-31 10:43:00.673: I/Choreographer(1022): Skipped 32 frames!  The application may be doing too much work on its main thread.
07-31 10:43:01.543: W/System.err(1022): 	at com.net.homeandroid.AppActivity$1.doInBackground(AppActivity.java:1)
07-31 10:43:01.543: W/System.err(1022): 	at android.os.AsyncTask$2.call(AsyncTask.java:287)
07-31 10:43:01.633: W/System.err(1022): 	at java.util.concurrent.FutureTask.run(FutureTask.java:234)
07-31 10:43:01.664: W/System.err(1022): 	at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230)
07-31 10:43:01.767: W/System.err(1022): 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
07-31 10:43:01.893: W/System.err(1022): 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
07-31 10:43:01.997: W/System.err(1022): 	at java.lang.Thread.run(Thread.java:856)
07-31 10:43:02.363: W/System.err(1022): Caused by: libcore.io.ErrnoException: open failed: EACCES (Permission denied)
07-31 10:43:02.553: W/System.err(1022): 	at libcore.io.Posix.open(Native Method)
07-31 10:43:02.553: W/System.err(1022): 	at libcore.io.BlockGuardOs.open(BlockGuardOs.java:110)
07-31 10:43:02.553: W/System.err(1022): 	at java.io.File.createNewFile(File.java:941)
07-31 10:43:02.647: W/System.err(1022): 	... 8 more
07-31 10:44:04.982: D/dalvikvm(1022): GC_CONCURRENT freed 883K, 16% free 5464K/6464K, paused 118ms+51ms, total 575ms
07-31 10:45:06.507: D/dalvikvm(1022): GC_CONCURRENT freed 965K, 17% free 5398K/6480K, paused 4ms+7ms, total 419ms
07-31 10:46:06.023: D/dalvikvm(1022): GC_CONCURRENT freed 874K, 17% free 5399K/6480K, paused 211ms+116ms, total 543ms
07-31 10:46:52.253: D/AndroidRuntime(1022): Shutting down VM
07-31 10:46:52.293: W/dalvikvm(1022): threadid=1: thread exiting with uncaught exception (group=0x40a71930)
07-31 10:46:52.403: E/AndroidRuntime(1022): FATAL EXCEPTION: main
07-31 10:46:52.403: E/AndroidRuntime(1022): android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW typ=application/vnd.android.package-archive }
07-31 10:46:52.403: E/AndroidRuntime(1022): 	at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1622)
07-31 10:46:52.403: E/AndroidRuntime(1022): 	at android.app.Instrumentation.execStartActivity(Instrumentation.java:1417)
07-31 10:46:52.403: E/AndroidRuntime(1022): 	at android.app.Activity.startActivityForResult(Activity.java:3370)
07-31 10:46:52.403: E/AndroidRuntime(1022): 	at android.app.Activity.startActivityForResult(Activity.java:3331)
07-31 10:46:52.403: E/AndroidRuntime(1022): 	at android.app.Activity.startActivity(Activity.java:3566)
07-31 10:46:52.403: E/AndroidRuntime(1022): 	at android.app.Activity.startActivity(Activity.java:3534)
07-31 10:46:52.403: E/AndroidRuntime(1022): 	at com.net.homeandroid.AppActivity$1.onPostExecute(AppActivity.java:189)
07-31 10:46:52.403: E/AndroidRuntime(1022): 	at com.net.homeandroid.AppActivity$1.onPostExecute(AppActivity.java:1)
07-31 10:46:52.403: E/AndroidRuntime(1022): 	at android.os.AsyncTask.finish(AsyncTask.java:631)
07-31 10:46:52.403: E/AndroidRuntime(1022): 	at android.os.AsyncTask.access$600(AsyncTask.java:177)
07-31 10:46:52.403: E/AndroidRuntime(1022): 	at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:644)
07-31 10:46:52.403: E/AndroidRuntime(1022): 	at android.os.Handler.dispatchMessage(Handler.java:99)
07-31 10:46:52.403: E/AndroidRuntime(1022): 	at android.os.Looper.loop(Looper.java:137)
07-31 10:46:52.403: E/AndroidRuntime(1022): 	at android.app.ActivityThread.main(ActivityThread.java:5041)
07-31 10:46:52.403: E/AndroidRuntime(1022): 	at java.lang.reflect.Method.invokeNative(Native Method)
07-31 10:46:52.403: E/AndroidRuntime(1022): 	at java.lang.reflect.Method.invoke(Method.java:511)
07-31 10:46:52.403: E/AndroidRuntime(1022): 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
07-31 10:46:52.403: E/AndroidRuntime(1022): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
07-31 10:46:52.403: E/AndroidRuntime(1022): 	at dalvik.system.NativeStart.main(Native Method)
07-31 10:47:03.142: I/Process(1022): Sending signal. PID: 1022 SIG: 9
07-31 10:47:04.812: E/Trace(1644): error opening trace file: No such file or directory (2)
Добавлено через 24 минуты
Так сделал, пишет "Сбой разбора пакета":
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
protected void onPostExecute(File file) {
            // отображаем сообщение, если возникла ошибка
            if (m_error != null) {
             m_error.printStackTrace();
             return;
            }
            // закрываем прогресс и удаляем временный файл
            progressDialog.hide();
            //file.delete();
            
            Intent intent = new Intent(Intent.ACTION_VIEW);
            intent.setDataAndType(Uri.fromFile(file),
                    "application/vnd.android.package-archive");
            startActivity(intent);
            
           }
          }.execute(url);
         }
Добавлено через 26 минут
Еще раз переделал, всеравно сбой разбора пакета:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
private void downloadFile(String url) {
          final ProgressDialog progressDialog = new ProgressDialog(this);
         
          new AsyncTask<String, Integer, File>() {
           private Exception m_error = null;
         
           @Override
           protected void onPreExecute() {
            progressDialog.setMessage("Downloading ...");
            progressDialog.setCancelable(false);
            progressDialog.setMax(100);
            progressDialog
              .setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
         
            progressDialog.show();
           }
         
           @Override
           protected File doInBackground(String... params) {
            URL url;
            HttpURLConnection urlConnection;
            InputStream inputStream;
            int totalSize;
            int downloadedSize;
            byte[] buffer;
            int bufferLength;
         
            File file = null;
            FileOutputStream fos = null;
         
            try {
             url = new URL(params[0]);
             urlConnection = (HttpURLConnection) url.openConnection();
         
             urlConnection.setRequestMethod("GET");
             urlConnection.setDoOutput(true);
             urlConnection.connect();
         
             file = File.createTempFile("aapfromurl", ".apk");
             fos = new FileOutputStream(file);
             inputStream = urlConnection.getInputStream();
         
             totalSize = urlConnection.getContentLength();
             downloadedSize = 0;
         
             buffer = new byte[1024];
             bufferLength = 0;
         
             // читаем со входа и пишем в выход, 
             // с каждой итерацией публикуем прогресс
             while ((bufferLength = inputStream.read(buffer)) > 0) {
              fos.write(buffer, 0, bufferLength);
              downloadedSize += bufferLength;
              publishProgress(downloadedSize, totalSize);
             }
         
             fos.close();
             inputStream.close();
         
             return file;
            } catch (MalformedURLException e) {
             e.printStackTrace();
             m_error = e;
            } catch (IOException e) {
             e.printStackTrace();
             m_error = e;
            }
         
            return null;
           }
         
           // обновляем progressDialog
           protected void onProgressUpdate(Integer... values) {
            progressDialog
              .setProgress((int) ((values[0] / (float) values[1]) * 100));
           };
         
           @Override
           protected void onPostExecute(File file) {
            // отображаем сообщение, если возникла ошибка
            if (m_error != null) {
             m_error.printStackTrace();
             return;
            }
            // закрываем прогресс и удаляем временный файл
            progressDialog.hide();
            //file.delete();
 
 
            Intent intent = new Intent(Intent.ACTION_VIEW);
            intent.setDataAndType(Uri.fromFile(file), "application/vnd.android.package-archive");
            startActivity(intent);
            
           }
          }.execute(url);
         }
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru