Back ground 서비스가 Sqlite 데이터베이스에서 데이터를 가져 오는 중입니다. 웹으로 전송, Sqlite 데이터베이스의 데이터가 작동하지 않는 동시 Listview

마노

해결 방법을 도와주세요.

매 10 분마다 Sqlite 데이터베이스 데이터를 백그라운드 서비스를 사용하여 웹 서비스에 동기화하고, 병렬 Listview는 sqlite 데이터베이스에서 동일한 테이블 데이터를 가져옵니다.

서비스가 로컬 데이터베이스에서 웹 서비스로 데이터를 가져올 때마다 Listview에 데이터가 표시되지 않습니다.

또한 OnClick 목록보기 항목 전체 데이터가 다음 페이지에 표시되고 로컬 데이터베이스에서 가져 오며 빈 페이지가 표시됩니다.

백그라운드 서비스를 마친 후 Listview 및 다음보기 페이지에 데이터가 표시됩니다.

목록보기 페이지 ---> 항목보기 페이지에서.

iam 로컬 데이터베이스에서 목록보기로 데이터를 가져 오기 위해 커서 어댑터 사용.

내가 언급 한이 링크

Attaullah

친애하는 : 정기 서비스를 사용하십시오. 나는 이것과 같은 문제를 해결했다. 제 경우에는 이것이 코드였습니다.

서비스 코드 :

public class PeriodicService  extends Service {
    private static final long TIMEREQ = 10000 * 60;// 10 mints

    public static String LOG = "Log";

    private final Context mContext;

    public UpdateServices(Context context) {
        this.mContext = context;
    }

    public UpdateServices() {
        super();
        mContext = UpdateServices.this;
    }

    @Override
    public IBinder onBind(Intent intent) {
        return null;
    }

    @Override
    public int onStartCommand(Intent intent, int flags, int startId) {
        Toast.makeText(this, "service starting", Toast.LENGTH_SHORT).show();
        Log.i(LOG, "Service started");
        // save in sqlite after 10 mints
        DatabaseManger db = new DatabaseManger(mContext);
        db.open();
        db.insert("anything", "data");
        db.close();

        // upload data to somewhere server
        new CreateNewProduct(this).execute();

        return START_NOT_STICKY;
    }

    @Override
    public void onCreate() {
        super.onCreate();
        Intent ishintent = new Intent(this, UpdateServices.class);
        PendingIntent pintent = PendingIntent.getService(this, 0, ishintent, 0);
        AlarmManager alarm = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
        alarm.cancel(pintent);
        alarm.setRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis(),
                TIMEREQ, pintent);
    }

    @Override
    public void onDestroy() {
        // TODO Auto-generated method stub
        super.onDestroy();
        Intent ishintent = new Intent(this, UpdateServices.class);
        PendingIntent pintent = PendingIntent.getService(this, 0, ishintent, 0);
        AlarmManager manager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
        manager.cancel(pintent);
        Toast.makeText(this, "service stoped", Toast.LENGTH_SHORT).show();
    }
}

여기에서 헬프 얻을 수 있습니다. 서비스 시작 및 중지

전화 시작 서비스. 서비스의 수명주기에 따라 서비스가 중지되면 destroy 메소드가 호출됩니다. 서비스 중지 후 보류 인 텐트는 귀하의 선택에 따라 서비스가 일정 기간 지연되는 경우 사용되지 않습니다.

활동 호출에서

   btn_startService.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            startService(new Intent(About.this, UpdateServices.class));
        }
    });

   btn_stopService.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            stopService(new Intent(About.this, UpdateServices.class));

            }
        });

목록보기를 위해 listadapter를 새로 고칩니다 .

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관