여러 액티비티를 사용하는 Android 앱을 만들고 하나의 소켓을 만들려고합니다. 서버에 연결될 소켓이 포함될 Service
을 사용해야한다는 것을 이해했습니다. 모든 Activity
은 서버에 대한 특정 요청을 사용합니다 (예 : 첫 번째 활동은 사용자를로드하고 두 번째 활동은 메시지를 보낼 수 있음). 그러면 서버간에 응답 (예 : 사용자 목록이 첫 번째 Activity
으로 전달되고 메시지가 두 번째 Activity
에로드 됨) 사이를 탐색 할 수 있습니까?다른 액티비티의 서버에서 다른 응답을 전달하십시오.
답변
당신은 당신이 LocalBroadcast
화재 및 LocalBrodcast
BroadcastReceiver
참조 자습서를 사용하여 활동에 그 수신하면 응답의 유형에 따라 응답을 처리 할 수있는 데이터를받은 후, 서버에서 데이터를로드 Service
를 사용하고 말하는 것처럼
귀하의 서비스는 귀하의 활동을위한 라우터가 될 수 있습니다. 특정 응답 (스위치 케이스 ID에 맵핑)에 의해 적절한 활동이 시작됩니다. 시작 활동은 채팅을 위해 서비스에 바인딩 할 수 있습니다.
그리고 Activity 인스턴스가 이미 존재한다면? –
인 텐트 플래그로 실행 ex. [FLAG_ACTIVITY_REORDER_TO_FRONT] (https://developer.android.com/reference/android/content/Intent.html#FLAG_ACTIVITY_REORDER_TO_FRONT) –
- 1. 다른 서버에서 동일한 응답을 반환하십시오.
- 2. 한 서버에서 다른 서버로 배열을 전달하십시오.
- 3. 다른 액티비티의 조각 레크리에이션
- 4. 다른 액티비티의 메소드 호출하기
- 5. 다른 액티비티의 mediaPlayer
- 6. 다른 서버에서 이미지를 읽고 응답을 작성하려고합니다.
- 7. 다른 클래스/액티비티의 어댑터 사용
- 8. 다른 액티비티의 Android 메소드 호출
- 9. 다른 액티비티의 레이아웃에 액세스하기 안드로이드
- 10. 다른 액티비티의 MapFragment로 액티비티를 시작하십시오.
- 11. 한 액티비티의 setResult() 및 다른 액티비티의 onActivityResult()와의 통신
- 12. 다른 tableviewcontroller에서받은 문자열을 전달하십시오.
- 13. 다른 클래스로 값을 전달하십시오
- 14. 정수를 다른 UIView에 전달하십시오.
- 15. 다른 유형을 활동으로 전달하십시오.
- 16. Android - 다른 액티비티의 프레임 ontop으로지도 표시
- 17. 한 액티비티의 값을 다른 액티비티로 넘기는 경우
- 18. 다른 액티비티의 ImageView에 이미지를 전달하고 싶습니까?
- 19. 다른 매개 변수를 IBAction에 전달하십시오.
- 20. % userprofile %을 다른 배치에 전달하십시오.
- 21. initWithFrame으로 다른 인수를 전달하십시오. CGRectMake()
- 22. 다른 페이지에 배열로 항목을 전달하십시오.
- 23. Velocimacro의 결과를 다른 Velocimacro로 전달하십시오.
- 24. 다른 변수에 post 변수를 전달하십시오.
- 25. 한 양식에서 다른 양식으로 데이터를 전달하십시오.
- 26. 다른 웹 서버에서 Apache 사용
- 27. PHP가 다른 서버에서 쿠키를 가져옴
- 28. 다른 서버에서 msi를 호출
- 29. Ajax가 다른 서버에서 호출합니다.
- 30. 그러나 다른 서버에서 호스팅
감사합니다.이 솔루션을 확인 하겠지만이를 명확히하고 싶습니다. 소켓 서비스를 저장합니다. 응용 프로그램의 인스턴스와 바인딩됩니다. 모든 액티비티는 응용 프로그램에서 get get 메서드를 호출하여 서비스를 반환합니다. 그러나 내 활동이 바인딩되기 전에 서비스를 요청하면 어떻게됩니까? 어떻게 방지 할 수 있습니까? 그리고 아마도 당신은이 일을 더 잘하는 방법을 조언 할 수 있습니까? –
그러나 내 활동이 바인딩되기 전에 서비스를 요청하면 어떻게됩니까? 정확히 무슨 말을하려는 건지 이해가 안 되니? –
서비스가 바인딩되기 전에 내 Activity가 서비스중인 메소드를 호출하려고 할 것입니다. 예 : 응용 프로그램 및 응용 프로그램 시작 후 응용 프로그램을 시작합니다 : onCreate() 나는 bindService() Activity :: onCreate()있는'service = ((AppCore) this.getApplication()). getService();'하지만 서비스가 아직 묶여 있지 않다면 나는'service'에서 null을 얻을 것입니다. –