애플리케이션에서 구현 된 다른 Java 클래스에서 Android의 활동을 호출 할 수있는 방법에 대한 게시물을 읽었지만 문제는 해결되지 않았습니다.자바 클래스에서 활동을 시작하는 방법은 무엇입니까?
응용 프로그램에 필요한 영구 연결을 처리하는 연결 클래스 (Connection.java
)가 있습니다. 이 하나가 싱글 톤 패턴으로 구성되어, 그래서 매번 내가 연결 정보 또는 요청 뭔가가 필요 내가 그런 다음
final Connection conn = Connection.getConnection(getApplicationContext());
//... Some Code Here
conn.methodDoSomethingA();
, 내가 포함 된 TabActivity이 5 활동 (A, B, C, D, E) : endConnection()
- - 지금
public class Tab extends TabActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.tab);
final Connection conn = Connection.getConnection(getApplicationContext());
intent = new Intent().setClass(this, A.class);
spec = tabHost.newTabSpec("A")
.setIndicator("A", res.getDrawable(R.drawable.tab_A))
.setContent(intent);
tabHost.addTab(spec);
//... same for activities B, C, D and E
tabHost.setCurrentTab(0);
}
}
, 나는 연결을 종료하는 연결 클래스의 공개 방법을 예를 들어, 연결 클래스 내에서 여러 번 호출되는,이 소켓 시간 초과 또는 서버에서 사용자 정의 메시지를 수신 할 때 알려주는 경우 세션을 종료합니다.
여기에서 문제가 시작됩니다. endConnection()
을 호출하면 소켓을 닫은 다음 연결 (연결 해제)을 알리는 활동 (Theme.Dialog)을 표시해야합니다. 성공없이 내가 이런 짓을 것을 달성하기 위해 는 :
public class Connection {
private static Connection connection = null;
private Context appContext = null;
private Connection(Context appContext) {
this.appContext = appContext;
}
public static Connection getConnection(Context appContext) {
if (connection == null)
return connection = new Connection(appContext);
else
return connection;
}
public void endConnection() {
// ... Close sockets and streams - SOME CODE HERE
// Show Disconnect Dialog
Intent myIntent = new Intent(appContext, Disconnect.class);
myIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
appContext.startActivity(myIntent);
}
}
나는 또한 Connection.java
클래스에 인수로 TabActivity
컨텍스트를 전달하는 데 노력하고 appContext
대신에 그것을 사용하지만 하나 성공하지. 즉
W/dalvikvm(9449): threadid=3: thread exiting with uncaught exception (group=0x2aaca228)
E/AndroidRuntime(9449): Uncaught handler: thread main exiting due to uncaught exception
E/AndroidRuntime(9449): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.test/com.example.test.Disconnect}: java.lang.NullPointerException
:
나는이 오류를 받고 있어요 - 어떻게 자바 클래스에서 활동을 시작합니다!
어떤 오류가 발생합니까? –
활동 양식 TabActivity를 원하십니까? – iSun
Manifest 파일에서 모든 활동을 선언 했습니까?plz 당신이 가지고있는 오류의 StackTrace를 추가하십시오. – Houcine