Android как сохранить список

Как скопировать и сохранить контакты телефонной книги из телефона на платформе Android.

Как скопировать и сохранить контакты телефонной книги из телефона на платформе Android.

У каждого пользователя в смартфоне на базе Android хранится большое количество контактных данных, начиная от мобильного телефона, заканчивая ICQ, электронной почтой и прочими сервисами, в том числе и социальные сети. Иногда возникает необходимость смены телефона, соответственно, приходится и все контакты копировать на другой аппарат. Что же делать в таком случае пользователю? Как можно перенести контакты с Андроида на Андроид?

Разработчики Android предусмотрели такую возможность и внедрили несколько стандартных инструментов для копирования и переноса контактных данных. Также есть и специализированные программы, с помощью которых пользователь в несколько кликов сможет скопировать данные. Мы расскажем о каждом способе отдельно!

Основные способы переноса контактов между устройствами Андроид

  1. Сохранение на Sim-карту
  2. Синхронизация в Google
  3. Передача по каналу Bluetooth

Способ 1 — Сохранение контактов на Sim-карту

Как правило, пользователи меняют телефоны, а сим-карту оставляют прежнюю. В таком случае можно скопировать контактные данные на SIM, и на новом телефоне выполнить экспорт данных с этой карты.

Единственный минус данного способа — ограниченный объем памяти SIM. Делается так:

  1. Чтобы сохранить контактные данные, зайдите в настройки своего телефона.
  2. Выберите вкладку «Еще», и нажмите на пункт меню под названием «Управление SIM-картой».
  3. Далее нажмите вкладку «Скопировать контактные данные на SIM». Вам нужно будет нажать «Ок» для подтверждения операции.
  4. На экране появится оповещение о том, что начался процесс копирования. Обычно он занимает от нескольких секунд до 5 минут в зависимости от параметров телефона и количестве переносимой информации.
  5. Как только вы вставите SIM-карту в новый телефон, у вас появится полный список контактных данных со старого устройства! Не забудьте перенести их на телефон.

Так же на некоторых старых устройствах, как правило под управлением Android 2.3, можно выполнить подобное действие следующим образом:

  1. Перейдите в телефонную книгу и вызовите дополнительное меню нажатием на сенсорную кнопку или специальную иконку (как правило, в верхней части экрана).
  2. В появившемся окне выберите пункт с названием «Импорт/экспорт» или что-то подобное.
  1. Теперь в списке выберите «Экспорт на SIM-карту».
  2. Затем поставьте галочки возле нужных контактов или нажмите на «Выбрать все». Далее нажмите на кнопку «Экспорт» и подождите несколько секунд, чтобы успешно перенести контакты на другой Андроид.

Способ 2 — Синхронизация в Google

В смартфонах на базе Андроид имеются встроенные функции для синхронизации данных, и контакты тому не исключение. Вы можете без особых проблем сохранить контакты в облаке Google под своей учетной записью, а потом перенести их на новое устройство, как только авторизуетесь под своим логином и паролем.

  1. Вам нужно зайти в главное меню, выбрать пункт «Синхронизация» в учетной записи и синхронизировать все данные. Доступ к ним вы сможете получить как с мобильного телефона, так и с компьютера, зайдя под своей учетной записью на официальный сайт Google. Помните, что синхронизация может быть включена и по умолчанию. В таком случае все изменения будут автоматически сохраняться на сервере!
  2. Еще можно воспользоваться сервисом contacts.google.com. Зайдите на эту страницу и авторизуйтесь под своей учетной записью. Выберите вкладку «Еще». Если вам нужно сохранить контактные данные в отдельный файл, то выберите пункт «Экспорт». Если же у вас уже есть файл с контактами и вы хотите его прикрепить к своей учетной записи, то выберите вкладку «Импорт» и укажите путь к файлу. Таким образом, легко можно переносить данные с одного устройства Андроид на другое, просматривать отдельный контакт со всеми данными в Excel и других подобных программах.Сервис Contacts предоставляет возможность интеграции с другими сервисами, объединения похожих данных, просмотра контактов, с которыми вы наиболее часто общаетесь. Так же можно просмотреть дополнительные данные, если пользователь заполнил о себе какую-то информацию.
Читайте также:  Как продлить зарядку андроид

Способ 3 — Передача по каналу Bluetooth

Это отдельная функция, позволяющая передавать контактные данные при помощи беспроводной сети Bluetooth со старого устройства на новое. Причем по умолчанию она активируется при включении нового телефона. Если вы не воспользовались ею ранее, то выполните следующие действия, описанные ниже:

  1. Выберите вкладку «Контакты» и нажмите пункт меню «Перемещение данных».
  2. Нажмите «Далее» и из списка выберите марку телефона (телефон, с которого будут передаваться данные).
  3. Еще раз нажмите «Далее» и из общего списка выберите модель смартфона. Встроенная система помощи поможет вам в этом.
  4. Опять нажмите кнопку «Далее» и включите беспроводную связь Bluetooth на своем старом аппарате, где хранятся контактные данные.
  5. В течении нескольких секунд система выведет полный список устройств, в котором вам нужно будет выбрать свой аппарат.
  6. Чтобы синхронизироваться со старым смартфоном, на новом будет запрошен специальный пароль. Как только пароль будет введен, появится список контактов. Выберите все записи, которые нужно перенести и нажмите вкладку «Далее». В течении нескольких минут все записи будут отправлены на новый телефон!

Выводы

Все перечисленные способы отлично работают и позволяют без проблем перенести и скопировать контакты с Андроида на Андроид. Также стоит учесть тот факт, что для данной ОС разработано огромное количество приложений, позволяющих не только сохранить контакты, но еще и создавать резервные копии, чтобы отправлять их по почте, хранить в облаке.

Например, вам часто приходится добавлять новых людей в записную книжку смартфона. Постоянно делать это вручную трудно, да и не всегда удобно. За вас это может сделать специальная программа с заданным алгоритмом, например, по определенным дням!

Источник

Полный список

— хранение данных с помощью Preferences

Хватит об Intent и Activity. Поговорим о хранении данных. В Android есть несколько способов хранения данных:

Preferences — в качестве аналогии можно привести виндовые INI-файлы

SQLite — база данных, таблицы

обычные файлы — внутренние и внешние (на SD карте)

Мы начнем с самого простого – Preferences. Значения сохраняются в виде пары: имя, значение. Так же, как и например extras в Intent.

Разработаем приложение. В нем будет поле для ввода текста и две кнопки – Save и Load. По нажатию на Save мы будем сохранять значение из поля, по нажатию на Loadзагружать.

Project name: P0331_SharedPreferences
Build Target: Android 2.3.3
Application name: SharedPreferences
Package name: ru.startandroid.develop.p0331sharedpreferences
Create Activity: MainActivity

Откроем main.xml и создадим такой экран:

Поле ввода и две кнопки.

Читайте также:  Кто придумал телефоны андроид

Теперь пишем код в MainActivity.java:

Определение элементов экрана, присвоение обработчиков и реализация onClick – тут все понятно и как обычно. Нам интересны методы, которые мы вызываем в onClick

saveText – сохранение данных. Сначала с помощью метода getPreferences получаем объект sPref класса SharedPreferences, который позволяет работать с данными (читать и писать). Константа MODE_PRIVATE используется для настройки доступа и означает, что после сохранения, данные будут видны только этому приложению. Далее, чтобы редактировать данные, необходим объект Editor – получаем его из sPref. В метод putString указываем наименование переменной – это константа SAVED_TEXT, и значение – содержимое поля etText. Чтобы данные сохранились, необходимо выполнить commit. И для наглядности выводим сообщение, что данные сохранены.

loadText – загрузка данных. Так же, как и saveText, с помощью метода getPreferences получаем объект sPref класса SharedPreferences. MODE_PRIVATE снова указывается, хотя и используется только при записи данных. Здесь Editor мы не используем, т.к. нас интересует только чтение данных. Читаем с помощью метода getString – в параметрах указываем константу — это имя, и значение по умолчанию (пустая строка). Далее пишем значение в поле ввода etText и выводим сообщение, что данные считаны.

Все сохраняем, запускаем приложение.

Для начала, давайте убедимся, что сохранение в принципе нужно. Введите какой-нить текст в поле ввода

и не нажимая кнопку Save закройте приложение кнопкой Назад.

Теперь найдите приложение в общем списке приложений эмулятора

и запустите снова.

Поле ввода пустое. То, что мы вводили – пропало при закрытии программы. Нажатие на Load тоже ничего не даст – мы ничего не сохраняли.

Давайте попробуем сохранять. Снова введите значение и нажмите Save.

Значение сохранилось в системе.

Теперь закроем приложение (Назад), снова откроем и нажмем Load. Значение считалось и отобразилось.

Давайте сделаем так, чтобы сохранение и загрузка происходили автоматически при закрытии и открытии приложения и не надо было жать кнопки. Для этого метод loadText будем вызывать в onCreate.

(Добавляете только строку 8)

а метод saveText — в onDestroy

Все сохраним, запустим. Теперь можно вводить данные, закрывать приложение, снова открывать и данные не потеряются. Кнопки Save и Load также работают. В какой момент сохранять данные в ваших приложениях – решать только вам. По нажатию кнопки, при закрытии программы или еще по какому-либо событию. Главное – теперь вы это умеете.

Еще немного слов по этой теме.

Preferences-данные сохраняются в файлы и вы можете посмотреть их. Для этого в Eclipse откройте меню Window > Show View > Other и выберите Android > File Explorer. Отобразилась файловая система эмулятора.
Открываем папку data/data/ru.startandroid.develop.p0331sharedpreferences/shared_prefs и видим там файл MainActivity.xml. Если его выгрузить на комп и открыть — увидим следующее:

Все верно, имя — saved_text и значение — abcdefg.

Обратите внимание, что в пути к файлу используется наш package.

Теперь разберемся, откуда взялось наименование файла MainActivity.xml. Кроме метода getPreferences, который мы использовали, есть метод getSharedPreferences. Он выполняет абсолютно те же функции, но позволяет указать имя файла для хранения данных. Т.е., например, если бы мы в saveText использовали для получение SharedPreferences такой код:

То данные сохранились бы в файле MyPref.xml, а не в MainActivity.xml.

Теперь если мы посмотрим исходники метода getPreferences, то видим следующее:

Используется метод getSharedPreferences, а в качестве имени файла берется имя класса текущего Activity. Отсюда и появилось имя файла MainActivity.xml.

Читайте также:  Код для андроида прослушка

— используете getPreferences, если работаете с данными для текущего Activity и не хотите выдумывать имя файла.

— используете getSharedPreferences, если сохраняете, например, данные — общие для нескольких Activity и сами выбираете имя файла для сохранения.

Кстати, в File Explorer вы можете видеть юниксовые rwx-права доступа к файлу. Попробуйте при сохранении данных использовать не MODE_PRIVATE, а MODE_WORLD_READABLE или MODE_WORLD_WRITEABLE и посмотрите, как будут меняться права.

Полный код MainActivity.java:

На следующем уроке:

— хранение данных с помощью SQLite

Присоединяйтесь к нам в Telegram:

— в канале StartAndroid публикуются ссылки на новые статьи с сайта startandroid.ru и интересные материалы с хабра, medium.com и т.п.

— в чатах решаем возникающие вопросы и проблемы по различным темам: Android, Kotlin, RxJava, Dagger, Тестирование

— ну и если просто хочется поговорить с коллегами по разработке, то есть чат Флудильня

— новый чат Performance для обсуждения проблем производительности и для ваших пожеланий по содержанию курса по этой теме

Источник

Хранение данных в Android

В прошлом своем посте я писал о создании всплывающих менюшек, сегодня же мы поговорим о более важной теме такой, как хранение данных. В android есть несколько способов хранения данных: общие настройки, бд и тд. В этом посте я расскажу о том как хранить данные в БД.
В качестве БД android использует встраиваемую SQLite. SQLite очень быстрая база, поэтому ее использование на мобильной платформе не приводит к резкому уменьшению производительности. Перейдем к описанию кода. Гугл позаботился о наших нервах и написал небольшой класс утилиту SQLiteOpenHelper.

public class DbOpenHelper extends SQLiteOpenHelper<

private static final int DB_VERSION = 1;
private static final String DB_NAME = «test» ;

public static final String TABLE_NAME = «users» ;
public static final String LOGIN = «login» ;
public static final String PASSW = «passw» ;
private static final String CREATE_TABLE = «create table » + TABLE_NAME + » ( _id integer primary key autoincrement, »
+ LOGIN + » TEXT, » + PASSW + » TEXT)» ;

public DbOpenHelper(Context context) <
super(context, DB_NAME, null ,DB_VERSION);
>

@Override
public void onCreate(SQLiteDatabase sqLiteDatabase) <
sqLiteDatabase.execSQL(CREATE_TABLE);
>

@Override
public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) <
>
>

* This source code was highlighted with Source Code Highlighter .

При создании экземпляра класса DbOpenHelper будет проверено, существует ли база с именем test, если существует, то будет вызван метод onUpgrade, если нет то onCreate в котором мы создаем таблицу users(обычно в этом методе создают таблицы и инициализируют их значениями по умолчанию). У класса SQLiteOpenHelper есть методы getReadableDatabase и getWritableDatabase, которые возвращают экземпляр класса SQLiteDatabase. С помощью этого экземпляра мы и будет работать с БД. У него есть все нужные нам методы: insert, update, query, delete и тд.
Напишем небольшое приложение сохраняющее логин и пароль в базу

public class TestActivity extends Activity <

EditText loginEditText = null ;
EditText passEditText = null ;
Button saveButton = null ;

@Override
public void onCreate(Bundle savedInstanceState) <
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

loginEditText = (EditText) findViewById(R.id.login);
passEditText = (EditText) findViewById(R.id.passw);
saveButton = (Button) findViewById(R.id.btn1);

saveButton.setOnClickListener( new View.OnClickListener() <
public void onClick(View view) <
DbOpenHelper dbOpenHelper = new DbOpenHelper(TestActivity. this );
SQLiteDatabase db = dbOpenHelper.getWritableDatabase();
ContentValues cv = new ContentValues();
cv.put(DbOpenHelper.LOGIN,loginEditText.getText().toString());
cv.put(DbOpenHelper.PASSW,passEditText.getText().toString());
db.insert(DbOpenHelper.TABLE_NAME, null ,cv);
db.close();
loginEditText.setText( «» );
passEditText.setText( «» );
>
>);
>
>

* This source code was highlighted with Source Code Highlighter .

Источник

Оцените статью