Archivi tag: sort algorithm

Download Files and AsyncTask in Android

This code snippet found here complete my previous snippet that i’ve used to grab a single file on a remote server


import java.io.IOException;

import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.ResponseHandler;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.BasicResponseHandler;
import org.apache.http.impl.client.DefaultHttpClient;

import android.app.Activity;
import android.app.ProgressDialog;
import android.os.AsyncTask;
import android.os.Bundle;
import android.widget.Toast;

public class SimpleWebGrab extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

grabURL("http://android.com");
}

public void grabURL(String url) {
new GrabURL().execute(url);
}

private class GrabURL extends AsyncTask {
private final HttpClient Client = new DefaultHttpClient();
private String Content;
private String Error = null;
private ProgressDialog Dialog = new ProgressDialog(SimpleWebGrab.this);

protected void onPreExecute() {
Dialog.setMessage("Downloading source..");
Dialog.show();
}

protected Void doInBackground(String... urls) {
try {
HttpGet httpget = new HttpGet(urls[0]);
ResponseHandler responseHandler = new BasicResponseHandler();
Content = Client.execute(httpget, responseHandler);
} catch (ClientProtocolException e) {
Error = e.getMessage();
cancel(true);
} catch (IOException e) {
Error = e.getMessage();
cancel(true);
}

return null;
}

protected void onPostExecute(Void unused) {
Dialog.dismiss();
if (Error != null) {
Toast.makeText(SimpleWebGrab.this, Error, Toast.LENGTH_LONG).show();
} else {
Toast.makeText(SimpleWebGrab.this, "Source: " + Content, Toast.LENGTH_LONG).show();
}
}

}
}

[C#] – Ordinare un DataTable…

Problema: ordinare un DataTable secondo un certo campo…
Soluzione: La soluzione sfrutta semplicemente la possibilitÓ di ricorrere alla proprietÓ sort della DataView. la funzione che chiameremo Sort, accetta tre parametri:
– dtTable: il datatable
– field: il campo su cui fare l’ordinamento
– sortOrder: ASC o DESC

Problem: How to order a DataTable
Solution: this solution simply use Sort property of DataView. Function name is Sort and has three params:
– dtTable: the datatable
– field: the key field on which we want sort the DataTable
– sortOrder: ASC or DESC
ecco il codice:
this is the code:

private DataTable Sort(DataTable dtTable, string field, string sortOrder)
{
string sortFormat = "{0} {1}";
dtTable.DefaultView.Sort = string.Format(sortFormat, field, sortOrder);
return dtTable.DefaultView.Table;
}

e se invece volessimo ordinare una tabella secondo campi diversi con diversi ordinamenti?
Tutto molto semplice, basta ricorrere sempre alla solita sort fornita dalla vista:

dtTable.DefaultView.Sort = "campo1 DESC, campo2 ASC ecc ecc";

facile vero?

Il mio consiglio, qual’ora non funzioni l’ordinamento Ŕ quello di controllare bene il formato delle colonne, ovvero se intendete ordinare per data e notate che l’ordinamento non funziona, probabilmente il motivo Ŕ che la colonna esibisce dati in formato testo e non data.