Added remove element

This commit is contained in:
Przemek Grondek 2014-08-20 15:07:12 +02:00
parent 555a428af4
commit 7bcbe46d91
9 changed files with 66 additions and 7 deletions
app/src/main

View file

@ -62,15 +62,18 @@ public class ElementFragment extends Fragment implements AsyncDatabaseConnector.
@Override
public boolean onOptionsItemSelected(MenuItem item) {
List<String> fields = listAdapter.getFieldArray();
if(item.getItemId() == R.id.action_save ){
List<String> fields = listAdapter.getFieldArray();
Static.asyncDatabaseConnector.setStringReturnListener(this);
if(getArguments().getBoolean(EDIT_ELEMENT))
Static.asyncDatabaseConnector.updateElement(tableName, fields, values, getNewValues());
else
Static.asyncDatabaseConnector.addNewElement(tableName, fields, getNewValues());
return true;
} else if(item.getItemId() == R.id.action_remove) {
Static.asyncDatabaseConnector.setStringReturnListener(this);
Static.asyncDatabaseConnector.removeElement(tableName, fields, values);
return true;
} else {
return super.onOptionsItemSelected(item);
}
@ -87,6 +90,9 @@ public class ElementFragment extends Fragment implements AsyncDatabaseConnector.
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
inflater.inflate(R.menu.element, menu);
if(!getArguments().getBoolean(EDIT_ELEMENT)) {
menu.findItem(R.id.action_remove).setVisible(false);
}
super.onCreateOptionsMenu(menu, inflater);
}

View file

@ -28,6 +28,8 @@ public class LoginFragment extends Fragment implements View.OnClickListener, Asy
AsyncDatabaseConnector asyncDatabaseConnector;
private boolean result;
public LoginFragment(){}
@Override
@ -97,6 +99,12 @@ public class LoginFragment extends Fragment implements View.OnClickListener, Asy
@Override
public void onBooleanReturn(boolean result) {
this.result = result;
}
@Override
public void onPostExecute() {
if(result) {
Static.asyncDatabaseConnector = asyncDatabaseConnector;
Intent intent = new Intent(getActivity(), ListActivity.class);
@ -106,11 +114,7 @@ public class LoginFragment extends Fragment implements View.OnClickListener, Asy
else {
Static.showErrorAlert(AsyncDatabaseConnector.errorMsg, getActivity());
}
}
@Override
public void onPostExecute() {
loginButton.setEnabled(true); // Now we can click button again
progressBar.setVisibility(View.INVISIBLE);
}

View file

@ -31,6 +31,7 @@ public class AsyncDatabaseConnector {
public static final String ACTION_DATA_MATRIX = "getrows";
public static final String ACTION_ADD_ELEMENT = "addelement";
public static final String ACTION_UPDATE_ELEMENT = "updateelement";
public static final String ACTION_REMOVE_ELEMENT = "removeelement";
private String login;
private String password;
@ -206,7 +207,7 @@ public class AsyncDatabaseConnector {
args.add("l");
values.add(String.valueOf(count));
getMatrix(actionUrlBuilder(ACTION_DATA_MATRIX, args, values) );
getMatrix(actionUrlBuilder(ACTION_DATA_MATRIX, args, values));
}
public void getEntriesCount(String table){
@ -284,6 +285,47 @@ public class AsyncDatabaseConnector {
downloader.execute(request);
}
public void removeElement(String table, List<String> header, List<String> values) {
JSONArray headerJSON = new JSONArray();
JSONArray valuesJSON = new JSONArray();
String request;
ArrayList<String> args = new ArrayList<String>();
ArrayList<String> argValues = new ArrayList<String>();
args.add("d");
argValues.add(database);
args.add("t");
argValues.add(table);
for (String aHeader : header) {
headerJSON.put(aHeader);
}
for (String value : values) {
valuesJSON.put(value);
}
args.add("h");
argValues.add(headerJSON.toString());
args.add("v");
argValues.add(valuesJSON.toString());
request = actionUrlBuilder(ACTION_REMOVE_ELEMENT, args, argValues);
Downloader downloader = new Downloader(new Downloader.OnFinishedListener() {
@Override
public void onFinished(String data, String error) {
if(stringReturnListener!=null){
stringReturnListener.onStringReturn(data);
}
}
}, onPostExecuteListener);
downloader.execute(request);
}
public void setBooleanReturnListener(BooleanReturnListener booleanReturnListener){
this.booleanReturnListener = booleanReturnListener;
}

Binary file not shown.

After

(image error) Size: 764 B

Binary file not shown.

After

(image error) Size: 507 B

Binary file not shown.

After

(image error) Size: 990 B

Binary file not shown.

After

(image error) Size: 1.7 KiB

View file

@ -7,4 +7,9 @@
android:showAsAction="always"
android:icon="@drawable/ic_action_save"/>
<item android:id="@+id/action_remove"
android:title="@string/action_remove"
android:showAsAction="always"
android:icon="@drawable/ic_action_delete"/>
</menu>

View file

@ -39,5 +39,7 @@
<string name="warning">Warning</string>
<string name="status">Status</string>
<string name="back">Back</string>
<string name="action_remove">Remove</string>
</resources>