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

Программирование Android

Войти
Регистрация
Восстановить пароль
 
NOSC
43 / 43 / 3
Регистрация: 10.10.2013
Сообщений: 297
#1

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

01.11.2014, 22:14. Просмотров 642. Ответов 4
Метки нет (Все метки)

Всем привет!
Написал ПО, которое собирает базу данных, потом по задумке пользователь должен отправить мне этот файл базы данных, но стандартными средствами, когда сообщение формируется в почтовом клиенте файл отправить нельзя, так как он лежит в папке ПО, к которой нет доступа у других приложений.
Посоветуйте как лучше сделать, может можно в программу клиент встроить, но тогда каким образом она отправлять будет файл, ведь не будет настроен никакой почтовый ящик.
Спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.11.2014, 22:14
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Отправка файлов из программы (Программирование Android):

Отправка смс, где номер и соообщение берутся из удалённых файлов - Программирование Android
Всем привет. Есть магазин по продаже ICQ номеров разной степени длины. Суть в том, что бы пользователь андроида QR кодом скачивал...

Циклический запуск программы для файлов в папке, имена файлов в виде параметров для программы - CMD/BAT
Имеется задача - с помощью bat файла циклически запускать программу convert.exe для всех файлов в папке с расширением *.blok. Вывести...

Отправка файлов по почте - PHP
Приветствую! Подскажите пожалуйста, как организовать: Есть отправка сообщения на почту с пмоощью функции mail, нужно 1. Отправить...

Отправка сообщений, файлов и т.д - C#
Всем привет! Недавно решил поработать с сетью и сразу встал вопрос: нашёл на этом форуме код: using System; using System.Net; ...

Отправка файлов PHP - PHP
На сервере есть php файл: <?php $uploaddir = 'papka/'; if (move_uploaded_file($_FILES, $uploaddir. $_FILES)) { print "File...

Отправка файлов на почту - PowerShell
Как отправить файлы на почтовый ящик? Как просто письмо отправить, я разобрался: $EmailFrom = 'admin@mail.ru' $EmailTo =...

4
CoolMind
421 / 404 / 65
Регистрация: 06.10.2012
Сообщений: 1,734
03.11.2014, 18:17 #2
NOSC, здравствуй!
Недавно делал схожую операцию. Требовалось отправить самому себе файл, скачиваемый с сервера, при помощи электронной почты. Верно замечено, что файл на нерутованном устройстве будет недоступен для сторонних программ. В этом случае вам следует сделать следующее:
1) почитать про работу с картой памяти,
2) определить, что она есть, доступна для записи, и скопировать файл туда в некоторую папку,
3) вызвать E-mail клиент и заполнить некоторые поля (тема, сообщение, вложенный файл),
4) по окончании работы или, может быть, при рестарте активности удалить файл с карты памяти.
0
NOSC
43 / 43 / 3
Регистрация: 10.10.2013
Сообщений: 297
05.11.2014, 22:38  [ТС] #3
Цитата Сообщение от CoolMind Посмотреть сообщение
2) определить, что она есть
А можно тогда копировать не на карту памяти а в память телефона?? я делал подобное, но как раз была проблема что человек с Гуглопланшетом не смог воспользоваться как раз по той причине что на нем не было карты SD
0
CoolMind
421 / 404 / 65
Регистрация: 06.10.2012
Сообщений: 1,734
06.11.2014, 00:49 #4
NOSC, в общем, я не знаю, про какую марку устройства идёт речь, но слышал, что в версии 4.4 внедрили новую схему работы с картами памяти. Не помню, как это звучит, но по умолчанию карты памяти не имеют значения, и все данные копируются в память устройства, а не на карту памяти, как хотелось бы.
По вашему вопросу пока ничего сказать не могу, не пробовал. Может быть, и можно это как-то сделать, почитайте, потом нам расскажете.

Добавлено через 15 минут
Поискал, но пока не нашёл. Сомнения берут, что даже если такое возможно, другие программы смогут прочитать такой файл.
0
NOSC
43 / 43 / 3
Регистрация: 10.10.2013
Сообщений: 297
14.11.2014, 14:54  [ТС] #5
В общем я сделал вот так:
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
void copy() {
          String destFile = Environment.getExternalStorageDirectory().toString().concat("/metro.db");
 
            try {
                File file = new File(destFile);
                // откуда копируем
                InputStream in = getAssets().open("/metro.db");
 
                OutputStream out = new FileOutputStream(file);
 
                byte[] buf = new byte[1024];
 
                int len;
 
                while ((len = in.read(buf)) > 0) {
                    out.write(buf, 0, len);
                }
 
                in.close();
                out.close();
 
                System.out.println("Файл скопирован.");
 
            } catch (FileNotFoundException ex) {
                System.out
                        .println(ex.getMessage() + " in the specified directory.");
            } catch (IOException e) {
                System.out.println(e.getMessage());
            }
      }
Но что-то не правильно, потому что в логах
11-14 14:03:23.623: I/System.out(2992): /metro.db in the specified directory.
База соответственно находится в /data/data/<имя пакета>/databases/metro.db
Предполагаю что неправильно здесь
InputStream in = getAssets().open("/metro.db");
Думал что возможно стоит "/databases/metro.db" написать, но эффект тот же

Добавлено через 48 минут
Цитата Сообщение от NOSC Посмотреть сообщение
Предполагаю что неправильно здесь
InputStream in = getAssets().open("/metro.db");
Решено! Файл не в assets на момент работы программы ведь, по этому:
InputStream in = new FileInputStream ("/data/data/<имя пакета>/databases/metro.db");
0
14.11.2014, 14:54
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.11.2014, 14:54
Привет! Вот еще темы с ответами:

Отправка файлов на e-mail - Perl
надо отправить отчеты на определенное мыло напишите пример отправки плиз

Отправка файлов на почту - PHP
Здравствуйте! Подскажите, пожалуйста, как реализовать такую функцию: у меня на обычной HTML страничке, есть поле e-mail и есть поля с...

Отправка файлов на e-mail - C (СИ)
Напишите, пожалуйста, как отправить несколько определенных фалов на e-mail так, чтобы пользователь не узнал об этом.

Отправка файлов по почте - CMD/BAT
Сделал бат который делает резервное копирование важных файлов, и у меня не получается сделать так что бы эти файлы отправлялись на почту,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.