비디오: The Skinner Box - How Games Condition People to Play More - Extra Credits 2024
Android 앱에서 특정 활동을 시작하는 한 가지 방법은 문맥을 이용하는 것입니다. 컨텍스트는 "응용 프로그램 환경에 대한 전역 정보에 대한 인터페이스입니다. 비공식적으로 컨텍스트는 실제로 발생하는 상황에 대해 알고 싶어 할 수도있는 배경 정보입니다. Android 앱의 경우 Context Java 객체에는 앱의 패키지 이름, 테마, 배경 화면, 앱과 연결된 파일의 이름, 위치 서비스에 대한 포인터, 사용자 계정 서비스 및 기타 정보가 포함될 수 있습니다. 이 모든 것들은 Java Context 객체를 통해 프로그래밍 방식으로 사용할 수 있습니다.
Android 활동은 특정 상황에서 실행됩니다. 그건 의미가 있습니다. 그러나 여기에는 받아들이 기 어려운 아이디어가 있습니다. 활동이란 상황입니다. 하나는 기술적 인 것이고 다른 하나는 다소 직관적 인 것입니다.
Android SDK에는 클래스 안드로이드가 있습니다. 앱. 활동은 android의 하위 클래스입니다. 함유량. 문맥.
아래 코드에서 액티비티는 동일한 애플리케이션 내의 다른 액티비티를 호출합니다.
패키지 my. 팩; 안드로이드 가져 오기. 앱. 활동; 안드로이드 가져 오기. OS. 묶음; public class SomeActivity extends Activity {// … 어떤 종류의 코드는 여기에 있습니다. Intent intent = new Intent (this, OtherActivity. class); startActivity (intent);}
이 코드에서 마지막 두 문장은 실제로 "이 액티비티의 컨텍스트를 사용하여 OtherActivity의 인스턴스를 실행하기 시작합니다. "(모두 잘되면, OtherActivity 클래스는 Android의 Activity 클래스를 확장하므로 갈 수 있습니다.)
이 예제에서 Intent 클래스의 생성자는 컨텍스트와 Java 클래스라는 두 개의 매개 변수를 사용합니다. this라는 단어는 SomeActivity 인스턴스를 둘러싸고있는 것을 나타냅니다. 왜냐하면 생성자의 첫 번째 매개 변수는 Context 유형이고 Android의 Activity 클래스는 추상 Context 클래스의 하위 클래스이기 때문에 좋습니다.
위의 예제 코드에서 Intent 생성자는 SomeActivity 객체의 컨텍스트 인 OtherActivity의 패키지 이름을 this에서 가져옵니다.
각 액티비티는 애플리케이션의 일부이고 Application 인스턴스는 컨텍스트입니다.따라서 많은 프로그램에서 다음과 같은 메소드 호출을 사용하여 Context 인스턴스를 얻을 수 있습니다.getContext () getApplicationContext () getBaseContext ()
getApplicationContext 및 getBaseContext 메소드는 제한된 특수 용도 Android 프로그램에서
아래 코드에서 한 앱의 활동은 컨텍스트를 사용하여 다른 앱의 활동을 호출합니다.
패키지 my. 팩; 안드로이드 가져 오기. 앱. 활동; 안드로이드 가져 오기. OS. 묶음; public class SomeActivity extends Activity {// … 어떤 종류의 코드는 여기에 속해 있습니다. {{…}} catch (NameNotFoundException e) {e. printStackTrace ();} 클래스 otherClass = null; {otherClass = otherContext를 시도하십시오. getClassLoader (). loadClass ("other. pack. OtherAppActivity");} catch (ClassNotFoundException e) {e. 의도 의도 = 새로운 의도 (otherContext, otherClass); startActivity (intent);}두 번째 코드 세트는 여기에서 보는 첫 번째 예제보다 복잡합니다. 그러나 대부분의 복잡성은 Java가 클래스를로드하는 방식에서 비롯됩니다. 이 코드는 컨텍스트와 클래스 이름으로 인 텐트를 만든 다음 인 텐트의 활동을 시작합니다.
-