Урок 75. Хранение данных. Работа с файлами.

Обсуждение уроков
Аватара пользователя
rezak90
Сообщения: 3422
Зарегистрирован: 26 июн 2012, 13:22
Откуда: UA
Контактная информация:

Re: Урок 75. Хранение данных. Работа с файлами.

Сообщение rezak90 » 18 сен 2012, 14:02

di16 писал(а):ошибки то как раз-то никакой не вылетает...все работает...просто файл пустой из-за этого не могу получить данные из него
смотрела пошагам как доходит до os.writeObject(data); сразу перескакивает в catch ..но и ошибок не выдает.. в чем фигня не понимаю...зато когда вместо List<ContactItem> data, List<String> data то все работает и записывает
ну так если в catch попадает то уже есть ошибка, зачем же ставить пустой catch тогда?
скорее всего в ContactItem нужно переопределить метод getString()
R.id.team
Политика на форуме запрещена

di16
Сообщения: 6
Зарегистрирован: 13 сен 2012, 14:26

Re: Урок 75. Хранение данных. Работа с файлами.

Сообщение di16 » 18 сен 2012, 17:10

все огромное спасибо! оч помогло! =)

arthur07
Сообщения: 6
Зарегистрирован: 04 ноя 2012, 20:06

Re: Урок 75. Хранение данных. Работа с файлами.

Сообщение arthur07 » 05 ноя 2012, 13:50

Здравствуйте. Возник вот такой вопрос. У меня есть список файлов в формате txt. Скажем, биографии, например, 1.txt, 2.txt и т.д. Разумна ли мысль, разместить все эти файлы в созданную папку res/data, а потом в зависимости от нужного номера файла доставать оттуда?

Аватара пользователя
rezak90
Сообщения: 3422
Зарегистрирован: 26 июн 2012, 13:22
Откуда: UA
Контактная информация:

Re: Урок 75. Хранение данных. Работа с файлами.

Сообщение rezak90 » 05 ноя 2012, 13:56

а зачем создали SQLite? думаю что ваш подход неразумный.
R.id.team
Политика на форуме запрещена

AndreyI
Сообщения: 372
Зарегистрирован: 14 май 2012, 16:18

Re: Урок 75. Хранение данных. Работа с файлами.

Сообщение AndreyI » 05 ноя 2012, 15:50

arthur07 писал(а):Здравствуйте. Возник вот такой вопрос. У меня есть список файлов в формате txt. Скажем, биографии, например, 1.txt, 2.txt и т.д. Разумна ли мысль, разместить все эти файлы в созданную папку res/data, а потом в зависимости от нужного номера файла доставать оттуда?
Только как вы их оттуда достанете? Прямого доступа к файлу пакета у вас нет, к ресурсам доступ осуществляется через менеджеры ресурсов, которые понимают только папки с предопределенными именами.
Произвольные файлы с возможностью доступа к ним помещаются в assets (доступ можно получить через AssetManager) либо res/raw (доступ через Resources.openRawResource())

arthur07
Сообщения: 6
Зарегистрирован: 04 ноя 2012, 20:06

Re: Урок 75. Хранение данных. Работа с файлами.

Сообщение arthur07 » 06 ноя 2012, 00:22

Тогда лучше всего эти данные хранить в бд?

Аватара пользователя
rezak90
Сообщения: 3422
Зарегистрирован: 26 июн 2012, 13:22
Откуда: UA
Контактная информация:

Re: Урок 75. Хранение данных. Работа с файлами.

Сообщение rezak90 » 06 ноя 2012, 00:45

если их не так уж много то да
R.id.team
Политика на форуме запрещена

arthur07
Сообщения: 6
Зарегистрирован: 04 ноя 2012, 20:06

Re: Урок 75. Хранение данных. Работа с файлами.

Сообщение arthur07 » 06 ноя 2012, 10:21

там статьи, штук 100 примерно как википедия статья средняя. мне главное понять, каким образом лучше сохранить эти данные: в файлах или в базе))

Аватара пользователя
rezak90
Сообщения: 3422
Зарегистрирован: 26 июн 2012, 13:22
Откуда: UA
Контактная информация:

Re: Урок 75. Хранение данных. Работа с файлами.

Сообщение rezak90 » 06 ноя 2012, 10:56

тогда в базе, более гибче и надёжней
R.id.team
Политика на форуме запрещена

arthur07
Сообщения: 6
Зарегистрирован: 04 ноя 2012, 20:06

Re: Урок 75. Хранение данных. Работа с файлами.

Сообщение arthur07 » 06 ноя 2012, 11:58

хорошо) спасибо большое) буду с базой работать)

Al.x
Сообщения: 14
Зарегистрирован: 20 ноя 2012, 23:36

Re: Урок 75. Хранение данных. Работа с файлами.

Сообщение Al.x » 30 ноя 2012, 01:13

math64 писал(а):4-ю строку можно написать в том же виде, что и 8-ю, тогда '/' Андроид сам вставит.
это не так. просто склеит строки - только что проверил.

Аватара пользователя
Xroft
Сообщения: 38
Зарегистрирован: 10 май 2012, 10:11

Re: Урок 75. Хранение данных. Работа с файлами.

Сообщение Xroft » 20 янв 2013, 14:15

Большое спасибо за полезный и понятный урок.
Но как быть если нужно файл записать и/или прочитать на FTP ресурсе. Тема по моему интересная и актуальная, но к сожалению практически нет инфы по ней.
нашел статью http://wiki-android.blogspot.com/2012/1 ... t-ftp.html
выкачал, подцепил библиотечку, но что то у меня не хочет работать.

Ткните пожалуйста на рабочее описание реализации.
А вообще будет обалденно увидеть урок по этой теме.
Заранее спасибо!

Аватара пользователя
rezak90
Сообщения: 3422
Зарегистрирован: 26 июн 2012, 13:22
Откуда: UA
Контактная информация:

Re: Урок 75. Хранение данных. Работа с файлами.

Сообщение rezak90 » 20 янв 2013, 14:34

мало инфы? мне гугл выдал более 15млн страниц =)
я бы в свою очередь рекомендовал бы использовать апачевские классы: http://commons.apache.org/net/api-3.2/o ... lient.html
R.id.team
Политика на форуме запрещена

Аватара пользователя
Xroft
Сообщения: 38
Зарегистрирован: 10 май 2012, 10:11

Re: Урок 75. Хранение данных. Работа с файлами.

Сообщение Xroft » 20 янв 2013, 20:35

rezak90 писал(а):мало инфы? мне гугл выдал более 15млн страниц =)
я бы в свою очередь рекомендовал бы использовать апачевские классы: http://commons.apache.org/net/api-3.2/o ... lient.html
Так то понятно, что гугл может выдать .... хотелось бы какого то внятного описания (желательно на русском), а лучше простой рабочий пример:)

Аватара пользователя
rezak90
Сообщения: 3422
Зарегистрирован: 26 июн 2012, 13:22
Откуда: UA
Контактная информация:

Re: Урок 75. Хранение данных. Работа с файлами.

Сообщение rezak90 » 20 янв 2013, 20:48

Xroft писал(а):
rezak90 писал(а):мало инфы? мне гугл выдал более 15млн страниц =)
я бы в свою очередь рекомендовал бы использовать апачевские классы: http://commons.apache.org/net/api-3.2/o ... lient.html
Так то понятно, что гугл может выдать .... хотелось бы какого то внятного описания (желательно на русском), а лучше простой рабочий пример:)
я же дал ссылку на оф доку, там и пример есть

а на счёт
желательно на русском
а ещё желательней что бы и на видео показали да ещё и с русскими комментариями :)
R.id.team
Политика на форуме запрещена

v_grechka
Сообщения: 20
Зарегистрирован: 09 авг 2012, 13:30

Re: Урок 75. Хранение данных. Работа с файлами.

Сообщение v_grechka » 27 фев 2013, 16:58

Для того, чтобы побороть кодировку можно испоьзовать такую конструкцию

Код: Выделить всё

FileInputStream fis = new FileInputStream(sdFile);
    	  
        BufferedReader  br = new BufferedReader(new InputStreamReader(fis, "windows-1251"));
вместо

Код: Выделить всё

BufferedReader br = new BufferedReader(new FileReader(sdFile));

v_grechka
Сообщения: 20
Зарегистрирован: 09 авг 2012, 13:30

Re: Урок 75. Хранение данных. Работа с файлами.

Сообщение v_grechka » 11 мар 2013, 08:58

Вопрос... как быстро прочитать файл строк так на 10 000?
этой строчкой мы читаем в объект BufferedReader

Код: Выделить всё

br_utf8 = new BufferedReader(new InputStreamReader(new FileInputStream(sdFile), "utf-8"));	
В цикле выполняем построчное считывание

Код: Выделить всё

while ((str_2 = br_utf8.readLine()) != null)

чтобы потом скормить ХМЛ парсеру.
А как-то не построчно можно?

v_grechka
Сообщения: 20
Зарегистрирован: 09 авг 2012, 13:30

Re: Урок 75. Хранение данных. Работа с файлами.

Сообщение v_grechka » 11 мар 2013, 11:46

Сам спросил, сам и отвечаю :)
В обсуждении 79-го урока нашел

Код: Выделить всё

XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
factory.setNamespaceAware(true);
XmlPullParser parser = factory.newPullParser();
File file = new File(Environment.getExternalStorageDirectory()+ "/new.xml");
FileInputStream fis = new FileInputStream(file);
parser.setInput(new InputStreamReader(fis));

worldmen
Сообщения: 12
Зарегистрирован: 08 апр 2013, 00:04

Re: Урок 75. Хранение данных. Работа с файлами.

Сообщение worldmen » 16 апр 2013, 19:46

Напишите как детально добавить:
добавить разрешение на работу с файлами на SD - android.permission.WRITE_EXTERNAL_STORAGE.
----
Нашел

Код: Выделить всё

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

Аватара пользователя
krjakov
Сообщения: 11
Зарегистрирован: 23 июл 2012, 14:49

Re: Урок 75. Хранение данных. Работа с файлами.

Сообщение krjakov » 26 апр 2013, 00:42

нужна помощь.
Splash.selectedFromList = 123.txt

Код: Выделить всё

BufferedReader br = new BufferedReader(new InputStreamReader(
	          openFileInput(Splash.selectedFromList)));
	      
	      // читаем содержимое
	      while ((str = br.readLine()) != null) {
	        
	      strend = strend + str;
	      }
br.close();
в общем я его прочёл файл 123.txt, всё "ок".
но как мне переделать strend в Document doc = ???, чтобы скормить далее функции для разбора.
или скажите какой то другой способ. делов по идее на 4 строчки, НУ НЕ получается. и так и сяк с ним вожусь. дайте рабочий кусок кода. последняю фичу диплома осталось сделать(
krja-krja

Ответить