Файл: пользовательский интерфейс android. Использование активити.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 09.11.2023

Просмотров: 40

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.


Вы получите результат от Activity в методе onActivityResult(int requestCode, int resultCode, Intent data). Результат будет возвращен в качестве Intent.

Пример запуска Activity


Вот пример, который показывает как работает запуск Activity

Во-первых создайте MainActivity с вашим методом onCreate(), файл макета и кодом запроса.

1

public class MainActivity extends Activity {


2




3

// Unique request code for each use case 


4

private static final int REQUEST_CODE_EXAMPLE = 0x9345;


5




6

@Override


7

protected void onCreate(Bundle savedInstanceState) {


8

super.onCreate(savedInstanceState);


9

setContentView(R.layout.activity_main);


10

}


11


12

}


В методе onCreate() вы создадите новый экземпляр намерения (intent) чтобы запустить вторую Activity.

Когда будете готовы к запуску Activity, скажем в ответ на нажатие кнопки, вы вызовете startActivityForResult(), которая передаст свеже-созданное намерение и код запроса.

1

// Create a new instance of Intent to start SecondActivity 


2

final Intent intent = new Intent(this, SecondActivity.class);


3




4

// This starts SecondActivity with the request code 


5

startActivityForResult(intent, REQUEST_CODE_EXAMPLE);


В вашей MainActivity, вам всё же нужно обработать результат событий Activity. Это выполняется путём реализации метода onActivityResult(). Вот так вы и получите результат от другой Activity.

Вот как это должно выглядеть:

1

// onActivityResult only get called 


2

// when the other Activity previously started using startActivityForResult 


3

@Override


4

public void onActivityResult(int requestCode, int resultCode, Intent data) {


5

super.onActivityResult(requestCode, resultCode, data);


6




7

// First we need to check if the requestCode matches the one we used. 


8

if(requestCode == REQUEST_CODE_EXAMPLE) {


9




10

// The resultCode is set by the SecondActivity 


11

// By convention RESULT_OK means that whatever 


12

// SecondActivity did was executed successfully 


13

if(resultCode == Activity.RESULT_OK) {


14

// Get the result from the returned Intent 


15

final String result = data.getStringExtra(SecondActivity.EXTRA_DATA);


16




17

// Use the data - in this case, display it in a Toast. 


18

Toast.makeText(this, "Result: " + result, Toast.LENGTH_LONG).show();


19

} else {


20

// setResult wasn't successfully executed by SecondActivity 


21

// Due to some error or flow of control. No data to retrieve. 


22

}


23

}


24

}



Теперь создайте вашу SecondActivity. Это должно быть похоже на код ниже.

1

@Override


2

protected void onCreate(Bundle savedInstanceState) {


3

super.onCreate(savedInstanceState);


4

setContentView(R.layout.activity_detail);


5




6

final Button button = (Button) findViewById(R.id.button);


7

// When this button is clicked we want to return a result 


8

button.setOnClickListener(new View.OnClickListener() {


9

@Override


10

public void onClick(View view) {


11

// Create a new Intent object as container for the result 


12

final Intent data = new Intent();


13




14

// Add the required data to be returned to the MainActivity 


15

data.putExtra(EXTRA_DATA, "Some interesting data!");


16


17

// Set the resultCode as Activity.RESULT_OK to 


18

// indicate a success and attach the Intent 


19

// which contains our result data 


20

setResult(Activity.RESULT_OK, data);


21




22

// With finish() we close the SecondActivity to 


23

// return back to MainActivity 


24

finish();


25

}


26

});


27

}

Прерывание Activity


Перед завершением Activity, будут вызваны соответствующие методы жизненного цикла.



Метод onPause() должен остановить все "слушания" и обновления интерфейса. Метод onStop() должен сохранять данные приложения. И наконец, метод onDestroy() высвободит любые ресурсы, выделенные для Activity.

Когда пользователь переключается обратно на приложение, которое было прервано системным событием, вызывается метод onResume(). На основе сохраненных данных, могут перерегистрироваться «слушатели» и переключиться обновления интерфейса

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


  1. "Android Programming: The Big Nerd Ranch Guide" (3rd Edition) - Брэндон Марс и Филипп Хэрберт

  2. "Разработка приложений для платформы Android" - Александр Климчук

  3. "Компоненты Android-приложений и режимы жизненного цикла" - Роман Григорьев

  4. "Краткое руководство по разработке Android-приложений" - Эндрю Хэнт и Дэвид Маккарти

  5. "Наиболее эффективные методы разработки Android-приложений" - Володимир Колесніков

  6. "Программирование Android: разработка приложений для смартфонов и планшетов" - Уильямс Фрэмк и Франсис Николсон

  7. "Android UI Fundamentals: Develop & Design" - Джейсон Оувенс

  8. "Руководство по разработке приложений для Android с использованием Java" - Пол МакКартни.