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