viernes, 21 de febrero de 2014

Android - First Step II

Create a ScrollView

This view create a scroll in all he view. In activity_main.xml file start with the tag <ScrollView>. Inside the tag <ScrollView> must be another Layout tag

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:fillViewport="true"
    tools:context=".MainActivity" >


     <LinearLayout
         android:layout_width="match_parent"
         android:layout_height="match_parent"
         android:orientation="vertical" >


    </LinearLayout>

</ScrollView>



Event after text change in EditText

After get the EditText element, as the following code:
mComment = (EditText) findViewById(R.id.comments);

Create a TextWatcher object, that is the responsible of expose link to the event.
TextWatcher watcher = new TextWatcher() {
           
            @Override
            public void onTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) {
                // TODO Auto-generated method stub
               
            }
           
            @Override
            public void beforeTextChanged(CharSequence arg0, int arg1, int arg2,
                    int arg3) {
                // TODO Auto-generated method stub
               
            }
           
            @Override
            public void afterTextChanged(Editable arg0) {
                // TODO Auto-generated method stub
               
            }
        };



jueves, 20 de febrero de 2014

Android - First Step


Get an element

To get an specific element by id use the method findViewById
findViewById(R.id.name)

After you do a cast to the corresponding type
private EditText mName = (EditText) findViewById(R.id.name);

Link events with code

In the file activity_main.xml inside the object (for example: ImageButton, Button) use the attribute android:onClick="method_name"

After in the your Activity class (for example MainActivity.java) declare your method as you named previously (in this case method_name()), passing as parameter the View.

    public void method_name(View v) {
     //Your code
    }

Send message in the view (Toast)

Inside your method create a Toast object and use first the method makeText() and then show() method.


Toast.makeText(this.getApplicationContext(), R.string.app_name, Toast.LENGTH_LONG).show();

Animation

Inside the activity method (Ex. public void processForm(View view) {}  ), create the Animation object. In this case the method belong to a button.

Animation anim = AnimationUtils.makeOutAnimation(this, true);
view.startAnimation(anim);

----------------------- Intent ---------------------------------

Call another View

To call another View use the following code, where  SettingsActivity is your class' name.
 Intent i = new Intent(this,SettingsActivity.class);
            startActivity(i);

 Send a plain text message

Inside the activity method (Ex. public void processForm(View view) {}  ), create Intent object.

Intent i = new Intent(Intent.ACTION_SEND);
i.setType("text/plain");
i.putExtra(Intent.EXTRA_TEXT, "This is my message");
startActivity(i);

Send sms

Inside the activity method (Ex. public void processForm(View view) {}  ), create Intent object.

mPhone = (EditText) findViewById(R.id.phone); // this is a textbox

Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.fromParts("sms", mPhone));
intent.putExtra("sms_body", comments);

Send mail and review configured email client

 Inside the activity method (Ex. public void processForm(View view) {}  ), create Intent object.

 Intent intent = new Intent(Intent.SEND_TO);
intent.setData( Uri.fromParts("mailto", "destiny_mail", null));
intent.putExtra(Intent.EXTRA_SUBJECT, "subject");
intent.putExtra(Intent.EXTRA_TEXT, "message");

   Validate email client


if( intent.resolveActivity(getPackageManager()) == null ){}

When the method resolveActivity return null there is not application to execute the Intent

Send an image file

Inside the activity method (Ex. public void processForm(View view) {}  ), create Intent object.
In this case you have to define the type of file and extension share.setType("image/jpeg").
Also you have to declare the URL where is the file with share.putExtra(Intent.EXTRA_STREAM, uri);
Finally you need to execute the activity like the others with startActivity and if you want configure the chooser application with your own message.

Intent share = new Intent(Intent.ACTION_SEND);
        share.setType("image/jpeg");
        share.putExtra(Intent.EXTRA_STREAM, uri);
        startActivity(Intent.createChooser(share, "Share using..."));

Get Resource / startActivityForResult()

This intent open the gallery. The method startActivityForResult return the result of the new created activity.


Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
 intent.setType("image/*");
startActivityForResult(Intent.createChooser(intent,"Select..."), REQUEST_CODE);


After the intent finished the task execute the method onActivityResult, to use it you have to override the method in your code, one of the parameters the method received is resultCode, the parameter received as possible values: RESULT_CANCELED or RESULT_OK


 @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        if (requestCode == REQUEST_CODE && resultCode == RESULT_OK) {

 
    }
}

Scan new images

This intent do a refresh action to view the new images in our cellphone. The difference for this case is that instead of use startActivity to execute the intent, now you have to use
sendBroadcast method.

Intent intent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
        intent.setData(uri);
        sendBroadcast(intent);



martes, 11 de febrero de 2014

C# GridView - How to know which element is


To know an element inside a method call from the view as OnTextChanged method, do a cast to sender parameter.

protected void txtOnBoard_TextChanged(object sender , EventArgs e)
    {
        TextBox txtJs = (TextBox)sender ;
        GridViewRow grdrDropDownRow = ((GridViewRow)txtJs.Parent.Parent);
    }

From sender you also can know how is the Parent element

C# Using tabs


To use tabs in C# use the TabContainer element from AjaxControlToolkit

Include AjaxControlToolkit

  1.  Include in the Web.config file, inside the tag <system.web> the following code

     <pages>
          <controls>
            <add tagPrefix="ajaxCTK" namespace="AjaxControlToolkit" assembly="AjaxControlToolkit"/>
          </controls>
        </pages>
     

Include TabContainer element

  • First  include TabContainer element that is the section where all the tabs will be displayed.
<ajaxCTK:TabContainer ID="TabContainerUpdate" runat="server"
                Height="800"
                CssClass="ajax__tab_style">

</ajaxCTK:TabContainer>

  • Second per each tab include the following code corresponding to each tab section, this code must be inside the TabContainer section code
<ajaxCTK:TabPanel ID="MsgApproveProject" runat="server"
                        HeaderText="Update Project"
                        Enabled="true"
                        ScrollBars="Auto"
                        OnDemandMode="Once">
                        <ContentTemplate>

/***   Tab section  ***/





                      </ContentTemplate>
</ajaxCTK:TabPanel>



 

Sony not detected on ADT

Configure the cellphone
  1. Go to Settings -> Xperia -> Connectivity
    • Select the option Install PC Companion, this option will install the drivers
    • Select the option Usb connetion mode
      • In my case work with Media transfer mode (MTP) that is the default option
      • The recommendations establish change to Mass storage mode (MSC)
    • Restart the computer
    • Restart the ADT



Review if you have the drivers installed (Windows)
  1. Open a explorer
  2. Right click on Computer
    • Select Manage
  3. Select Device Manager on left menu 
    • Select Portable Devices
    • Review if you have installed the drivers

jueves, 26 de diciembre de 2013

LINQ Examples


 Example 1

listProjectPersonDO  is a List<ClsRelProjectPersonDO>

foreach (ClsRelProjectPersonDO clsRelProjectPersonDO in 
            listProjectPersonDO.Where(element => element.IdProjectDomainSubdomain == row))
            {


             }


 Example2

 GeneralReport is a DataTable

 var qWorkingArea = GeneralReport.AsEnumerable()
             .GroupBy(r => r.Field<String>("workingArea"))
            .Select(g => new
            {
                totalW = g.Count(),
                workingArea = g.Key,

                onBoardW = ((from c in g where c["status"].ToString() == "ON BOARD" select c).Count())

              })
            .OrderBy(x => x.workingArea);


varGetTotalWorkingAreasOB = qWorkingArea.Sum(x => x.onBoardW); 


Example 3

How to do many selects.
 
var result = pyramid.Select(element => element.ClsRelProjectPersonDO.Where(item => item.IdProjectPerson == 
idProjectPerson)).First();

IEnumerable<ClsRelProjectPersonDO> a = result;