2012-03-07 3 views
3

저는 데이터베이스에서 데이터를 가져 오는 안드로이드 응용 프로그램을 만들고 있습니다. 활동간에 데이터 을 전달하려고합니다 (단일 문자열). 처음에는 Bundle 기능을 사용하여 데이터 전달을 구현했습니다. 그러나 모든 액티비티에서 변수에 접근 할 수있게 해주는 Application 클래스를 발견했다.(Android) 번들 또는 애플리케이션이 더 좋습니다.

활동간에 데이터를 이동하는 데 사용할 것을 권장합니까?

public class MyVideo extends Application { 

    private String url ="NULL"; 

    public String getUrl(){ 
    return url; 
    } 
    public void setUrl(String newurl){ 
    url = newurl; 
    } 

}

+0

번들은 사전 정의 된 데이터 유형에 적합하지만 사용자 정의 오브젝트가 있고 Parcelable을 구현해야하는 경우 너무 많은 상용구 코드와 번거 로움이 있습니다. 데이터를 전달하기 위해 응용 프로그램을 사용하는 것을 선호합니다. 나는 그것을 더 직관적이라고 느낀다. –

답변

4

이 예와 포괄적 인 답이 들어이 질문에 What is a "bundle" in an Android application, 유사합니다.

내 대답은 사용할 수 있도록 설계 되었기 때문에 번들을 사용하는 것입니다. 번들은 추가 작업없이 String을 지원하므로 이상적이라고 주장 할 것입니다.

의도에 추가

intent.putExtra("myKey",AnyValue); 

을 찾는 중 :

Bundle extras = intent.getExtras(); 
String tmp = extras.getString("myKey"); 
+0

그래함 감사합니다. – Fabii

+0

기꺼이 도와 드리겠습니다. :) –

1

Application 클래스는 당신의 컨텍스트에서 단일 클래스로 동작합니다. 싱글 톤 클래스 자체를 사용하여 액티비티간에 데이터를 전달할 수 있습니다. 원하는 모든 것이 액티비티간에 데이터를 전달하는 것이라면 Application 클래스를 사용할 필요가 없습니다.

데이터를 전달하는 데 번들을 사용하는 것이 좋습니다.

관련 문제