Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 8220833
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 7, 20262026-06-07T13:40:49+00:00 2026-06-07T13:40:49+00:00

i m new to android. I m using Achartengine to plot a dynamic graph

  • 0

i m new to android. I m using Achartengine to plot a dynamic graph reading values from a binary file. Given below is my code.I want to have a dynamic running graph, in which values are being updated regularly. For this i tries to do it with and without a timer. But every time i am getting the graph with the final values when the last values have been updated. I mean i m getting a static graph after all the updates have been done. I can’t figure out how to correct this. I am using the emulator to test the code. Could there be some problem with the emulator or something wrong with my code ? Thanks in advance

code without timer :

public class RandomActivity extends Activity {
private XYMultipleSeriesDataset eeg1 = new XYMultipleSeriesDataset();
private XYMultipleSeriesRenderer renderer_eeg1 = new XYMultipleSeriesRenderer();
private XYSeries series1;
private GraphicalView view_eeg1;


public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

renderer_eeg1.setAxisTitleTextSize(16);
renderer_eeg1.setChartTitleTextSize(20);
renderer_eeg1.setLabelsTextSize(15);
renderer_eeg1.setLegendTextSize(15);
renderer_eeg1.setMargins(new int[] {20, 30, 15, 0});
renderer_eeg1.setAxesColor(Color.BLUE);
renderer_eeg1.setXTitle("Time");
renderer_eeg1.setChartTitle("eeg1");
XYSeriesRenderer seriesrenderer1 = new XYSeriesRenderer();
seriesrenderer1.setColor(Color.YELLOW);
renderer_eeg1.addSeriesRenderer(seriesrenderer1); 
series1= new XYSeries("eeg1");
eeg1.addSeries(series1);
int a;
int b;
add();

for(int r=0;r<=600;r++){

   if(r%2==0){
      a=1;
      b=-1;
   }
   else{
      a=-1;
      b=1;
   }

   series1.add(r, a);
       if(r<=50){
      renderer_eeg1.setXAxisMax(50);
       }
       else if(r>50){
          double maxX = series1.getMaxX();
      double minX = maxX - 50;
          renderer_eeg1.setXAxisMin(minX);
       }
       view_eeg1.repaint();
}
}


protected void onResume() {
super.onResume();  
if (view_eeg1== null) {
LinearLayout layout_eeg1 = (LinearLayout) findViewById(R.id.chart1);
view_eeg1= ChartFactory.getLineChartView(this, eeg1, renderer_eeg1);
layout_eeg1.addView(view_eeg1,new LayoutParams(LayoutParams.FILL_PARENT,  LayoutParams.FILL_PARENT));
} else {
 view_eeg1.repaint();}
}

}

code with timer :

public class RandomActivity extends Activity {
private XYMultipleSeriesDataset eeg1 = new XYMultipleSeriesDataset();
private XYMultipleSeriesRenderer renderer_eeg1 = new XYMultipleSeriesRenderer();
private XYSeries series1;
private GraphicalView view_eeg1;


public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

renderer_eeg1.setAxisTitleTextSize(16);
renderer_eeg1.setChartTitleTextSize(20);
renderer_eeg1.setLabelsTextSize(15);
renderer_eeg1.setLegendTextSize(15);
renderer_eeg1.setMargins(new int[] {20, 30, 15, 0});
renderer_eeg1.setAxesColor(Color.BLUE);
renderer_eeg1.setXTitle("Time");
renderer_eeg1.setChartTitle("eeg1");
XYSeriesRenderer seriesrenderer1 = new XYSeriesRenderer();
seriesrenderer1.setColor(Color.YELLOW);
renderer_eeg1.addSeriesRenderer(seriesrenderer1); 
series1= new XYSeries("eeg1");
eeg1.addSeries(series1);
int a;
int b;
add();

for(int r=0;r<=600;r++){

      Thread timer = new Thread(){
            public void run(){
                try{
                    sleep(500);
                } catch (InterruptedException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                } 
            }
        };


   if(r%2==0){
      a=1;
      b=-1;
   }
   else{
      a=-1;
      b=1;
   }

   series1.add(r, a);
       if(r<=50){
      renderer_eeg1.setXAxisMax(50);
       }
       else if(r>50){
          double maxX = series1.getMaxX();
      double minX = maxX - 50;
          renderer_eeg1.setXAxisMin(minX);
       }
       view_eeg1.repaint();
}
}


protected void onResume() {
super.onResume();  
if (view_eeg1== null) {
LinearLayout layout_eeg1 = (LinearLayout) findViewById(R.id.chart1);
view_eeg1= ChartFactory.getLineChartView(this, eeg1, renderer_eeg1);
layout_eeg1.addView(view_eeg1,new LayoutParams(LayoutParams.FILL_PARENT,  LayoutParams.FILL_PARENT));
} else {
 view_eeg1.repaint();}
}

}
  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-07T13:40:51+00:00Added an answer on June 7, 2026 at 1:40 pm
    1. You repaint before your chart is actually added to the view so it doesn’t get painted.
    2. Your code is not inside the threads you are creating.
    3. You are creating 600 threads but you run none of them.
    4. Your onResume code looks like you think onResume is called many times which is usually false.
    5. Activity does not have any Add() function, do you have one what is that supposed to do?

    I think this will work better:

    public class RandomActivity extends Activity {
    private XYMultipleSeriesDataset eeg1 = new XYMultipleSeriesDataset();
    private XYMultipleSeriesRenderer renderer_eeg1 = new XYMultipleSeriesRenderer();
    private XYSeries series1;
    private GraphicalView view_eeg1;
    
    public void onCreate(Bundle savedInstanceState) {
    
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    
        renderer_eeg1.setAxisTitleTextSize(16);
        renderer_eeg1.setChartTitleTextSize(20);
        renderer_eeg1.setLabelsTextSize(15);
        renderer_eeg1.setLegendTextSize(15);
        renderer_eeg1.setMargins(new int[] {20, 30, 15, 0});
        renderer_eeg1.setAxesColor(Color.BLUE);
        renderer_eeg1.setXTitle("Time");
        renderer_eeg1.setChartTitle("eeg1");
        XYSeriesRenderer seriesrenderer1 = new XYSeriesRenderer();
        seriesrenderer1.setColor(Color.YELLOW);
        renderer_eeg1.addSeriesRenderer(seriesrenderer1); 
        series1= new XYSeries("eeg1");
        eeg1.addSeries(series1);
        int a;
        Thread timer = new Thread(){
            public void run(){
                try{
                    for(int r=0;r<=600;r++){
                        sleep(500);
                        if(r%2==0){
                            a=1;
                        }
                        else{
                            a=-1;
                        }
                        series1.add(r, a);
                        if(r<=50){
                            renderer_eeg1.setXAxisMax(50);
                        }
                        else if(r>50){
                            double maxX = series1.getMaxX();
                            double minX = maxX - 50;
                            renderer_eeg1.setXAxisMin(minX);
                        }
                        view_eeg1.repaint();
    
                    } catch (InterruptedException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    } 
                }
            };
        timer.start()
        }
    
        protected void onResume() {
            super.onResume();  
                if (view_eeg1== null) {
                    LinearLayout layout_eeg1 = (LinearLayout) findViewById(R.id.chart1);
                    view_eeg1= ChartFactory.getLineChartView(this, eeg1, renderer_eeg1);
                    layout_eeg1.addView(view_eeg1,new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
                    } else {
                    view_eeg1.repaint();}
                }
            }
        }
    }
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I am new to android, and I have been using AChartEngine to make graphs
I'm using the new ViewPager -view from the Android compatibility library, and I can't
i am creating a new android application.i am using the table layout. I have
I'm new to Mono for Android (using MonoDevelop) and Android development in general. I
I am new to Android development and facing a problem while using AndEngine. I
I am new in android and i print log-cat using: Log.w(Tag, String text); and
I am new in android, I am using jackson-all-1.9.4 jar in my application for
I am using the camera by creating an intent: Intent cameraI = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
I am new to Android development. In my project, I’m using EditText, but I
I'm trying to share some text using an intent: Intent i = new Intent(android.content.Intent.ACTION_SEND);

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.