- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 achartengine for android 绘制加速度计数据。但是一旦启动 Activity ,应用程序就会挂起并在一段时间后显示 ANR。请有人告诉我我哪里错了。这是我的代码。
public class TestButtonActivity extends Activity implements
SensorEventListener{
private LinearLayout lyGforce;
private SensorManager mSensorManager;
private Sensor mAccelerometer;
private TimeSeries timeSeriesGforcex;
private TimeSeries timeSeriesGforcey;
private TimeSeries timeSeriesGforcez;
private XYMultipleSeriesDataset datasetGforce;
private XYMultipleSeriesRenderer rendererGforce;
private XYSeriesRenderer rendererSeriesGforce;
private XYSeriesRenderer rendererSeriesGforcey;
private XYSeriesRenderer rendererSeriesGforcez;
private GraphicalView viewGforce;
Handler h;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_test_button);
Log.e("", "deepak");
h = new Handler();
mSensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
mAccelerometer = mSensorManager
.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
mSensorManager.registerListener(this, mAccelerometer,
SensorManager.SENSOR_DELAY_UI);
datasetGforce = new XYMultipleSeriesDataset();
rendererGforce = new XYMultipleSeriesRenderer();
rendererGforce.setApplyBackgroundColor(true);
rendererGforce.setBackgroundColor(Color.argb(100, 50, 50, 50));
rendererGforce.setAxisTitleTextSize(16);
rendererGforce.setChartTitleTextSize(20);
rendererGforce.setLabelsTextSize(15);
rendererGforce.setLegendTextSize(15);
rendererGforce.setMargins(new int[] { 20, 30, 15, 20 });
// rendererGforce.setZoomButtonsVisible(true);
rendererGforce.setPointSize(10);
rendererGforce.setShowGrid(true);
rendererGforce.setGridColor(Color.WHITE);
rendererSeriesGforce = new XYSeriesRenderer();
rendererSeriesGforce.setColor(Color.GREEN);
rendererSeriesGforce.setLineWidth(2);
rendererSeriesGforcey = new XYSeriesRenderer();
rendererSeriesGforcey.setColor(Color.RED);
rendererSeriesGforcey.setLineWidth(2);
rendererSeriesGforcez = new XYSeriesRenderer();
rendererSeriesGforcez.setColor(Color.BLUE);
rendererSeriesGforcez.setLineWidth(2);
rendererGforce.addSeriesRenderer(rendererSeriesGforce);
rendererGforce.addSeriesRenderer(rendererSeriesGforcey);
rendererGforce.addSeriesRenderer(rendererSeriesGforcez);
timeSeriesGforcex = new TimeSeries("x");
timeSeriesGforcey = new TimeSeries("y");
timeSeriesGforcez = new TimeSeries("z");
datasetGforce.addSeries(timeSeriesGforcex);
datasetGforce.addSeries(timeSeriesGforcey);
datasetGforce.addSeries(timeSeriesGforcez);
viewGforce = ChartFactory.getTimeChartView(this, datasetGforce,
rendererGforce, "");
viewGforce.refreshDrawableState();
viewGforce.repaint();
lyGforce = (LinearLayout) findViewById(R.id.graph_view_container);
lyGforce.addView(viewGforce);
viewGforce.refreshDrawableState();
viewGforce.repaint();
}
@Override
protected void onResume() {
super.onResume();
}
@Override
protected void onPause() {
Log.d("onPause", "onPause");
mSensorManager.unregisterListener(this);
super.onPause();
}
@Override
public void onAccuracyChanged(Sensor sensor, int accuracy) {
}
@Override
public void onSensorChanged(SensorEvent event) {
float x = event.values[0];
float y = event.values[1];
float z = event.values[2];
Log.d("", "" + x + "" + y + "" + z);
timeSeriesGforcex.add(new Date(), x);
timeSeriesGforcey.add(new Date(), y);
timeSeriesGforcez.add(new Date(), z);
rendererGforce.setXAxisMax(rendererGforce.getXAxisMax() + 100);
rendererGforce.setXAxisMin(rendererGforce.getXAxisMin() + 30);
viewGforce.repaint();
}}
这就是 logcat 所说的:
05-10 11:47:16.765: I/dalvikvm(3046): threadid=3: reacting to signal 3
05-10 11:47:17.016: D/dalvikvm(3046): JIT unchain all for threadid=1
05-10 11:47:17.766: W/dalvikvm(3046): threadid=3: spin on suspend #1 threadid=1 (pcf=0)
05-10 11:47:18.517: W/dalvikvm(3046): threadid=3: spin on suspend #2 threadid=1 (pcf=0)
05-10 11:47:18.517: I/dalvikvm(3046): "Signal Catcher" daemon prio=5 tid=3 RUNNABLE
05-10 11:47:18.517: I/dalvikvm(3046): | group="system" sCount=0 dsCount=0 obj=0x418cd468 self=0x5adad250
05-10 11:47:18.517: I/dalvikvm(3046): | sysTid=3050 nice=0 sched=0/0 cgrp=apps handle=1524468640
05-10 11:47:18.517: I/dalvikvm(3046): | state=R schedstat=( 0 0 0 ) utm=0 stm=0 core=1
05-10 11:47:18.517: I/dalvikvm(3046): at dalvik.system.NativeStart.run(Native Method)
05-10 11:47:18.517: I/dalvikvm(3046): "main" prio=5 tid=1 RUNNABLE JIT
05-10 11:47:18.517: I/dalvikvm(3046): | group="main" sCount=1 dsCount=0 obj=0x41630728 self=0x4161a658
05-10 11:47:18.517: I/dalvikvm(3046): | sysTid=3046 nice=0 sched=0/0 cgrp=apps handle=1074864124
05-10 11:47:18.517: I/dalvikvm(3046): | state=R schedstat=( 0 0 0 ) utm=2175 stm=26 core=0
05-10 11:47:18.517: I/dalvikvm(3046): at org.achartengine.chart.TimeChart.getXLabels(TimeChart.java:~190)
05-10 11:47:18.517: I/dalvikvm(3046): at org.achartengine.chart.XYChart.draw(XYChart.java:314)
05-10 11:47:18.517: I/dalvikvm(3046): at org.achartengine.GraphicalView.onDraw(GraphicalView.java:166)
05-10 11:47:18.517: I/dalvikvm(3046): at android.view.View.draw(View.java:14126)
05-10 11:47:18.517: I/dalvikvm(3046): at android.view.View.getDisplayList(View.java:13020)
05-10 11:47:18.517: I/dalvikvm(3046): at android.view.View.getDisplayList(View.java:13062)
05-10 11:47:18.517: I/dalvikvm(3046): at android.view.View.draw(View.java:13839)
05-10 11:47:18.517: I/dalvikvm(3046): at android.view.ViewGroup.drawChild(ViewGroup.java:3086)
05-10 11:47:18.517: I/dalvikvm(3046): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2923)
05-10 11:47:18.517: I/dalvikvm(3046): at android.view.View.getDisplayList(View.java:13015)
05-10 11:47:18.517: I/dalvikvm(3046): at android.view.View.getDisplayList(View.java:13062)
05-10 11:47:18.517: I/dalvikvm(3046): at android.view.View.draw(View.java:13839)
05-10 11:47:18.517: I/dalvikvm(3046): at android.view.ViewGroup.drawChild(ViewGroup.java:3086)
05-10 11:47:18.517: I/dalvikvm(3046): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2923)
05-10 11:47:18.517: I/dalvikvm(3046): at android.view.View.getDisplayList(View.java:13015)
05-10 11:47:18.517: I/dalvikvm(3046): at android.view.View.getDisplayList(View.java:13062)
05-10 11:47:18.517: I/dalvikvm(3046): at android.view.View.draw(View.java:13839)
05-10 11:47:18.517: I/dalvikvm(3046): at android.view.ViewGroup.drawChild(ViewGroup.java:3086)
05-10 11:47:18.517: I/dalvikvm(3046): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2923)
05-10 11:47:18.517: I/dalvikvm(3046): at android.view.View.getDisplayList(View.java:13015)
05-10 11:47:18.517: I/dalvikvm(3046): at android.view.View.getDisplayList(View.java:13062)
05-10 11:47:18.517: I/dalvikvm(3046): at android.view.View.draw(View.java:13839)
05-10 11:47:18.517: I/dalvikvm(3046): at android.view.ViewGroup.drawChild(ViewGroup.java:3086)
05-10 11:47:18.517: I/dalvikvm(3046): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2923)
05-10 11:47:18.517: I/dalvikvm(3046): at android.view.View.draw(View.java:14129)
05-10 11:47:18.517: I/dalvikvm(3046): at android.widget.FrameLayout.draw(FrameLayout.java:471)
05-10 11:47:18.517: I/dalvikvm(3046): at com.android.internal.policy.impl.PhoneWindow$DecorView.draw(PhoneWindow.java:2231)
05-10 11:47:18.517: I/dalvikvm(3046): at android.view.View.getDisplayList(View.java:13020)
05-10 11:47:18.517: I/dalvikvm(3046): at android.view.View.getDisplayList(View.java:13062)
05-10 11:47:18.517: I/dalvikvm(3046): at android.view.HardwareRenderer$GlRenderer.buildDisplayList(HardwareRenderer.java:1411)
05-10 11:47:18.517: I/dalvikvm(3046): at android.view.HardwareRenderer$GlRenderer.draw(HardwareRenderer.java:1359)
05-10 11:47:18.517: I/dalvikvm(3046): at android.view.ViewRootImpl.draw(ViewRootImpl.java:2377)
05-10 11:47:18.517: I/dalvikvm(3046): at android.view.ViewRootImpl.performDraw(ViewRootImpl.java:2249)
05-10 11:47:18.517: I/dalvikvm(3046): at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1882)
05-10 11:47:18.517: I/dalvikvm(3046): at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1009)
05-10 11:47:18.517: I/dalvikvm(3046): at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5508)
05-10 11:47:18.517: I/dalvikvm(3046): at android.view.Choreographer$CallbackRecord.run(Choreographer.java:749)
05-10 11:47:18.517: I/dalvikvm(3046): at android.view.Choreographer.doCallbacks(Choreographer.java:562)
05-10 11:47:18.517: I/dalvikvm(3046): at android.view.Choreographer.doFrame(Choreographer.java:532)
05-10 11:47:18.517: I/dalvikvm(3046): at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:735)
05-10 11:47:18.517: I/dalvikvm(3046): at android.os.Handler.handleCallback(Handler.java:730)
05-10 11:47:18.517: I/dalvikvm(3046): at android.os.Handler.dispatchMessage(Handler.java:92)
05-10 11:47:18.517: I/dalvikvm(3046): at android.os.Looper.loop(Looper.java:213)
05-10 11:47:18.517: I/dalvikvm(3046): at android.app.ActivityThread.main(ActivityThread.java:5225)
05-10 11:47:18.517: I/dalvikvm(3046): at java.lang.reflect.Method.invokeNative(Native Method)
05-10 11:47:18.517: I/dalvikvm(3046): at java.lang.reflect.Method.invoke(Method.java:525)
05-10 11:47:18.517: I/dalvikvm(3046): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:741)
05-10 11:47:18.517: I/dalvikvm(3046): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:557)
05-10 11:47:18.517: I/dalvikvm(3046): at dalvik.system.NativeStart.main(Native Method)
05-10 11:47:19.268: W/dalvikvm(3046): threadid=3: spin on suspend #3 threadid=1 (pcf=0)
05-10 11:47:19.268: I/dalvikvm(3046): "Signal Catcher" daemon prio=5 tid=3 RUNNABLE
05-10 11:47:19.268: I/dalvikvm(3046): | group="system" sCount=0 dsCount=0 obj=0x418cd468 self=0x5adad250
05-10 11:47:19.268: I/dalvikvm(3046): | sysTid=3050 nice=0 sched=0/0 cgrp=apps handle=1524468640
05-10 11:47:19.268: I/dalvikvm(3046): | state=R schedstat=( 0 0 0 ) utm=0 stm=0 core=1
05-10 11:47:19.268: I/dalvikvm(3046): at dalvik.system.NativeStart.run(Native Method)
05-10 11:47:19.268: I/dalvikvm(3046): "main" prio=5 tid=1 RUNNABLE JIT
05-10 11:47:19.268: I/dalvikvm(3046): | group="main" sCount=1 dsCount=0 obj=0x41630728 self=0x4161a658
05-10 11:47:19.268: I/dalvikvm(3046): | sysTid=3046 nice=0 sched=0/0 cgrp=apps handle=1074864124
05-10 11:47:19.268: I/dalvikvm(3046): | state=R schedstat=( 0 0 0 ) utm=2246 stm=26 core=0
05-10 11:47:19.268: I/dalvikvm(3046): at org.achartengine.chart.TimeChart.getXLabels(TimeChart.java:~190)
05-10 11:47:19.268: I/dalvikvm(3046): at org.achartengine.chart.XYChart.draw(XYChart.java:314)
05-10 11:47:19.268: I/dalvikvm(3046): at org.achartengine.GraphicalView.onDraw(GraphicalView.java:166)
05-10 11:47:19.268: I/dalvikvm(3046): at android.view.View.draw(View.java:14126)
05-10 11:47:19.268: I/dalvikvm(3046): at android.view.View.getDisplayList(View.java:13020)
05-10 11:47:19.268: I/dalvikvm(3046): at android.view.View.getDisplayList(View.java:13062)
05-10 11:47:19.268: I/dalvikvm(3046): at android.view.View.draw(View.java:13839)
05-10 11:47:19.268: I/dalvikvm(3046): at android.view.ViewGroup.drawChild(ViewGroup.java:3086)
05-10 11:47:19.268: I/dalvikvm(3046): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2923)
05-10 11:47:19.268: I/dalvikvm(3046): at android.view.View.getDisplayList(View.java:13015)
最佳答案
终于自己找到了。
rendererGforce.setShowGrid(true);
onCreate() 中的这条语句是罪魁祸首。将其从 onCreate() 中注释掉并添加到 onSensorChanged() 就在 viewGforce.repaint() 之前;它将完美运行。
确保在 onPause() 中将其设置回 false。
有一天可能会节省某人的时间。
关于android - 使用Achartengine绘制显示ANR的加速度计数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23577917/
我希望在我触摸图表区域的位置显示一个垂直光标。与此行关联的 textview 将显示条的值,即其中点的 y 轴值。当我将手指移到右边的左边同时保持我的手指向下 [向左移动或向右移动] 时,这个垂直光标
我正在为 Android 使用 aChartEngine 的 0.7.0 图表库。我有一个工作 XY 图表,当收到新数据时,它每秒动态变化。但是,它从左到右绘制折线图并最终移出 View 。查看正在绘
我的应用程序需要图形库,而我正在使用 achartengine 图形库。我的应用程序要求图形仅占屏幕的 50%,其他部分用于显示其他一些信息。 achartengine 的图形 API 是否可以有 x
我目前通过将 XYSeriesRenderer 颜色设置为白色来模拟此功能: final XYSeriesRenderer goodEventSeriesRenderer = new XYSe
我注意到我的时间图表的Xlabel与X- 值(value)观。这些点应在标签正上方。在左手边 可以,但是会向右移动。我不知道该怎么解决 我得到什么: http://tinypic.com/r/2uqj
我已使用默认渲染器尝试了以下操作 CategorySeries series = new CategorySeries("First test"); int numSlide = portions.l
我需要实现一个条形图,当用户触摸图表以垂直移动它时,它会读取值。图形向上移动,根据轴 记录值。以 x 轴为值,Y 轴为变量,我需要执行计算。理解示例 最佳答案 看看this例子。您还可以执行 mCha
我正在通过 achartengine 使用圆环图,它工作正常,但我不知道如何获取与用户单击的区域关联的值。通过阅读其他问题,我了解到这是可能的,但发布的修复程序对我不起作用。我尝试过使用 getCur
我在线性布局中使用 AChartEngine 绘制图表。 我在设置圆环图边距时遇到问题。我正在使用以下语句,但边距或中心没有改变。图表根据布局尺寸自动调整大小。有人可以帮忙吗? mRenderer.s
我正在尝试使用 aChartEngine 将 GPS 数据(正在查看或正在使用的卫星)显示为条形图,但我没有在此 View 中显示任何数据。这是我的代码,所以你能告诉我我犯了什么错误吗? public
我正在使用适用于 Android 的 AChartEngine 库,在时间图表中,x 标签与图表上的点不对应,正如您在图像中看到的那样。 看起来图表略微向右移动。有什么提示吗? 最佳答案 这可以用这个
如何在AChartEngine条形图中画笔画? 这对我不起作用: mCurrentSeries = new XYSeries("Sample Data"); mDataset.addSeries(mC
我的图表中有一个 sin 函数,用户可以在上面选择点。但是,当渲染器中唯一的 PointStyle 是 POINT 时,缩放颜色的背景是白色/透明的(不确定,因为我的背景是白色的)。但是,当我添加 P
我想使用 aChartEngine 在我的圆环图中添加可点击区域,但这还没有实现。我想我有办法实现它,所以我正在计划我需要的部分。我不确定的一部分是如何获得图表中心的孔的大小。具体来说,我需要知道内半
这是图表上显示任何最大值的方式。如何确保显示完整点? 最佳答案 手动设置Y轴最大可见值: renderer.setYAxisMax(10.5); 关于android - AChartEngine 只显
我用aChartEngine 创建了一个条形图。我遇到的问题是,为每个值(包括 0)创建条形。这意味着在值为 0 的地方,它会在相邻条形之间创建一个空间。 我想摆脱那个空间 - 我认为唯一的方法是在它
我在我的图 TableView 中的 TimeSeries 中添加了以下 4 个日期。 2-Jan-2013 3-Jan-2013 4-Jan-2013 7-Jan-2013 当我在模拟器中看到结果时
有什么方法可以在折线图中添加目标线? 我想绘制条形图中显示的绿线。 提前致谢。 最佳答案 我找到了答案。 我们可以使用 combinechart 来获取目标线。 // Specifying chart
我在我的 Android 应用程序中使用了 achartengine,并且能够绘制一些折线图。现在我需要绘制某种阈值线,它基本上是一条额外的红色线,它将在图表中的某个 Y 值处运行。 我阅读了有关阈值
在我的应用程序中,我切换了两个不同图表的 View 。第一次绘制的图形看起来很完美,但是当我转到另一个图形并返回时,看起来它绘制了同一个图形的两次,但大小不同,一旦您单击图形,它就会改变并看起来很完美
我是一名优秀的程序员,十分优秀!