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

Чтение и запись xml файла на SD-карту - Android

Восстановить пароль Регистрация
Другие темы раздела
Android Разработка электронного журнала посещаемости http://www.cyberforum.ru/android-dev/thread1572793.html
Это для дипломной работы! Нужно разработать электронный журнал посещаемости студентов. Мне нужно создать сайт с базой данных, в которой будут расписание занятий, группы. И андроид приложение. Суть такова: нужно что бы преподавателю в начале занятия приходило уведомление о том что началось такое то занятие, он нажал кнопку ОК, у него открывалось приложение с уже открытым списком данной...
Android Android and vkAPI Добрый вечер, суть вопроса: Требуется получить user_ids, ссылку для скачивания фотографии, стоящей на аватарке, используя существующий токен и активную сессию пользователя через апишку. В гугле не нашел ровным счетом ничего. Среда разработки - Android Studio. Просьба ответить как можно скорее, ибо на импровизированном хакатончике. Заранее спасибо http://www.cyberforum.ru/android-dev/thread1572775.html
Android ListView - почему сепаратор разный?
Может на скрине плохо видно, но сепаратор разный, на одном элементе жирнее, на другом меньше. Пробовал менять цвет - не помогает.Как такое может быть? Куда хоть копать? в какую сторону? Фрагмент: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" ...
Android Подключение Android Annotations к Android Studio
Каким образом это сделать? Есть два .jar файла: androidannotations-3.2.jar androidannotations-api-3.2.jar При подключении через папку libs и File -> Project Structure - добавление плюсиком, выбор scope = compile для обоих при попытке запуска приложения, ничего не меняя, ошибка: Error:Execution failed for task ':app:dexDebug'. > com.android.ide.common.process.ProcessException:...
Android FindViewByID возвращает Null производного класса View http://www.cyberforum.ru/android-dev/thread1572582.html
Возвращает null в v, что может быть. если использовать родной SurfaceView все ОК. Кнопку находит. В проекте одно activity public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main);
Android Какую технологию лучше изучать - что будет популярно в будущем!? Такая тема, изучал php html и тд но узнал про java и программирование под ОС Android и вот сижу и думаю что лучше изучать Android или Web .Что будет востребовано и популярно в ближайшем будущем и лет через 10 стоит ли переходить с web на android .не перейдет ли мир с веб сайтов на приложения на смартфонах подробнее

Показать сообщение отдельно
Worldmen
 Аватар для Worldmen
2 / 2 / 1
Регистрация: 31.08.2013
Сообщений: 191
Завершенные тесты: 1
06.11.2015, 00:39     Чтение и запись xml файла на SD-карту
Мне нужно из БД сохранять определенную информацию в файл (это будет инфа пользователя), а потом загружать при необходимости. И таких файлов может быть несколько.
По отдельности я нашел эти действия. Запись файла на SD:
Кликните здесь для просмотра всего текста
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
    void writeFileSD() {
        // проверяем доступность SD
        if (!Environment.getExternalStorageState().equals(
                Environment.MEDIA_MOUNTED)) {
            Log.d(LOG_TAG, "SD-карта не доступна: " + Environment.getExternalStorageState());
            return;
        }
        // получаем путь к SD
        File sdPath = Environment.getExternalStorageDirectory();
        // добавляем свой каталог к пути
        sdPath = new File(sdPath.getAbsolutePath() + "/" + DIR_SD);
        // создаем каталог
        sdPath.mkdirs();
        // формируем объект File, который содержит путь к файлу
        File sdFile = new File(sdPath, FILENAME_SD);
        try {
            // открываем поток для записи
            BufferedWriter bw = new BufferedWriter(new FileWriter(sdFile));
            // пишем данные
            bw.write("Содержимое файла на SD");
            // закрываем поток
            bw.close();
            Log.d(LOG_TAG, "Файл записан на SD: " + sdFile.getAbsolutePath());
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

чтение файла с SD:
Кликните здесь для просмотра всего текста
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
    void readFileSD() {
        // проверяем доступность SD
        if (!Environment.getExternalStorageState().equals(
                Environment.MEDIA_MOUNTED)) {
            Log.d(LOG_TAG, "SD-карта не доступна: " + Environment.getExternalStorageState());
            return;
        }
        // получаем путь к SD
        File sdPath = Environment.getExternalStorageDirectory();
        // добавляем свой каталог к пути
        sdPath = new File(sdPath.getAbsolutePath() + "/" + DIR_SD);
        // формируем объект File, который содержит путь к файлу
        File sdFile = new File(sdPath, FILENAME_SD);
        try {
            // открываем поток для чтения
            BufferedReader br = new BufferedReader(new FileReader(sdFile));
            String str = "";
            // читаем содержимое
            while ((str = br.readLine()) != null) {
                Log.d(LOG_TAG, str);
            }
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

Парсинг xml файла находящегося в ресурсах (/res/xml/data.xml):
Кликните здесь для просмотра всего текста
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
public class MainActivity extends Activity {
 
  final String LOG_TAG = "myLogs";
 
  /** Called when the activity is first created. */
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    String tmp = "";
 
    try {
      XmlPullParser xpp = prepareXpp();
 
      while (xpp.getEventType() != XmlPullParser.END_DOCUMENT) {
        switch (xpp.getEventType()) {
        // начало документа
        case XmlPullParser.START_DOCUMENT:
          Log.d(LOG_TAG, "START_DOCUMENT");
          break;
        // начало тэга
        case XmlPullParser.START_TAG:
          Log.d(LOG_TAG, "START_TAG: name = " + xpp.getName()
              + ", depth = " + xpp.getDepth() + ", attrCount = "
              + xpp.getAttributeCount());
          tmp = "";
          for (int i = 0; i < xpp.getAttributeCount(); i++) {
            tmp = tmp + xpp.getAttributeName(i) + " = "
                + xpp.getAttributeValue(i) + ", ";
          }
          if (!TextUtils.isEmpty(tmp))
            Log.d(LOG_TAG, "Attributes: " + tmp);
          break;
        // конец тэга
        case XmlPullParser.END_TAG:
          Log.d(LOG_TAG, "END_TAG: name = " + xpp.getName());
          break;
        // содержимое тэга
        case XmlPullParser.TEXT:
          Log.d(LOG_TAG, "text = " + xpp.getText());
          break;
 
        default:
          break;
        }
        // следующий элемент
        xpp.next();
      }
      Log.d(LOG_TAG, "END_DOCUMENT");
 
    } catch (XmlPullParserException e) {
      e.printStackTrace();
    } catch (IOException e) {
      e.printStackTrace();
    }
  }
 
  XmlPullParser prepareXpp() {
    return getResources().getXml(R.xml.data);
  }
}

А вот как соединить эти действия пока не понял.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 00:10. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru