2014-06-18 1 views
0

안드로이드 플롯을 사용하여 동적 그래프에 배터리 레벨을 표시하고 싶습니다. 정적 그래프는 DB를 처리 할 때마다 잘 작동합니다 [DB에서 데이터 가져 오기 및 그래프로 표시]. 하지만 실시간 동적 그래프의 경우 문제 즉, 방송 수신기를 사용하여 배터리 수준 변경을 가져올 수 있지만 동시에 활동을 재 작성하지 않고 사용자에게 표시하는 기존 그래프를 업데이트/새로 고침하고 싶습니다. 아래 코드를 사용하여 그래프를 업데이트하려면이미 업데이트되고있는 안드로이드 플롯 동적 그래프를 업데이트하는 방법

if (plot != null) { 
    plot.addListener(new PlotListener() { 
    @Override 
    public void onBeforeDraw(
     @SuppressWarnings("rawtypes") Plot arg0, Canvas arg1) { 
    } 
     @Override 
    public void onAfterDraw(
     @SuppressWarnings("rawtypes") Plot arg0, Canvas arg1) { 
     plot.clear(); 
     plot.redraw(); 
    } 
    }); 
} 

누구든지이 문제를 해결하는 방법이나이 문제를 해결할 수있는 몇 가지 예를 알려주십시오.

답변

0

표시하려는 데이터를 반영하도록 Series 인스턴스를 업데이트 한 다음 plot.redraw()를 호출하는 것만 큼 간단해야합니다. SimpleXYSeries의 인스턴스를 사용하는 경우 표준 dequeue 작업은 물론 인덱스를 기준으로 임의의 요소를 수정할 수있는 메서드가 있습니다. 이런 일이 발생할 때마다 plot.clear()를 호출하고 싶지는 않습니다.

예를 들어, 마지막 n 초 동안 배터리 수준을 표시하려는 경우 시리즈의 끝에 새 샘플을 추가하고 처음부터 샘플을 제거하십시오. (또는 반대 방향으로 스크롤하려는 경우)