2011-10-02 4 views
0

webservice에서 데이터를 가져와 데이터베이스에 삽입하고 데이터를 tablelayout에 표시하는 응용 프로그램을 만들고 있습니다.AsyncTask context SQLite

그래서 내가 원하는 것은 X 시간이 지나면 webservice의 내용으로 테이블을 새로 고칩니다.

나는 onResume 방법으로 그렇게 할 수는 있지만 원하는 것은 아닙니다.

asynctask을 읽고 있었기 때문에 webservice을 사용하고 sqlite에 데이터를 삽입하는 작업이 두 번째 스레드에있을 수 있습니다.

doInBackground 나는 webservice을 시작하고 정보를 sqlite에 삽입하고 onPostExecute 정보를 테이블에 동적으로 넣습니다.

UsuariosSQLiteHelper usdbh = new UsuariosSQLiteHelper(this, "DBIncidentes", null, 1); 

이있는

이 컨텍스트 문제가 :

내 문제는 내가 그것을 읽고 데이터베이스를 초기화 할 때, 내가 넣어 것입니다.

이것은 (onPostExecute의) 테이블에 데이터를 새로 고치는 부분에서 발생했습니다. 왜냐하면이 모든 것을 텍스트 뷰를 만드는 것처럼 넣기 때문에 상황에 문제가 있기 때문입니다.

저는 기본적으로 컨텍스트에 대해 알고 있습니다. 나는 asynctask 클래스의 생성자를 만들고 컨텍스트를 초기화해야하며, 컨스트럭터의 컨텍스트에 대해이를 변경할 수 있다는 것을 읽었습니다.

나는이 부분에서 약간 분실되었는데, 누구든지 나를 도울 수 있습니까?

답변

2

이 경우 this은 작업이 아니라 ASyncTask를 나타냅니다. 대신 ActivityName.this을 사용해야합니다.