[android-developers] Re: Specific Design significance of Attribute Name Spaces in AndroidManifest Files.

2009-02-01 Thread Dianne Hackborn
There are two main reasons for this:

1. In a layout XML, your XML tree contains tags corresponding to classes to
instantiate and the the attributes are parameters passed to those classes.
Since this is sitting on top of an OO model, the specific class
corresponding to the tag will have an arbitrary number of base classes,
implemented by an arbitrary number of authors.  Yet all of those classes
will be pulling their arguments out of the single set of attributes, so
namespaces allow us to avoid any conflicts as the different implementations
change in version.

2. This allows for a number of key optimizations we do to be able to much
more efficiently parse these XML resources, without the requiring that the
tools have DTD descriptions (and actually more than full) of every kind of
XML file you create.  These optimizations come into play when the resource
compiler sees an attribute in a sub-namespace of
http://schemas.android.com/apk/res/..., and include things like:

- The corresponding resource ID of the attribute is embedded in the compiled
XML, so it can be find with simple integer comparisons.

- Multiple such attributes are sorted in order of their resource IDs, so
obtainStyledAttributes() can be performed as an O(N) operation (this is the
reason for the funky way that API works).

- The resource compiler uses the type information associated with the
attribute resource to pre-parse its value, such as converting color and
integer strings to 4-byte ints, converting enums and flags to their final
int value, resolving references to resources or attributes to their
associated resource identifier, etc.

Without these things, there is just no way we could have used generic XML
files for layouts and such and achieved sufficient performance; we would
have had to take a more traditional approach of converting the resource
source files (which could still be XML) into some custom specific binary
blob for that specific resource type.  With what we have now, the full XML
data is parsed on the device, just using our own special binary XML format.

Hope that helps!

On Sat, Jan 31, 2009 at 7:38 PM, Raja Nagendra Kumar 
nagendra.r...@gmail.com wrote:


 Thank you for reply. Any good reason for doing it..

 Most of the designs aim to assume reasonal defaults to min typing and
 do more with less..

 Regards,
 Nagendra
 



-- 
Dianne Hackborn
Android framework engineer
hack...@android.com

Note: please don't send private questions to me, as I don't have time to
provide private support.  All such questions should be posted on public
forums, where I and others can see and answer them.

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google
Groups Android Developers group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers-unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
-~--~~~~--~~--~--~---



[android-developers] Re: Specific Design significance of Attribute Name Spaces in AndroidManifest Files.

2009-01-31 Thread Raja Nagendra Kumar

Thank you for reply. Any good reason for doing it..

Most of the designs aim to assume reasonal defaults to min typing and
do more with less..

Regards,
Nagendra
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google
Groups Android Developers group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers-unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
-~--~~~~--~~--~--~---



[android-developers] Re: Specific Design significance of Attribute Name Spaces in AndroidManifest Files.

2009-01-30 Thread Raja Nagendra Kumar

Any insites by experts pl..
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google
Groups Android Developers group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers-unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
-~--~~~~--~~--~--~---



[android-developers] Re: Specific Design significance of Attribute Name Spaces in AndroidManifest Files.

2009-01-30 Thread Urs Grob

Attributes live in the global namespace by default; they do *not* inherit
the default namespace, unlike elements.

On Fri, Jan 30, 2009 at 11:14 AM, Raja Nagendra Kumar
nagendra.r...@gmail.com wrote:

 Any insites by experts pl..
 


--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google
Groups Android Developers group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers-unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
-~--~~~~--~~--~--~---



[android-developers] Re: Specific Design significance of Attribute Name Spaces in AndroidManifest Files.

2009-01-26 Thread Raja Nagendra Kumar

When we remove android: in the activity defination

aapt reports error

 [aapt] F:\tejasoft\work\products\dialer\mobile\android\build\temp
\manifest\
AndroidManifest.xml:44: Tag activity missing required attribute
name.


The default name space should have been assumed to be same as tag name
space in this case we already defined for the root

manifest xmlns:android=http://schemas.android.com/apk/res/android;
  package=com.tejasoft.dialer.android

Regards,
Nagendra
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google
Groups Android Developers group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers-unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
-~--~~~~--~~--~--~---