Сборник тестов: 1500 вопросов и ответов на знание Android - Машнин Тимур Сергеевич. Страница 25

Вопрос 27

Если приложение имеет одну активность – в фоновом состоянии, сервис – в рабочем состоянии, тогда какой приоритет у процесса?

foreground process (1)

service process priority (3)

empty process (5)

visible process (2)

Вопрос 28

Если приложение имеет одну активность – в состоянии на переднем плане, и 2 других активности в – фоновом состоянии, тогда какой приоритет у процесса?

foreground process (1)

service process priority (3)

empty process (5)

visible process (2)

Вопрос 29

Если приложение имеет одну активность, на которой отображается диалоговое окно, тогда какой приоритет у процесса?

foreground process (1)

service process priority (3)

empty process (5)

visible process (2)

Вопрос 30

Если приложение имеет одну активность – в фоновом состоянии, сервис – в рабочем состоянии на переднем плане, тогда какой приоритет у процесса?

foreground process (1)

service process priority (3)

empty process (5)

visible process (2)

Вопрос 31

Какая проблема со следующим кодом?

public class UiprogramActivity extends Activity {

/** Called when the activity is first created. */

Button b;

@Override

public void onCreate (Bundle savedInstanceState) {

super. onCreate (savedInstanceState);

setContentView (R. layout. main);

b = (Button) findViewById (R. id. button1);

b. setOnClickListener (new OnClickListener () {

@Override

public void onClick (View v) {

new Thread () {

public void run () {

b. setText («Hacked from other thread..»);

} //CalledFromWrongThreadException

}.start ();

}

});

}

}

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

Программа даст сбой, потому что мы создаем еще один поток в кнопке. Все активности должны использовать только основной поток.

Программа выполняет и устанавливает текст кнопки 1, как «взломанный из другого потока».

Программа даст ошибку времени компиляции.

Вопрос 32

Как повернуть изображение в ImageView?

Matrix m=new Matrix ();

imageView. setScaleType (ScaleType. MATRIX);

m. postRotate ((float) angle, pivX, pivY);

imageView. setImageMatrix (m);

final RotateAnimation rotateAnim = new RotateAnimation (0.0f, degree,

RotateAnimation. RELATIVE_TO_SELF, 0.5f,

RotateAnimation. RELATIVE_TO_SELF, 0.5f);

rotateAnim. setDuration (0);

rotateAnim. setFillAfter (true);

imgview. startAnimation (rotateAnim);

Все перечисленное.

Вопрос 33

Как получить фотографию с камеры в Android?

//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);

//////////////////////////////////////////////////////////////////////

//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_CAMERA);

in. putExtra (MediaStore. EXTRA_OUTPUT, myUri);

startActivityForResult (in, 1);

/////////////////////////////////////////////////////////////////////

Все перечисленное.

Вопрос 34

Как получить текущую дату в Android?

Calendar cal = Calendar. getInstance ();

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

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

Calendar cal = Calendar. getInstance ();

int sec = c. get (Calendar. SECOND);

SimpleDateFormat dateFmt = new SimpleDateFormat («yyyyMMdd_HHmmss»);

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

Все перечисленное.

Вопрос 35

Как обмениваться данными между двумя приложениями?

Использовать файл

Использовать SQLite базу данных

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

Использовать content resolver

Вопрос 36

В чем разница между ContentValues и Cursor в SQLite?

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

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

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

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

Вопрос 37

Чтобы обновить базу данных SQLite Аndroid приложения, могу ли я передать меньшее значение версии, чем предыдущая версия базы данных?

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

Да, мы можем передать.

Мы не должны передавать какое-либо значение, система автоматически сгенерирует больший номер версии для следующей версии.

Вопрос 38

Можно ли вызывать getWritableDataBase () в основном потоке пользовательского интерфейса?

Да, это можно.

getWritableDataBase () не должен вызваться в любом потоке.

Это зависит от требований программирования. Если программист хочет, то да, тот метод можно вызывать в основном или фоновом потоке.

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