From 6414c77eb952d1c20bdd177199b5685a775b1680 Mon Sep 17 00:00:00 2001 From: Nikolaus Gotsche Date: Tue, 15 Dec 2015 02:51:48 +0100 Subject: Code2: V1.0.2.1 SaveTask (still UC) DataAnalyse( UC) (Menu Still on first Create in Systemlanguage) --- app/src/main/AndroidManifest.xml | 3 +- .../softwarefools/nik/spiritlevel/AnalyseData.java | 80 +++++++++++++++++++ .../nik/spiritlevel/LevelActivity.java | 93 +++++++++++++++------- .../softwarefools/nik/spiritlevel/nikVector.java | 9 ++- 4 files changed, 152 insertions(+), 33 deletions(-) create mode 100644 app/src/main/java/com/softwarefools/nik/spiritlevel/AnalyseData.java (limited to 'app') diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 25ba337..7fcabb9 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -2,11 +2,12 @@ + android:versionName="1.0.2.1" > + magnetData; + private Vector accelData; + private Vector graviData; + + private Canvas analcanvas; + private boolean allset; + + private Paint paintMagVector; + private Paint paintAccVector; + private Paint paintGravVector; + + private Paint paintAxisLines; + private Paint paintAxisHelpLines; + + private Paint paintTexts; + + private Context myContext; + private static int displaywidth; + private static int displayheight; + + private float vectWidth =14; + private float textSize=40; + private float textDist=5; + private float margin=100; + private float margin2=20; + private float axisHeight=10; + + public void AnalyseData(Context cont){ + this.allset=false; + analcanvas = new Canvas(); + this.myContext=cont; + DisplayMetrics metrics = myContext.getResources().getDisplayMetrics(); + displaywidth = metrics.widthPixels; + displayheight = metrics.heightPixels; + + paintAccVector= new Paint(); + paintGravVector= new Paint(); + paintMagVector= new Paint(); + paintAxisLines= new Paint(); + paintAxisHelpLines= new Paint(); + paintTexts= new Paint(); + + margin=displayheight/10; + margin2=margin/10; + textSize=displayheight/27; + textDist=textSize/8; + vectWidth=displayheight/72; + axisHeight=(displayheight-margin*4-margin2*6)/9; + + } + public void setMagnetData(Vector somevect){ + this.magnetData = somevect; + } + public void setAccelData(Vector somevect){ + this.accelData= somevect; + } + public void setGraviData(Vector somevect){ + this.graviData = somevect; + } + + public Canvas getFilledCanvas(){ + + + + return this.analcanvas; + } +} diff --git a/app/src/main/java/com/softwarefools/nik/spiritlevel/LevelActivity.java b/app/src/main/java/com/softwarefools/nik/spiritlevel/LevelActivity.java index 14746d4..a0ba62b 100644 --- a/app/src/main/java/com/softwarefools/nik/spiritlevel/LevelActivity.java +++ b/app/src/main/java/com/softwarefools/nik/spiritlevel/LevelActivity.java @@ -1,6 +1,8 @@ package com.softwarefools.nik.spiritlevel; +import java.io.File; import java.io.FileOutputStream; +import java.io.FileWriter; import java.sql.Array; import java.text.DecimalFormat; import java.text.SimpleDateFormat; @@ -22,12 +24,14 @@ import java.util.Set; import java.util.TimeZone; import java.util.Vector; +import android.graphics.Canvas; import android.os.AsyncTask; import android.os.Bundle; import android.app.Activity; import android.content.Intent; import android.content.res.Configuration; import android.content.res.Resources; +import android.os.Environment; import android.preference.PreferenceFragment; import android.preference.PreferenceManager; import android.provider.Settings; @@ -76,6 +80,8 @@ public class LevelActivity extends Activity implements MySensorListener{ private LevelView levelView; private AppPreferences myprefs; + //private ArrayList accelvector; + private Vector accelvector; private Vector gravvector; private Vector magvector; @@ -307,13 +313,10 @@ public class LevelActivity extends Activity implements MySensorListener{ Log.d(TAG,"AccelerationVect Size:"+accelvector.size()); Log.d(TAG,"GravityVect Size:"+gravvector.size()); Log.d(TAG,"MagneticVect Size:"+magvector.size()); - //new ProcessData().execute(gravvector,accelvector,magvector); - new ProcessData().execute(accelvector); + new ProcessData().execute(gravvector,accelvector,magvector); + //new ProcessData().execute(accelvector); + - //dump the vectors - accelvector.clear(); - gravvector.clear(); - magvector.clear(); return true; case R.id.action_exit: @@ -627,7 +630,7 @@ private void restartTTS(){ long offset = rightNow.get(Calendar.ZONE_OFFSET) + rightNow.get(Calendar.DST_OFFSET); - return rightNow.getTimeInMillis()+offset; + return rightNow.getTimeInMillis();//+offset; } public void exitAll(){ @@ -661,46 +664,50 @@ private void restartTTS(){ } private class ProcessData extends AsyncTask, Float, Integer> { - + private String filename="newfile"; @Override protected Integer doInBackground(Vector... vects) { String printout=""; - String filename="newfile"; - FileOutputStream outputStream; + + //FileOutputStream outputStream; + //ArrayList currentAL=new ArrayList(); int count = vects.length; int totalSize = 0; Log.i(TAG,"LevelActivity.AsyncTask.ProcessData() for "+count+"Vectors"); filename=getDateCurrentTimeZone(getTime())+".csv"; + + File file = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOCUMENTS), filename); + + //FileOutputStream outputStream = new FileOutputStream(file); + //printout=makeReadable(gravvector); + //totalSize += gravvector.size(); /* for (int i = 0; i < count; i++) { - totalSize += vects[i].size(); + + //currentAL=vects[i]; + totalSize +=vects[i].size(); publishProgress((float) ((i / (float) count))); // 0.2 // Escape early if cancel() is called if (isCancelled()) break; - String timeline=""; - String xline=""; - String yline=""; - String zline=""; - - for(int j=0;j v){ + Canvas mycan=new Canvas(); + + return mycan; + } + public String makeReadable(Vector v){ + String timeline=""; + String xline=""; + String yline=""; + String zline=""; + String printout=""; + + for(int j=0;j