From 53f6876b5db895126d3d5e870b107ad6fb05b48b Mon Sep 17 00:00:00 2001 From: Samy Avrillon Date: Sat, 11 Dec 2021 02:45:32 +0100 Subject: [PATCH] Mise a jour de graphe. --- app/build.gradle | 6 +- .../bernard/calchulator/FirstFragment.java | 47 ------------ .../com/bernard/calchulator/MainActivity.java | 76 ------------------- .../bernard/calchulator/SecondFragment.java | 47 ------------ .../com/bernard/emorph/EMorphApplication.java | 48 +++++++----- .../emorph/activities/GraphActivity.java | 38 +++++++--- .../activities/PrepareMeasureActivity.java | 14 ---- app/src/main/res/layout/activity_main.xml | 34 --------- app/src/main/res/menu/menu_main.xml | 10 --- build.gradle | 2 +- 10 files changed, 62 insertions(+), 260 deletions(-) delete mode 100644 app/src/main/java/com/bernard/calchulator/FirstFragment.java delete mode 100644 app/src/main/java/com/bernard/calchulator/MainActivity.java delete mode 100644 app/src/main/java/com/bernard/calchulator/SecondFragment.java delete mode 100644 app/src/main/java/com/bernard/emorph/activities/PrepareMeasureActivity.java delete mode 100644 app/src/main/res/layout/activity_main.xml delete mode 100644 app/src/main/res/menu/menu_main.xml diff --git a/app/build.gradle b/app/build.gradle index 0ab7788..9cbe781 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -34,12 +34,12 @@ android { dependencies { implementation 'com.jjoe64:graphview:4.2.2' - implementation 'androidx.appcompat:appcompat:1.3.1' + implementation 'androidx.appcompat:appcompat:1.4.0' implementation 'com.google.android.material:material:1.4.0' - implementation 'androidx.constraintlayout:constraintlayout:2.1.1' + implementation 'androidx.constraintlayout:constraintlayout:2.1.2' implementation 'androidx.navigation:navigation-fragment:2.3.5' implementation 'androidx.navigation:navigation-ui:2.3.5' - testImplementation 'junit:junit:4.+' + testImplementation 'junit:junit:4.13.2' androidTestImplementation 'androidx.test.ext:junit:1.1.3' androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0' } \ No newline at end of file diff --git a/app/src/main/java/com/bernard/calchulator/FirstFragment.java b/app/src/main/java/com/bernard/calchulator/FirstFragment.java deleted file mode 100644 index c370d8b..0000000 --- a/app/src/main/java/com/bernard/calchulator/FirstFragment.java +++ /dev/null @@ -1,47 +0,0 @@ -package com.bernard.calchulator; - -import android.os.Bundle; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; - -import androidx.annotation.NonNull; -import androidx.fragment.app.Fragment; -import androidx.navigation.fragment.NavHostFragment; - -import com.bernard.calchulator.databinding.FragmentFirstBinding; - -public class FirstFragment extends Fragment { - - private FragmentFirstBinding binding; - - @Override - public View onCreateView( - LayoutInflater inflater, ViewGroup container, - Bundle savedInstanceState - ) { - - binding = FragmentFirstBinding.inflate(inflater, container, false); - return binding.getRoot(); - - } - - public void onViewCreated(@NonNull View view, Bundle savedInstanceState) { - super.onViewCreated(view, savedInstanceState); - - binding.buttonFirst.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View view) { - NavHostFragment.findNavController(FirstFragment.this) - .navigate(R.id.action_FirstFragment_to_SecondFragment); - } - }); - } - - @Override - public void onDestroyView() { - super.onDestroyView(); - binding = null; - } - -} \ No newline at end of file diff --git a/app/src/main/java/com/bernard/calchulator/MainActivity.java b/app/src/main/java/com/bernard/calchulator/MainActivity.java deleted file mode 100644 index 0f68028..0000000 --- a/app/src/main/java/com/bernard/calchulator/MainActivity.java +++ /dev/null @@ -1,76 +0,0 @@ -package com.bernard.calchulator; - -import android.os.Bundle; - -import com.google.android.material.snackbar.Snackbar; - -import androidx.appcompat.app.AppCompatActivity; - -import android.view.View; - -import androidx.navigation.NavController; -import androidx.navigation.Navigation; -import androidx.navigation.ui.AppBarConfiguration; -import androidx.navigation.ui.NavigationUI; - -import com.bernard.calchulator.databinding.ActivityMainBinding; - -import android.view.Menu; -import android.view.MenuItem; - -public class MainActivity extends AppCompatActivity { - - private AppBarConfiguration appBarConfiguration; - private ActivityMainBinding binding; - - @Override - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - - binding = ActivityMainBinding.inflate(getLayoutInflater()); - setContentView(binding.getRoot()); - - setSupportActionBar(binding.toolbar); - - NavController navController = Navigation.findNavController(this, R.id.nav_host_fragment_content_main); - appBarConfiguration = new AppBarConfiguration.Builder(navController.getGraph()).build(); - NavigationUI.setupActionBarWithNavController(this, navController, appBarConfiguration); - - binding.fab.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View view) { - Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG) - .setAction("Action", null).show(); - } - }); - } - - @Override - public boolean onCreateOptionsMenu(Menu menu) { - // Inflate the menu; this adds items to the action bar if it is present. - getMenuInflater().inflate(R.menu.menu_main, menu); - return true; - } - - @Override - public boolean onOptionsItemSelected(MenuItem item) { - // Handle action bar item clicks here. The action bar will - // automatically handle clicks on the Home/Up button, so long - // as you specify a parent activity in AndroidManifest.xml. - int id = item.getItemId(); - - //noinspection SimplifiableIfStatement - if (id == R.id.action_settings) { - return true; - } - - return super.onOptionsItemSelected(item); - } - - @Override - public boolean onSupportNavigateUp() { - NavController navController = Navigation.findNavController(this, R.id.nav_host_fragment_content_main); - return NavigationUI.navigateUp(navController, appBarConfiguration) - || super.onSupportNavigateUp(); - } -} \ No newline at end of file diff --git a/app/src/main/java/com/bernard/calchulator/SecondFragment.java b/app/src/main/java/com/bernard/calchulator/SecondFragment.java deleted file mode 100644 index d083b3b..0000000 --- a/app/src/main/java/com/bernard/calchulator/SecondFragment.java +++ /dev/null @@ -1,47 +0,0 @@ -package com.bernard.calchulator; - -import android.os.Bundle; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; - -import androidx.annotation.NonNull; -import androidx.fragment.app.Fragment; -import androidx.navigation.fragment.NavHostFragment; - -import com.bernard.calchulator.databinding.FragmentSecondBinding; - -public class SecondFragment extends Fragment { - - private FragmentSecondBinding binding; - - @Override - public View onCreateView( - LayoutInflater inflater, ViewGroup container, - Bundle savedInstanceState - ) { - - binding = FragmentSecondBinding.inflate(inflater, container, false); - return binding.getRoot(); - - } - - public void onViewCreated(@NonNull View view, Bundle savedInstanceState) { - super.onViewCreated(view, savedInstanceState); - - binding.buttonSecond.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View view) { - NavHostFragment.findNavController(SecondFragment.this) - .navigate(R.id.action_SecondFragment_to_FirstFragment); - } - }); - } - - @Override - public void onDestroyView() { - super.onDestroyView(); - binding = null; - } - -} \ No newline at end of file diff --git a/app/src/main/java/com/bernard/emorph/EMorphApplication.java b/app/src/main/java/com/bernard/emorph/EMorphApplication.java index 7f15a47..6df7391 100644 --- a/app/src/main/java/com/bernard/emorph/EMorphApplication.java +++ b/app/src/main/java/com/bernard/emorph/EMorphApplication.java @@ -16,6 +16,7 @@ import com.jjoe64.graphview.series.DataPoint; import java.util.ArrayList; import java.util.HashSet; import java.util.List; +import java.util.Random; import java.util.Set; public class EMorphApplication extends Application { @@ -210,7 +211,7 @@ public class EMorphApplication extends Application { } public MeasureOnSubject getMos(long subjectID, long measureID){ Cursor dbResult = db.query("measuresOnSubjects",new String[]{"ID","subjectID","circAbdomen","circBras","circEpaules","circTaille","circCuisse","circCheville","circAvantBras"}, - "subjectID = ?",new String[]{Long.toString(subjectID)/*,Long.toString(measureID)*/}, + "subjectID = ? AND measureID = ?",new String[]{Long.toString(subjectID),Long.toString(measureID)}, null, null, null); dbResult.moveToFirst(); MeasureOnSubject out; @@ -302,19 +303,28 @@ public class EMorphApplication extends Application { } public static void putInitialData(SQLiteDatabase db){ + int measureCount = 1; + int deltaMeasure = 3600*160; + + + Random r = new Random(); for (double[] testDatum : testData) { - ContentValues cv = new ContentValues(); - cv.put("ID", testDatum[0]); - cv.put("measureID", testDatum[1]); - cv.put("subjectID", testDatum[2]); - cv.put("circAbdomen", testDatum[8]); - cv.put("circBras", testDatum[6]); - cv.put("circEpaules", testDatum[7]); - cv.put("circTaille", testDatum[9]); - cv.put("circCuisse", testDatum[4]); - cv.put("circCheville", testDatum[3]); - cv.put("circAvantBras", testDatum[5]); - db.insert("measuresOnSubjects", null, cv); + double ab = testDatum[8], br = testDatum[6], ep = testDatum[7], + ta = testDatum[9], cu = testDatum[4], ch = testDatum[3], av = testDatum[5]; + for(int i=0;i[] pgs = new PointsGraphSeries[toGraph.getMeasuresID().length]; for(int j=0; j series = new PointsGraphSeries<>(points); series.setShape(PointsGraphSeries.Shape.POINT); - series.setColor(colors[j]|0xFF000000); + int theColor = colors[j]|0xFF000000; + theColor = manipulateColor(theColor,.7f); + series.setColor(theColor); series.setSize(10); pgs[j] = series; Log.d("NewSeries","Nouvelle serie de "+realSize+" points: couleur #"+Integer.toHexString(colors[j])); @@ -131,14 +133,19 @@ public class GraphActivity extends AppCompatActivity { sdIMM = Math.sqrt((sdIMM/c)-moyIMM*moyIMM); sdIMG = Math.sqrt((sdIMG/c)-moyIMG*moyIMG); // Je crois que les formules sont bonnes. } - + Log.d("Test","Test"); Viewport theVP = gv.getViewport(); theVP.setXAxisBoundsManual(true); - theVP.setMinX(Math.min(minx,moyIMM-sdIMM)-.4); - theVP.setMaxX(Math.max(maxx,moyIMM+sdIMM)+.4); + theVP.setMinX(10); + theVP.setMaxX(30); + //theVP.setMinX(Math.min(minx,moyIMM-sdIMM)-.4); + //theVP.setMaxX(Math.max(maxx,moyIMM+sdIMM)+.4); theVP.setYAxisBoundsManual(true); - theVP.setMinY(Math.min(miny,moyIMG-sdIMG)-.4); - theVP.setMaxY(Math.max(maxy,moyIMG+sdIMG)+.4); + //theVP.setMinY(Math.min(miny,moyIMG-sdIMG)-.4); + //theVP.setMaxY(Math.max(maxy,moyIMG+sdIMG)+.4); + theVP.setMinY(0); + theVP.setMaxY(16); + int interColor = 0x53FFFF00; int extremeColor = 0x53FF0000; @@ -160,6 +167,17 @@ public class GraphActivity extends AppCompatActivity { } + public static int manipulateColor(int color, float factor) { + int a = Color.alpha(color); + int r = Math.round(Color.red(color) * factor); + int g = Math.round(Color.green(color) * factor); + int b = Math.round(Color.blue(color) * factor); + return Color.argb(a, + Math.min(r,255), + Math.min(g,255), + Math.min(b,255)); + } + public final int randCol(){ Random r = new Random(); return Color.HSVToColor(255, new float[]{r.nextFloat()*360,1.0f,1.0f}); diff --git a/app/src/main/java/com/bernard/emorph/activities/PrepareMeasureActivity.java b/app/src/main/java/com/bernard/emorph/activities/PrepareMeasureActivity.java deleted file mode 100644 index f571d30..0000000 --- a/app/src/main/java/com/bernard/emorph/activities/PrepareMeasureActivity.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.bernard.emorph.activities; - -import androidx.appcompat.app.AppCompatActivity; - -import android.os.Bundle; - -public class PrepareMeasureActivity extends AppCompatActivity { - - @Override - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - setContentView(R.layout.activity_prepare_measure); - } -} \ No newline at end of file diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml deleted file mode 100644 index 1f3e245..0000000 --- a/app/src/main/res/layout/activity_main.xml +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/menu/menu_main.xml b/app/src/main/res/menu/menu_main.xml deleted file mode 100644 index 39dc2f2..0000000 --- a/app/src/main/res/menu/menu_main.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - \ No newline at end of file diff --git a/build.gradle b/build.gradle index 7cbb664..65e305b 100644 --- a/build.gradle +++ b/build.gradle @@ -5,7 +5,7 @@ buildscript { mavenCentral() } dependencies { - classpath "com.android.tools.build:gradle:7.0.3" + classpath 'com.android.tools.build:gradle:7.0.4' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files