Вопрос 27

Ответ: service process priority (3)

Вопрос 28

Ответ: foreground process (1)

Вопрос 29

Ответ: visible process (2)

Вопрос 30

Ответ: foreground process (1)

Вопрос 31

Ответ: Программа даст сбой, потому что рабочий поток обновляет компонент пользовательского интерфейса напрямую.

Вопрос 32

Ответ: Все перечисленное.

Вопрос 33

Ответ: //make a folder " pics" to store pics taken by the camera using this

final String directory = Environment. getExternalStoragePublicDirectory (Environment. DIRECTORY_PICTURES) + "/pics/";

File nd = new File (directory);

nd. mkdirs ();

//what is the picture name?

String file = directory+" myfile"+".jpg";

File myFile = new File (file);

try {

myFile. createNewFile ();

} catch (IOException e) {}

Uri myUri = Uri. fromFile (myFile);

//prepare intent for starting camera

Intent in = new Intent (MediaStore. ACTION_IMAGE_CAPTURE);

in. putExtra (MediaStore. EXTRA_OUTPUT, myUri);

startActivityForResult (in, 1);

Вопрос 34

Ответ: Calendar cal = Calendar. getInstance ();

SimpleDateFormat sdate = new SimpleDateFormat («dd-MMM-yyyy»);

String date = sdate. format (cal. getTime ());

SimpleDateFormat dateFmt = new SimpleDateFormat («yyyyMMdd_HHmmss»);

String date = dateFmt. format (new Date ());

Вопрос 35

Ответ: Использовать контент-провайдер.

Вопрос 36

Ответ: ContentValues это пара имя-значение, используется для вставки или обновления значений в таблицах баз данных. ContentValues объект передается в функции insert () и update () объекта SQLiteDataBase. Cursor это временный буфер, который хранит результаты из SQLiteDataBase запроса.

Вопрос 37

Ответ: Helper класс считает, что мы всегда будем передавать номера версий в порядке возрастания для обновления.

Вопрос 38

Ответ: Нет, потому что, если этот метод занимает слишком много времени, чтобы создать все таблицы, то это может прервать основной поток.

Вопрос 39

Ответ: Это будет вызвать метод Helper класса оnCreate (), только если база данных создается впервые.

Вопрос 40

Ответ: Другое приложение для обмена данными должно реализовать контент-провайдер.

Вопрос 41

Ответ: Функция контент-провайдера оnCreate () вызывается, когда первый раз клиент вызывает какие-либо функции провайдера с помощью content resolver.

Вопрос 42

Ответ: Вспомогательный класс для управления созданием базы данных, для модернизации и управления версиями без потери состояния предыдущих данных.

Вопрос 43

Ответ: Передайте новый номер версии для базы данных в функцию SQLiteOpenHelper (). Затем обновите базу данных в методе оnUpdate класса SQLiteOpenHelper.

Вопрос 44

Ответ: Даже если таблицы базы данных хранятся во внутренней памяти, с помощью Content Provider можно получить доступ к базе данных.

Вопрос 45

Ответ: Это возможно не прямым способом, потому что мы можем использовать content resolver для связи с контент-провайдером.

Вопрос 46

Ответ: Он используется для обмена данными приложения с внешним миром. Сейчас нет поддержки для shared preferences.

Вопрос 47

Ответ: Контент-провайдер используется для обмена приватными данными с другими приложениями, тогда как контент-распознаватель общается от клиентской стороны с контент-провайдером.

Вопрос 48

Ответ: Cursor это буфер, который содержит результат строки из таблицы базы данных в ответ на запрос.

Contentvalues используются для передачи данных SQLite функции.

Вопрос 49

Ответ: Используйте ContactsContract. Contacts. URI и CommonDataKinds. Phone. CONTENT_URI, затем сделайте запрос с помощью content resolver.

Вопрос 50

Ответ: По умолчанию она хранится во внутренней памяти, но также возможно, чтобы хранить ее на SD-карте.

Тест 12

Вопрос 1

Ответ: Sqlite.

Вопрос 2

Ответ: Потому что SQLiteOpenHelper обеспечивает уверенность, что база данных всегда в актуальном состоянии. Также SQLiteOpenHelper управляет потоками, если более чем один поток пытается получить доступ к базе данных.

Вопрос 3

Ответ: Передать другой номер версии в возрастающем порядке и поместить весь код модернизации в методе onUpgrade () helper класса.

Вопрос 4

Ответ: Создание Helper объекта является синхронным и возвращает немедленно, тогда как getWritableDatabase может занять некоторое время, когда вы создаете базу данных впервые. Так что это может занять больше времени (асинхронное создание) впервые или когда мы обновляем базу данных.

Вопрос 5

Ответ: Сервис будет продолжать работать в фоновом режиме, но это он может остановить себя сам, когда выполнит работу. Или другие компоненты также могут убить его, используя stopService (), или Android может также убить сервис в случае нехватки памяти.

Вопрос 6

Ответ: Все перечисленное.

Вопрос 7

Ответ: Так как обновление интерфейса из другого потока непосредственно не представляется возможным, создать коммуникацию с главным UI потоком для обновления пользовательского интерфейса.

Вопрос 8

Ответ: startForeground (int id, Notification notification), используйте эту функцию в оnCreate () вашего сервиса.

Вопрос 9

Ответ: Нет необходимости создавать новый поток в сервисе, это не требуется в этом случае. Потому что сервис работает в главном потоке. Так как наше приложение не имеет какой-либо активности, все будет ОК, если запустить сервис в главном потоке.

Вопрос 10

Ответ: Передать данные в putextras намерения и использовать startService () с этим намерением.

Сохранить данные в общую базу данных и обеспечить доступ к ним как из активности, так и из сервиса.

Вопрос 11

Ответ: Если вы хотите обновить интерфейс в сервисе, вызовите динамически зарегистрированный приемник в активности из сервиса. И обновите пользовательский интерфейс из этого динамического приемника этой активности.

Вопрос 12

Ответ: Все перечисленное.

Вопрос 13

Ответ: Используя метод onServiceDisConnected (), эта функция будет вызываться, если соединение нарушается.

Вопрос 14

Ответ: Сервис мертв и выведен из памяти.

Вопрос 15

Ответ: 1. Создать сервис, реализовать оnCreate (), onBind (), onUnbind (), оnDestroy ()

2. Создать файл. aidl с интерфейсными функциями.

3. Реализовать автоматический генерируемый Binder класс заглушки в сервисе.