From 77c65dda2df2213b2a6d88a6ac7a3cebbdc173f3 Mon Sep 17 00:00:00 2001 From: "arun.jose" Date: Sat, 3 Jul 2021 17:35:09 +0530 Subject: [PATCH] Updates in Validation And making more userfriendly --- app/src/main/AndroidManifest.xml | 12 +- .../com/example/myapplication/CreateCoin.java | 131 +++++++++++++++--- .../example/myapplication/MainActivity.java | 6 +- .../main/res/layout/activity_create_coin.xml | 84 ++++------- 4 files changed, 149 insertions(+), 84 deletions(-) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 3c0a0e3..401373a 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -13,12 +13,16 @@ android:supportsRtl="true" android:theme="@style/AppTheme" android:usesCleartextTraffic="true"> - - + + + android:label="Cripto App" + android:screenOrientation="portrait"> diff --git a/app/src/main/java/com/example/myapplication/CreateCoin.java b/app/src/main/java/com/example/myapplication/CreateCoin.java index 371b7a8..e89e9ad 100644 --- a/app/src/main/java/com/example/myapplication/CreateCoin.java +++ b/app/src/main/java/com/example/myapplication/CreateCoin.java @@ -5,22 +5,64 @@ import android.content.Intent; import android.os.Bundle; import android.view.View; +import android.widget.AdapterView; +import android.widget.ArrayAdapter; import android.widget.Button; import android.widget.EditText; +import android.widget.Spinner; +import android.widget.TextView; import android.widget.Toast; +import java.util.ArrayList; +import java.util.List; + public class CreateCoin extends AppCompatActivity { Button cancel, add, update, delete; EditText id, name, max, min; DBHelper DB; + List dropDownList = new ArrayList<>(); + CoinTO selectedCoin; + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_create_coin); + setDropDownList(); + Spinner spinner = (Spinner) findViewById(R.id.coinSelect); + final ArrayAdapter spinnerArrayAdapter = new ArrayAdapter<>(this, R.layout.support_simple_spinner_dropdown_item, dropDownList); + spinner.setAdapter(spinnerArrayAdapter); + + spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { + @Override + public void onItemSelected(AdapterView adapterView, View view, int i, long l) { + selectedCoin = MainActivity.coinDetails.get(i); + TextView infoView = (TextView) findViewById(R.id.infoView); + infoView.setText(selectedCoin.toString()); + + add.setVisibility(View.GONE); + update.setVisibility(View.GONE); + delete.setVisibility(View.GONE); + + if (selectedCoin.isMonitoringCoin()) { + update.setVisibility(View.VISIBLE); + delete.setVisibility(View.VISIBLE); + } else { + add.setVisibility(View.VISIBLE); + } + } + + @Override + public void onNothingSelected(AdapterView adapterView) { + + } + }); + + add = (Button) findViewById(R.id.addButton); + add.setVisibility(View.INVISIBLE); add.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { @@ -28,6 +70,7 @@ public void onClick(View view) { } }); + cancel = (Button) findViewById(R.id.cancelButton); cancel.setOnClickListener(new View.OnClickListener() { @Override @@ -36,6 +79,7 @@ public void onClick(View view) { } }); + update = (Button) findViewById(R.id.updateButton); update.setOnClickListener(new View.OnClickListener() { @Override @@ -58,13 +102,19 @@ public void opentoMainPage() { startActivity(intent); } + public void setDropDownList() { + dropDownList = new ArrayList<>(); + for (CoinTO coin : MainActivity.coinDetails) { + dropDownList.add(coin.getName()); + } + + } + public CoinTO getRequest() { CoinTO to = new CoinTO(); - id = (EditText) findViewById(R.id.coinId); - to.setId(Integer.parseInt(id.getText().toString())); - name = (EditText) findViewById(R.id.coinName); - to.setName(name.getText().toString()); + to.setId(selectedCoin.getId()); + to.setName(selectedCoin.getName()); min = (EditText) findViewById(R.id.coinMinValue); to.setMinPrice(min.getText().toString()); @@ -78,25 +128,59 @@ public CoinTO getRequest() { public void Create() { DB = new DBHelper(this); - boolean stat = DB.inserCoinData(getRequest()); - if (stat) { - /*Intent intent = new Intent(this, MainActivity.class); - startActivity(intent);*/ - Toast.makeText(getApplicationContext(), "Created", Toast.LENGTH_LONG).show(); - } else { - Toast.makeText(getApplicationContext(), "Create Failed", Toast.LENGTH_LONG).show(); + min = (EditText) findViewById(R.id.coinMinValue); + max = (EditText) findViewById(R.id.coinMaxValue); + + try { + if (validate(min.getText().toString()) || validate(max.getText().toString())) { + if (validate(min.getText().toString())) { + Double minVal = Double.parseDouble(min.getText().toString()); + } + if (validate(max.getText().toString())) { + Double maxVal = Double.parseDouble(max.getText().toString()); + } + boolean stat = DB.inserCoinData(getRequest()); + if (stat) { + Toast.makeText(getApplicationContext(), "Created", Toast.LENGTH_LONG).show(); + } else { + Toast.makeText(getApplicationContext(), "Create Failed", Toast.LENGTH_LONG).show(); + } + } else { + Toast.makeText(getApplicationContext(), "Enter Atleast Min or Max", Toast.LENGTH_LONG).show(); + } + } catch (Exception e) { + Toast.makeText(getApplicationContext(), "Please check Min And Max Values", Toast.LENGTH_LONG).show(); + e.printStackTrace(); } + + } public void Update() { - DB = new DBHelper(this); - boolean stat = DB.updateCoinData(getRequest()); - if (stat) { - /* Intent intent = new Intent(this, MainActivity.class); - startActivity(intent);*/ - Toast.makeText(getApplicationContext(), "Updated", Toast.LENGTH_LONG).show(); - } else { - Toast.makeText(getApplicationContext(), "Update Failed", Toast.LENGTH_LONG).show(); + min = (EditText) findViewById(R.id.coinMinValue); + max = (EditText) findViewById(R.id.coinMaxValue); + + try { + if (validate(min.getText().toString()) || validate(max.getText().toString())) { + if (validate(min.getText().toString())) { + Double minVal = Double.parseDouble(min.getText().toString()); + } + if (validate(max.getText().toString())) { + Double maxVal = Double.parseDouble(max.getText().toString()); + } + DB = new DBHelper(this); + boolean stat = DB.updateCoinData(getRequest()); + if (stat) { + Toast.makeText(getApplicationContext(), "Updated", Toast.LENGTH_LONG).show(); + } else { + Toast.makeText(getApplicationContext(), "Update Failed", Toast.LENGTH_LONG).show(); + } + } else { + Toast.makeText(getApplicationContext(), "Enter Atleast Min or Max", Toast.LENGTH_LONG).show(); + } + } catch (Exception e) { + Toast.makeText(getApplicationContext(), "Please check Min And Max Values", Toast.LENGTH_LONG).show(); + e.printStackTrace(); } } @@ -104,11 +188,16 @@ public void Delete() { DB = new DBHelper(this); boolean stat = DB.deleteCoinData(getRequest()); if (stat) { - /* Intent intent = new Intent(this, MainActivity.class); - startActivity(intent);*/ Toast.makeText(getApplicationContext(), "Deleted", Toast.LENGTH_LONG).show(); } else { Toast.makeText(getApplicationContext(), "Delete Failed", Toast.LENGTH_LONG).show(); } } + + boolean validate(String val) { + if (val != null && !val.equalsIgnoreCase("")) { + return true; + } else + return false; + } } diff --git a/app/src/main/java/com/example/myapplication/MainActivity.java b/app/src/main/java/com/example/myapplication/MainActivity.java index 4ebb8fa..57b6b16 100644 --- a/app/src/main/java/com/example/myapplication/MainActivity.java +++ b/app/src/main/java/com/example/myapplication/MainActivity.java @@ -38,7 +38,7 @@ public class MainActivity extends AppCompatActivity { ExpandableListView expandableListView; ExpandableListAdapter expandableListAdapter; - List coinDetails; + static List coinDetails; Double DollerInINR = 74.14; int refreshInSeconds = 100; DBHelper DB; @@ -199,7 +199,7 @@ void setResponseAfterApiCall(String response) { expandableListView = findViewById(R.id.expanded_menu); expandableListAdapter = new MyExpandableListAdapter(this, coinDetails); expandableListView.setAdapter(expandableListAdapter); - /*expandableListView.setOnGroupExpandListener(new ExpandableListView.OnGroupExpandListener() { + expandableListView.setOnGroupExpandListener(new ExpandableListView.OnGroupExpandListener() { int lastExpandedPosition = -1; @Override @@ -209,7 +209,7 @@ public void onGroupExpand(int i) { } lastExpandedPosition = i; } - });*/ + }); expandableListView.setOnChildClickListener(new ExpandableListView.OnChildClickListener() { @Override diff --git a/app/src/main/res/layout/activity_create_coin.xml b/app/src/main/res/layout/activity_create_coin.xml index a74758b..6f803ac 100644 --- a/app/src/main/res/layout/activity_create_coin.xml +++ b/app/src/main/res/layout/activity_create_coin.xml @@ -7,59 +7,23 @@ tools:context=".CreateCoin"> - - - - - - + android:layout_marginEnd="15dp" />