Friday, May 17, 2013

Android Studio

On Google IO 2013, Google introduced Android Studio, based on IntelliJ IDEA, a new tool for Android developers. I liked it. Since it was a preview version, Google noted:
Caution: Android Studio is currently available as an early access preview. Several features are either incomplete or not yet implemented and you may encounter bugs. If you are not comfortable using an unfinished product, you may want to instead download (or continue to use) the ADT Bundle (Eclipse with the ADT Plugin).
As soon it posted on developer.android.com, I downloaded and installed on three platforms: Ubuntu 13.04, Mac OS/X Lion 10.7.5 and Windows Vista. On Ubuntu 13.04 with OpenJDK 1.7, I got this error message:
'tool.jar' is not in Android Studio class path. Please ensure JAVA_HOME points to JDK rather than JRE.
I have no problem using Eclipse Juno (4.2.2) for Android development on this machine. Ran android-studio/bin/studio.sh at a terminal, there was a warning:
WARNING: You are launching the IDE using OpenJDK Java runtime. ITS KNOWN TO HAVE PERFORMANCE AND GRAPHICS ISSUES! SWITCH TO THE ORACLE(SUN) JDK BEFORE REPORTING PROBLEMS!
Downloaded and switched to Oracle (Sun) JDK from OpenJDK on Ubuntu 13.04 according to Hendré's blog, problem solved.

On Mac OS/X with Java 1.6.0_45, I got Android Studio ran immediately without hicup. After I made a new simple project to test, I could not load any Android Virtual Device. To work around, I opened Android Virtual Device Manager from Eclipse Juno to load the Android Application launched from Android Studio.

On Windows Vista with JRE 7 installed only, Nothing running after executed Android Studio (c:\android-studio\studio,exe) application. Tried to replaced Oracle JRE 7 with Oracle JDK 7, no luck. Solution: Added environment variable JAVA_HOME with value "C:\Program Files\Java\jdk1.7.0_21) to system variables. Further reading:

Monday, May 13, 2013

ASP.NET Questions and Answers – Part 4

Why we should using HttpUtility.HtmlEncode?
We should using HttpUtility.HtmlEncode method to sanitize the user input.This prevents users from injecting Javascrip into web application.

What is the difference between ASP.NET MVC 3 Web Application template and ASP.NET MVC 3 Empty Web Application?
One difference between the full ASP.NET MVC 3 Web Application template and the ASP.NET MVC 3 Empty Web Application template is that the empty template doesn’t include an Account Controller.

What is the difference between Session State and View State?
Both Session State and View State used to keep track data between the post back. Session State is server based. View State is a client based. (ASP.NET State Management Overview)

ASP.NET session state enables you to store and retrieve values for a user as the user navigates ASP.NET pages in a Web application. ASP.NET session state identifies requests from the same browser during a limited time window as a session, and provides a way to persist variable values for the duration of that session. (ASP.NET Session State Overview)

View state is the method that the ASP.NET page framework uses to preserve page and control values between round trips. When the HTML markup for the page is rendered, the current state of the page and values that must be retained during postback are serialized into base64-encoded strings. This information is then put into the view state hidden field or fields. (ASP.NET View State Overview).

Related posts:

Saturday, May 11, 2013

Notes on MVC Music Part 3 Tutorial

MVC Music Store is a great tutorial written by Jon Galloway. Using Visual Studio 2012 with MVC 4 Web Application Empty template, the following folders are note available:
  • /View/Shared
  • /Content/
  • /Scripts
Here are solutions:
  1. Drag /Content folder from MVCMusicStore-Assets.zip into MvcMusicStore solution folder in Visual Studio 2012. If you just drag and drop in Windows Explorer, make sure it 'included in the project'
  2. Select Manage Nuget Packagse under Project menu to install jQuery. The /Scripts folders will create under MvcMusicStore folder.
  3. Add folder Shared to /View folder
  4. Right click on /View/ folder to add MVC 4 Layout page (Razor) and named it _Layout.cshtml. Copy the code in tutorial into this file. Also correct version of installed jQuery script. Here, I used jquery-2.0.0.min.js instead of jquery-1.5.1.min.js
  5. Right click on /View/Shared folder to add MVC 4 Layout page (Razor) and named it _ViewStart.cshtml. Added the following codes to this file:
    @{
    Layout = "~/Views/Shared/_Layout.cshtml";
    }