Полная версия
Сборник тестов: 1500 вопросов и ответов на знание Android
Keyevents идут от активности к UI представлению. Но активность никогда не блокирует поток событий, но, если это требуется UI представление может заблокировать некоторые события, чтобы остановить их обработку активностью. Программист может также блокировать любое событие клавиш, чтобы остановить его обработку UI представлением. Поток событий клавиш Android system -> Activity -> Layout -> View -> programmer.
Вопрос 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);
Конец ознакомительного фрагмента.
Текст предоставлен ООО «ЛитРес».
Прочитайте эту книгу целиком, купив полную легальную версию на ЛитРес.
Безопасно оплатить книгу можно банковской картой Visa, MasterCard, Maestro, со счета мобильного телефона, с платежного терминала, в салоне МТС или Связной, через PayPal, WebMoney, Яндекс.Деньги, QIWI Кошелек, бонусными картами или другим удобным Вам способом.