mercoledì 28 settembre 2011

Android: Comporre un numero di telefono


import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.LinearLayout;

public class DialANumber extends Activity {
      EditText mEditText_number = null;
      LinearLayout mLinearLayout_no_button = null;
      Button mButton_dial = null;
     
      @Override
      public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            mLinearLayout_no_button = new LinearLayout(this);
           
            mEditText_number = new EditText(this);
            mEditText_number.setText("5551222");
            mLinearLayout_no_button.addView(mEditText_number);
            mButton_dial = new Button(this);
            mButton_dial.setText("Dial!");
            mLinearLayout_no_button.addView(mButton_dial);
            mButton_dial.setOnClickListener(new View.OnClickListener() {
                  public void onClick(View v) {
                             performDial();
                  }
            });
           
            setContentView(mLinearLayout_no_button);
      }
     
      public boolean onKeyDown(int keyCode, KeyEvent event) {
            if (keyCode == KeyEvent.KEYCODE_CALL) {
                  performDial();
                  return true;
            }
            return false;
      }
     
      public void performDial(){
            if(mEditText_number!=null){
                  try {
                        startActivity(new Intent(Intent.ACTION_CALL, Uri.parse("tel:" + mEditText_number.getText())));
                  }
                  catch (Exception e)
                  {
                        e.printStackTrace();
                  }
            }
      }

martedì 27 settembre 2011

Android: Caricare un'immagine dal web


public Bitmap getRemoteImage(final URL aURL) {
      try {
            final URLConnection conn = aURL.openConnection();
            conn.connect();
            final BufferedInputStream bis = new BufferedInputStream(conn.getInputStream());
            final Bitmap bm = BitmapFactory.decodeStream(bis);
            bis.close();
            return bm;
      } catch (IOException e) {
            [...]
      }
      return null;
}

martedì 20 settembre 2011

Ordinamento di una DataTable

Effettuare l'ordinamento di una DataTable è molto semplice:

[VB.Net]
dt.DefaultView.Sort = "NomeColonna"  'DataTable normale 

ds.Tables("NomeTabella").DefaultView.Sort = "NomeColonna"  'DataTable in DataSet


[C#]
dt.DefaultView.Sort = "NomeColonna"  'DataTable normale 

ds.Tables["NomeTabella"].DefaultView.Sort = "NomeColonna"  'DataTable in DataSet


In realtà, in questo modo non si ordina "fisicamente" il contenuto della DataTable bensì la sua vista predefinita. A livello di visualizzazione dati, però, il risultato è lo stesso.
Usando la nostra DataTable, per esempio, come datasource di una GridView l'elenco sarà ordinato in base al criterio utilizzato.

UpdateProgress centrato dinamicamente


<script language="JavaScript" type="text/javascript">
        function adjustDivs() {           
            interno = document.getElementById('divCalcolaInterno');
            esterno = document.getElementById('divCalcola');
            dfs = interno.style;
           
            dfs.left = (esterno.innerWidth - interno.offsetWidth) / 2;
        }

        window.onload = adjustDivs;
        window.onresize = adjustDivs;
        window.onscroll = adjustDivs;
<script>

<asp:UpdatePanel ID="updXXX" runat="server">
<ContentTemplate>
       […]
<ContentTemplate>
<asp:UpdatePanel>

<asp:UpdateProgress ID="updprogXXX" runat="server" AssociatedUpdatePanelID="updXXX" DisplayAfter="150">
<ProgressTemplate>
             <div id="divCalcola" align="center" style="top: 200px; position: absolute; top:0; bottom:0; right:0; left:0;background-color:rgba(0,0,0,0.5)">
                    <div id="divCalcolaInterno" align="center" style="border: solid 1px #000000; background: #FFFFFF;padding: 5px; width: 320px; height: 50px;margin-top:300px">
                        <asp:Label runat="server" ID="lblLoading2" Text="Calcolo del fatturato in corso..."><asp:Label>
                        <asp:Image ID="imgLoading2" runat="server" ImageAlign="left" SkinID="imgLoadingBar" /><br /><br />
                        <asp:Label runat="server" ID="lblLoadingInfo" Text="Questa operazione potrebbe durare diversi minuti" Font-Size="X-Small" >asp:Label>
                    <div>
                <div>               
        <ProgressTemplate>
<asp:UpdateProgress>