質問編集履歴

4 ソースコードを変更しました。また実行時の状況を記載しました

nissy113

nissy113 score 10

2017/01/19 15:37  投稿

Android 加速度センサーの値をグラフで表示
プログラミング初心者のものです。
Androidの端末を使用して取得した加速度をグラフで表示したいのですが
プログラミング経験が少なく、うまくいきません
下のサイトを参考にしてるのですがうまくいきません
http://qiita.com/InoueDaiki/items/568b3328557bc44fb5d6
グラフを表示するためのbuild.gradleのコード追加はしています。
エラーとしてはDeplicate class 'Sensor_Actovoty'とでます。
コンパイルを行うと、実行はできるのですが加速度の値が表示されません。またグラフ表示もされていないので加速度の値が取れていなのでしょうか?
コンパイルを行うと  
Error:(50, 12) エラー: クラス Sensor_Activityはすでにパッケージ com.example.yoshihiro.streetrhythmで定義されています  
と出ます。  
下に現在のコードを載せます。どうにかならないでしょうか?  
```ここに言語を入力
コード
main.java  
import java.util.List;
import android.content.Intent;
import android.app.Activity;
import android.graphics.Color;
import android.hardware.Sensor;
import android.hardware.SensorEvent;
import android.hardware.SensorEventListener;
import android.hardware.SensorManager;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
package com.example.yoshihiro.streetrhythm;
import java.util.List;
import android.content.Intent;
import android.app.Activity;
import android.graphics.Color;
import android.hardware.Sensor;
import android.hardware.SensorEvent;
import android.hardware.SensorEventListener;
import android.hardware.SensorManager;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;
import com.github.mikephil.charting.charts.LineChart;
import com.github.mikephil.charting.data.Entry;
import com.github.mikephil.charting.data.LineData;
import com.github.mikephil.charting.data.LineDataSet;
import com.github.mikephil.charting.interfaces.datasets.ILineDataSet;
import com.google.android.gms.appindexing.Action;
import com.google.android.gms.appindexing.AppIndex;
import com.google.android.gms.appindexing.Thing;
import com.github.mikephil.charting.charts.LineChart;
import com.github.mikephil.charting.data.Entry;
import com.github.mikephil.charting.data.LineData;
import com.github.mikephil.charting.data.LineDataSet;
import com.github.mikephil.charting.interfaces.datasets.ILineDataSet;
import com.google.android.gms.appindexing.Action;
import com.google.android.gms.appindexing.AppIndex;
import com.google.android.gms.appindexing.Thing;
import com.google.android.gms.common.api.GoogleApiClient;
 
public class Sensor_Activity extends Activity {
SensorManager manager;  
Sensor sensor;  
TextView xTextView;  
TextView yTextView;  
TextView zTextView;  
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_sensor_);
   SensorManager manager;
   Sensor sensor;
   TextView xTextView;
   TextView yTextView;
   TextView zTextView;
xTextView = (TextView) findViewById(R.id.xValue);
yTextView = (TextView) findViewById(R.id.yValue);
zTextView = (TextView) findViewById(R.id.zValue);
   @Override
   public void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.activity_sensor_);
manager = (SensorManager) getSystemService(SENSOR_SERVICE);
sensor = manager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
       xTextView = (TextView) findViewById(R.id.xValue);
       yTextView = (TextView) findViewById(R.id.yValue);
       zTextView = (TextView) findViewById(R.id.zValue);
       manager = (SensorManager) getSystemService(SENSOR_SERVICE);  
       sensor = manager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);  
 
   }  
 
 
   public class a extends Activity implements SensorEventListener {  
 
       @Override  
       public void onAccuracyChanged(Sensor sensor, int accuracy) {  
 
       }  
 
       @Override  
       protected void onResume() {  
           super.onResume();  
           manager.registerListener(this, sensor, SensorManager.SENSOR_DELAY_UI);  
       }  
 
       @Override  
       protected void onPause() {  
           super.onPause();  
           manager.unregisterListener(this);  
       }  
 
 
       @Override  
       public void onSensorChanged(SensorEvent event) {  
           xTextView.setText(String.valueOf(event.values[0]));  
           yTextView.setText(String.valueOf(event.values[1]));  
           zTextView.setText(String.valueOf(event.values[2]));  
 
           LineData data = mChart.getLineData();  
           if (data != null) {  
               for (int i = 0; i < 3; i++) { // 3軸なのでそれぞれ処理します  
                   ILineDataSet set = data.getDataSetByIndex(i);  
                   if (set == null) {  
                       set = createSet(names[i], colors[i]); // ILineDataSetの初期化は別メソッドにまとめました  
                       data.addDataSet(set);  
                   }  
 
                   data.addEntry(new Entry(set.getEntryCount(), event.values[i]), i); // 実際にデータを追加する  
                   data.notifyDataChanged();  
               }  
 
               mChart.notifyDataSetChanged(); // 表示の更新のために変更を通知する  
               mChart.setVisibleXRangeMaximum(50); // 表示の幅を決定する  
               mChart.moveViewToX(data.getEntryCount()); // 最新のデータまで表示を移動させる  
           }  
       }  
 
       LineChart mChart;  
 
       String[] names = new String[]{"x-value", "y-value", "z-value"};  
       int[] colors = new int[]{Color.RED, Color.GREEN, Color.BLUE};  
 
       @Override  
       protected void onCreate(Bundle savedInstanceState) {  
 
           mChart = (LineChart) findViewById(R.id.lineChart);  
 
           mChart.setDescription(""); // 表のタイトルを空にする  
           mChart.setData(new LineData()); // 空のLineData型インスタンスを追加  
       }  
 
       private LineDataSet createSet(String label, int color) {  
           LineDataSet set = new LineDataSet(null, label);  
           set.setLineWidth(2.5f); // 線の幅を指定  
           set.setColor(color); // 線の色を指定  
           set.setDrawCircles(false); // ポイントごとの円を表示しない  
           set.setDrawValues(false); // 値を表示しない  
 
           return set;  
       }  
   }  
}
public class Sensor_Activity extends Activity implements SensorEventListener {  
 
@Override  
public void onAccuracyChanged(Sensor sensor, int accuracy) {  
 
}  
 
@Override  
protected void onResume() {  
super.onResume();  
manager.registerListener(this, sensor, SensorManager.SENSOR_DELAY_UI);  
}  
 
@Override  
protected void onPause() {  
super.onPause();  
manager.unregisterListener(this);  
}  
 
@Override  
public void onSensorChanged(SensorEvent event) {  
xTextView.setText(String.valueOf(event.values[0]));  
yTextView.setText(String.valueOf(event.values[1]));  
zTextView.setText(String.valueOf(event.values[2]));  
 
LineData data = mChart.getLineData();  
if (data != null) {  
for (int i = 0; i < 3; i++) { // 3軸なのでそれぞれ処理します  
ILineDataSet set = data.getDataSetByIndex(i);  
if (set == null) {  
set = createSet(names[i], colors[i]); // ILineDataSetの初期化は別メソッドにまとめました  
data.addDataSet(set);  
}  
 
data.addEntry(new Entry(set.getEntryCount(), event.values[i]), i); // 実際にデータを追加する  
data.notifyDataChanged();  
}  
 
mChart.notifyDataSetChanged(); // 表示の更新のために変更を通知する  
mChart.setVisibleXRangeMaximum(50); // 表示の幅を決定する  
mChart.moveViewToX(data.getEntryCount()); // 最新のデータまで表示を移動させる  
}  
}  
 
private LineDataSet createSet(String label, int color) {  
LineDataSet set = new LineDataSet(null, label);  
set.setLineWidth(2.5f); // 線の幅を指定  
set.setColor(color); // 線の色を指定  
set.setDrawCircles(false); // ポイントごとの円を表示しない  
set.setDrawValues(false); // 値を表示しない  
 
return set;  
}  
 
LineChart mChart;  
 
String[] names = new String[]{"x-value", "y-value", "z-value"};  
int[] colors = new int[]{Color.RED, Color.GREEN, Color.BLUE};  
 
@Override  
protected void onCreate(Bundle savedInstanceState) {  
 
mChart = (LineChart) findViewById(R.id.lineChart);  
 
mChart.setDescription(""); // 表のタイトルを空にする  
mChart.setData(new LineData()); // 空のLineData型インスタンスを追加  
}  
}  
}  
xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_sensor"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.yoshihiro.streetrhythm.Sensor_Activity">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/xValue"
android:layout_alignLeft="@+id/xValue"
android:layout_alignStart="@+id/xValue"
android:layout_marginTop="11dp"
android:id="@+id/yValue" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="14dp"
android:id="@+id/zValue"
android:layout_below="@+id/yValue"
android:layout_alignLeft="@+id/yValue"
android:layout_alignStart="@+id/yValue"
android:layout_alignRight="@+id/yValue"
android:layout_alignEnd="@+id/yValue" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="12dp"
android:layout_marginStart="12dp"
android:layout_marginTop="14dp"
android:id="@+id/xValue"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
<com.github.mikephil.charting.charts.LineChart
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/lineChart"/>
</RelativeLayout>
```
  • Java

    18650 questions

    Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

  • Android

    8350 questions

    Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

  • Android Studio

    5092 questions

    Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

3 コンパイル結果を載せました

nissy113

nissy113 score 10

2017/01/19 02:33  投稿

Android 加速度センサーの値をグラフで表示
プログラミング初心者のものです。
Androidの端末を使用して取得した加速度をグラフで表示したいのですが
プログラミング経験が少なく、うまくいきません
下のサイトを参考にしてるのですがうまくいきません
http://qiita.com/InoueDaiki/items/568b3328557bc44fb5d6
グラフを表示するためのbuild.gradleのコード追加はしています。
エラーとしてはDeplicate class 'Sensor_Actovoty'とでます。
 
コンパイルを行うと  
Error:(50, 12) エラー: クラス Sensor_Activityはすでにパッケージ com.example.yoshihiro.streetrhythmで定義されています  
と出ます。  
下に現在のコードを載せます。どうにかならないでしょうか?
```ここに言語を入力
コード
main.java
import java.util.List;
import android.content.Intent;
import android.app.Activity;
import android.graphics.Color;
import android.hardware.Sensor;
import android.hardware.SensorEvent;
import android.hardware.SensorEventListener;
import android.hardware.SensorManager;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;
import com.github.mikephil.charting.charts.LineChart;
import com.github.mikephil.charting.data.Entry;
import com.github.mikephil.charting.data.LineData;
import com.github.mikephil.charting.data.LineDataSet;
import com.github.mikephil.charting.interfaces.datasets.ILineDataSet;
import com.google.android.gms.appindexing.Action;
import com.google.android.gms.appindexing.AppIndex;
import com.google.android.gms.appindexing.Thing;
import com.google.android.gms.common.api.GoogleApiClient;
public class Sensor_Activity extends Activity {
SensorManager manager;
Sensor sensor;
TextView xTextView;
TextView yTextView;
TextView zTextView;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_sensor_);
xTextView = (TextView) findViewById(R.id.xValue);
yTextView = (TextView) findViewById(R.id.yValue);
zTextView = (TextView) findViewById(R.id.zValue);
manager = (SensorManager) getSystemService(SENSOR_SERVICE);
sensor = manager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
}
public class Sensor_Activity extends Activity implements SensorEventListener {
@Override
public void onAccuracyChanged(Sensor sensor, int accuracy) {
}
@Override
protected void onResume() {
super.onResume();
manager.registerListener(this, sensor, SensorManager.SENSOR_DELAY_UI);
}
@Override
protected void onPause() {
super.onPause();
manager.unregisterListener(this);
}
@Override
public void onSensorChanged(SensorEvent event) {
xTextView.setText(String.valueOf(event.values[0]));
yTextView.setText(String.valueOf(event.values[1]));
zTextView.setText(String.valueOf(event.values[2]));
LineData data = mChart.getLineData();
if (data != null) {
for (int i = 0; i < 3; i++) { // 3軸なのでそれぞれ処理します
ILineDataSet set = data.getDataSetByIndex(i);
if (set == null) {
set = createSet(names[i], colors[i]); // ILineDataSetの初期化は別メソッドにまとめました
data.addDataSet(set);
}
data.addEntry(new Entry(set.getEntryCount(), event.values[i]), i); // 実際にデータを追加する
data.notifyDataChanged();
}
mChart.notifyDataSetChanged(); // 表示の更新のために変更を通知する
mChart.setVisibleXRangeMaximum(50); // 表示の幅を決定する
mChart.moveViewToX(data.getEntryCount()); // 最新のデータまで表示を移動させる
}
}
private LineDataSet createSet(String label, int color) {
LineDataSet set = new LineDataSet(null, label);
set.setLineWidth(2.5f); // 線の幅を指定
set.setColor(color); // 線の色を指定
set.setDrawCircles(false); // ポイントごとの円を表示しない
set.setDrawValues(false); // 値を表示しない
return set;
}
LineChart mChart;
String[] names = new String[]{"x-value", "y-value", "z-value"};
int[] colors = new int[]{Color.RED, Color.GREEN, Color.BLUE};
@Override
protected void onCreate(Bundle savedInstanceState) {
mChart = (LineChart) findViewById(R.id.lineChart);
mChart.setDescription(""); // 表のタイトルを空にする
mChart.setData(new LineData()); // 空のLineData型インスタンスを追加
}
}
}
xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_sensor"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.yoshihiro.streetrhythm.Sensor_Activity">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/xValue"
android:layout_alignLeft="@+id/xValue"
android:layout_alignStart="@+id/xValue"
android:layout_marginTop="11dp"
android:id="@+id/yValue" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="14dp"
android:id="@+id/zValue"
android:layout_below="@+id/yValue"
android:layout_alignLeft="@+id/yValue"
android:layout_alignStart="@+id/yValue"
android:layout_alignRight="@+id/yValue"
android:layout_alignEnd="@+id/yValue" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="12dp"
android:layout_marginStart="12dp"
android:layout_marginTop="14dp"
android:id="@+id/xValue"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
<com.github.mikephil.charting.charts.LineChart
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/lineChart"/>
</RelativeLayout>
```
  • Java

    18650 questions

    Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

  • Android

    8350 questions

    Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

  • Android Studio

    5092 questions

    Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

2 若干のコードを修正しました

nissy113

nissy113 score 10

2017/01/19 02:25  投稿

Android 加速度センサーの値をグラフで表示
プログラミング初心者のものです。
Androidの端末を使用して取得した加速度をグラフで表示したいのですが
プログラミング経験が少なく、うまくいきません
下のサイトを参考にしてるのですがうまくいきません
http://qiita.com/InoueDaiki/items/568b3328557bc44fb5d6
グラフを表示するためのbuild.gradleのコード追加はしています。
エラーとしてはDeplicate class 'Sensor_Actovoty'とでます。
下に現在のコードを載せます。どうにかならないでしょうか?
```ここに言語を入力
コード
main.java
import java.util.List;
import android.content.Intent;
import android.app.Activity;
import android.graphics.Color;
import android.hardware.Sensor;
import android.hardware.SensorEvent;
import android.hardware.SensorEventListener;
import android.hardware.SensorManager;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;
import com.github.mikephil.charting.charts.LineChart;
import com.github.mikephil.charting.data.Entry;
import com.github.mikephil.charting.data.LineData;
import com.github.mikephil.charting.data.LineDataSet;
import com.github.mikephil.charting.interfaces.datasets.ILineDataSet;
import com.google.android.gms.appindexing.Action;
import com.google.android.gms.appindexing.AppIndex;
import com.google.android.gms.appindexing.Thing;
import com.google.android.gms.common.api.GoogleApiClient;
public class Sensor_Activity extends Activity {
SensorManager manager;
Sensor sensor;
TextView xTextView;
TextView yTextView;
TextView zTextView;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_sensor_);
xTextView = (TextView) findViewById(R.id.xValue);
yTextView = (TextView) findViewById(R.id.yValue);
zTextView = (TextView) findViewById(R.id.zValue);
manager = (SensorManager) getSystemService(SENSOR_SERVICE);
sensor = manager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
}
public class Sensor_Activity extends Activity implements SensorEventListener {
@Override
public void onAccuracyChanged(Sensor sensor, int accuracy) {
}
@Override
protected void onResume() {
super.onResume();
manager.registerListener(this, sensor, SensorManager.SENSOR_DELAY_UI);
}
@Override
protected void onPause() {
super.onPause();
manager.unregisterListener(this);
}
@Override
public void onSensorChanged(SensorEvent event) {
xTextView.setText(String.valueOf(event.values[0]));
yTextView.setText(String.valueOf(event.values[1]));
zTextView.setText(String.valueOf(event.values[2]));
ineData data = mChart.getLineData();
LineData data = mChart.getLineData();
if (data != null) {
for (int i = 0; i < 3; i++) { // 3軸なのでそれぞれ処理します
ILineDataSet set = data.getDataSetByIndex(i);
if (set == null) {
set = createSet(names[i], colors[i]); // ILineDataSetの初期化は別メソッドにまとめました
data.addDataSet(set);
}
data.addEntry(new Entry(set.getEntryCount(), event.values[i]), i); // 実際にデータを追加する
data.notifyDataChanged();
}
mChart.notifyDataSetChanged(); // 表示の更新のために変更を通知する
mChart.setVisibleXRangeMaximum(50); // 表示の幅を決定する
mChart.moveViewToX(data.getEntryCount()); // 最新のデータまで表示を移動させる
}
}
private LineDataSet createSet(String label, int color) {
LineDataSet set = new LineDataSet(null, label);
set.setLineWidth(2.5f); // 線の幅を指定
set.setColor(color); // 線の色を指定
set.setDrawCircles(false); // ポイントごとの円を表示しない
set.setDrawValues(false); // 値を表示しない
return set;
}
LineChart mChart;
String[] names = new String[]{"x-value", "y-value", "z-value"};
int[] colors = new int[]{Color.RED, Color.GREEN, Color.BLUE};
@Override
protected void onCreate(Bundle savedInstanceState) {
mChart = (LineChart) findViewById(R.id.lineChart);
mChart.setDescription(""); // 表のタイトルを空にする
mChart.setData(new LineData()); // 空のLineData型インスタンスを追加
}
}
}
xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_sensor"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.yoshihiro.streetrhythm.Sensor_Activity">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/xValue"
android:layout_alignLeft="@+id/xValue"
android:layout_alignStart="@+id/xValue"
android:layout_marginTop="11dp"
android:id="@+id/yValue" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="14dp"
android:id="@+id/zValue"
android:layout_below="@+id/yValue"
android:layout_alignLeft="@+id/yValue"
android:layout_alignStart="@+id/yValue"
android:layout_alignRight="@+id/yValue"
android:layout_alignEnd="@+id/yValue" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="12dp"
android:layout_marginStart="12dp"
android:layout_marginTop="14dp"
android:id="@+id/xValue"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
<com.github.mikephil.charting.charts.LineChart
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/lineChart"/>
</RelativeLayout>
```
  • Java

    18650 questions

    Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

  • Android

    8350 questions

    Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

  • Android Studio

    5092 questions

    Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

1 コードの記入方法を変更しました

nissy113

nissy113 score 10

2017/01/19 02:22  投稿

Android 加速度センサーの値をグラフで表示
プログラミング初心者のものです。
Androidの端末を使用して取得した加速度をグラフで表示したいのですが
プログラミング経験が少なく、うまくいきません
下のサイトを参考にしてるのですがうまくいきません
http://qiita.com/InoueDaiki/items/568b3328557bc44fb5d6
グラフを表示するためのbuild.gradleのコード追加はしています。
エラーとしてはDeplicate class 'Sensor_Actovoty'とでます。
下に現在のコードを載せます。どうにかならないでしょうか?
```ここに言語を入力
コード
main.java
import java.util.List;
import android.content.Intent;
import android.app.Activity;
import android.graphics.Color;
import android.hardware.Sensor;
import android.hardware.SensorEvent;
import android.hardware.SensorEventListener;
import android.hardware.SensorManager;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import java.util.List;
import android.content.Intent;
import android.app.Activity;
import android.graphics.Color;
import android.hardware.Sensor;
import android.hardware.SensorEvent;
import android.hardware.SensorEventListener;
import android.hardware.SensorManager;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;
import com.github.mikephil.charting.charts.LineChart;
import com.github.mikephil.charting.data.Entry;
import com.github.mikephil.charting.data.LineData;
import com.github.mikephil.charting.data.LineDataSet;
import com.github.mikephil.charting.interfaces.datasets.ILineDataSet;
import com.google.android.gms.appindexing.Action;
import com.google.android.gms.appindexing.AppIndex;
import com.google.android.gms.appindexing.Thing;
import com.github.mikephil.charting.charts.LineChart;
import com.github.mikephil.charting.data.Entry;
import com.github.mikephil.charting.data.LineData;
import com.github.mikephil.charting.data.LineDataSet;
import com.github.mikephil.charting.interfaces.datasets.ILineDataSet;
import com.google.android.gms.appindexing.Action;
import com.google.android.gms.appindexing.AppIndex;
import com.google.android.gms.appindexing.Thing;
import com.google.android.gms.common.api.GoogleApiClient;
 
public class Sensor_Activity extends Activity {
SensorManager manager;  
Sensor sensor;  
TextView xTextView;  
TextView yTextView;  
TextView zTextView;  
   SensorManager manager;
   Sensor sensor;
   TextView xTextView;
   TextView yTextView;
   TextView zTextView;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_sensor_);
   @Override
   public void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.activity_sensor_);
xTextView = (TextView) findViewById(R.id.xValue);
yTextView = (TextView) findViewById(R.id.yValue);
zTextView = (TextView) findViewById(R.id.zValue);
       xTextView = (TextView) findViewById(R.id.xValue);
       yTextView = (TextView) findViewById(R.id.yValue);
       zTextView = (TextView) findViewById(R.id.zValue);
manager = (SensorManager) getSystemService(SENSOR_SERVICE);
sensor = manager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
       manager = (SensorManager) getSystemService(SENSOR_SERVICE);
       sensor = manager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
}
   }
public class Sensor_Activity extends Activity implements SensorEventListener {
   public class Sensor_Activity extends Activity implements SensorEventListener {
@Override
public void onAccuracyChanged(Sensor sensor, int accuracy) {
       @Override
       public void onAccuracyChanged(Sensor sensor, int accuracy) {
}
       }
@Override
protected void onResume() {
super.onResume();
manager.registerListener(this, sensor, SensorManager.SENSOR_DELAY_UI);
}
       @Override
       protected void onResume() {
           super.onResume();
           manager.registerListener(this, sensor, SensorManager.SENSOR_DELAY_UI);
       }
@Override
protected void onPause() {
super.onPause();
manager.unregisterListener(this);
}
       @Override
       protected void onPause() {
           super.onPause();
           manager.unregisterListener(this);
       }
@Override
public void onSensorChanged(SensorEvent event) {
xTextView.setText(String.valueOf(event.values[0]));
yTextView.setText(String.valueOf(event.values[1]));
zTextView.setText(String.valueOf(event.values[2]));
       @Override
       public void onSensorChanged(SensorEvent event) {
           xTextView.setText(String.valueOf(event.values[0]));
           yTextView.setText(String.valueOf(event.values[1]));
           zTextView.setText(String.valueOf(event.values[2]));
ineData data = mChart.getLineData();
if (data != null) {
for (int i = 0; i < 3; i++) { // 3軸なのでそれぞれ処理します
ILineDataSet set = data.getDataSetByIndex(i);
if (set == null) {
set = createSet(names[i], colors[i]); // ILineDataSetの初期化は別メソッドにまとめました
data.addDataSet(set);
}
           ineData data = mChart.getLineData();
           if (data != null) {
               for (int i = 0; i < 3; i++) { // 3軸なのでそれぞれ処理します
                   ILineDataSet set = data.getDataSetByIndex(i);
                   if (set == null) {
                       set = createSet(names[i], colors[i]); // ILineDataSetの初期化は別メソッドにまとめました
                       data.addDataSet(set);
                   }
data.addEntry(new Entry(set.getEntryCount(), event.values[i]), i); // 実際にデータを追加する
data.notifyDataChanged();
}
                   data.addEntry(new Entry(set.getEntryCount(), event.values[i]), i); // 実際にデータを追加する
                   data.notifyDataChanged();
               }
mChart.notifyDataSetChanged(); // 表示の更新のために変更を通知する
mChart.setVisibleXRangeMaximum(50); // 表示の幅を決定する
mChart.moveViewToX(data.getEntryCount()); // 最新のデータまで表示を移動させる
}
}
               mChart.notifyDataSetChanged(); // 表示の更新のために変更を通知する
               mChart.setVisibleXRangeMaximum(50); // 表示の幅を決定する
               mChart.moveViewToX(data.getEntryCount()); // 最新のデータまで表示を移動させる
           }
       }
private LineDataSet createSet(String label, int color) {
LineDataSet set = new LineDataSet(null, label);
set.setLineWidth(2.5f); // 線の幅を指定
set.setColor(color); // 線の色を指定
set.setDrawCircles(false); // ポイントごとの円を表示しない
set.setDrawValues(false); // 値を表示しない
       private LineDataSet createSet(String label, int color) {
           LineDataSet set = new LineDataSet(null, label);
           set.setLineWidth(2.5f); // 線の幅を指定
           set.setColor(color); // 線の色を指定
           set.setDrawCircles(false); // ポイントごとの円を表示しない
           set.setDrawValues(false); // 値を表示しない
return set;
}
           return set;
       }
LineChart mChart;
       LineChart mChart;
String[] names = new String[]{"x-value", "y-value", "z-value"};
int[] colors = new int[]{Color.RED, Color.GREEN, Color.BLUE};
       String[] names = new String[]{"x-value", "y-value", "z-value"};
       int[] colors = new int[]{Color.RED, Color.GREEN, Color.BLUE};
@Override
protected void onCreate(Bundle savedInstanceState) {
       @Override
       protected void onCreate(Bundle savedInstanceState) {
mChart = (LineChart) findViewById(R.id.lineChart);
           mChart = (LineChart) findViewById(R.id.lineChart);
           mChart.setDescription(""); // 表のタイトルを空にする
           mChart.setData(new LineData()); // 空のLineData型インスタンスを追加
       }
   }
mChart.setDescription(""); // 表のタイトルを空にする
mChart.setData(new LineData()); // 空のLineData型インスタンスを追加
}
}
}
xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
   xmlns:tools="http://schemas.android.com/tools"
   android:id="@+id/activity_sensor"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   android:paddingBottom="@dimen/activity_vertical_margin"
   android:paddingLeft="@dimen/activity_horizontal_margin"
   android:paddingRight="@dimen/activity_horizontal_margin"
   android:paddingTop="@dimen/activity_vertical_margin"
   tools:context="com.example.yoshihiro.streetrhythm.Sensor_Activity">
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_sensor"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.yoshihiro.streetrhythm.Sensor_Activity">
   <TextView
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:layout_below="@+id/xValue"
       android:layout_alignLeft="@+id/xValue"
       android:layout_alignStart="@+id/xValue"
       android:layout_marginTop="11dp"
       android:id="@+id/yValue" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/xValue"
android:layout_alignLeft="@+id/xValue"
android:layout_alignStart="@+id/xValue"
android:layout_marginTop="11dp"
android:id="@+id/yValue" />
   <TextView
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:layout_marginTop="14dp"
       android:id="@+id/zValue"
       android:layout_below="@+id/yValue"
       android:layout_alignLeft="@+id/yValue"
       android:layout_alignStart="@+id/yValue"
       android:layout_alignRight="@+id/yValue"
       android:layout_alignEnd="@+id/yValue" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="14dp"
android:id="@+id/zValue"
android:layout_below="@+id/yValue"
android:layout_alignLeft="@+id/yValue"
android:layout_alignStart="@+id/yValue"
android:layout_alignRight="@+id/yValue"
android:layout_alignEnd="@+id/yValue" />
   <TextView
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:layout_marginLeft="12dp"
       android:layout_marginStart="12dp"
       android:layout_marginTop="14dp"
       android:id="@+id/xValue"
       android:layout_alignParentTop="true"
       android:layout_alignParentLeft="true"
       android:layout_alignParentStart="true" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="12dp"
android:layout_marginStart="12dp"
android:layout_marginTop="14dp"
android:id="@+id/xValue"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
   <com.github.mikephil.charting.charts.LineChart
       android:layout_width="match_parent"
       android:layout_height="match_parent"
       android:id="@+id/lineChart"/>
<com.github.mikephil.charting.charts.LineChart
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/lineChart"/>
</RelativeLayout>
</RelativeLayout>
```
  • Java

    18650 questions

    Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

  • Android

    8350 questions

    Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

  • Android Studio

    5092 questions

    Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る