Class: Android::Resource
- Inherits:
-
Object
- Object
- Android::Resource
- Defined in:
- lib/android/resource.rb
Overview
based on Android OS source code /frameworks/base/include/utils/ResourceTypes.h
Defined Under Namespace
Classes: Chunk, ChunkHeader, ResStringPool, ResTableConfig, ResTableEntry, ResTableHeader, ResTableLibraryType, ResTableMap, ResTableMapEntry, ResTablePackage, ResTableType, ResTableTypeSpec, ResValue, UnknownChunkType
Instance Attribute Summary collapse
-
#packages ⇒ Object
readonly
Returns the value of attribute packages.
Instance Method Summary collapse
-
#find(rsc_id, opt = {}) ⇒ Object
This method only support string resource for now.
- #first_pkg ⇒ Object
-
#initialize(data) ⇒ Resource
constructor
A new instance of Resource.
-
#locales ⇒ Array<String>
Return resources locales.
-
#package_count ⇒ Fixnum
Number of packages.
-
#res_hex_id(readable_id) ⇒ String
convert readable resource id to hex id.
-
#res_readable_id(hex_id) ⇒ String
Readable resource id (‘@string/key’).
-
#strings ⇒ Array<String>
All strings defined in arsc.
Constructor Details
#initialize(data) ⇒ Resource
Returns a new instance of Resource.
604 605 606 607 608 609 |
# File 'lib/android/resource.rb', line 604 def initialize(data) data.force_encoding(Encoding::ASCII_8BIT) @data = data parse end |
Instance Attribute Details
#packages ⇒ Object (readonly)
Returns the value of attribute packages.
602 603 604 |
# File 'lib/android/resource.rb', line 602 def packages @packages end |
Instance Method Details
#find(rsc_id, opt = {}) ⇒ Object
This method only support string resource for now.
Always return nil if assign not string type res id.
This method only support string resource for now. find resource by resource id
633 634 635 |
# File 'lib/android/resource.rb', line 633 def find(rsc_id, opt={}) first_pkg.find(rsc_id, opt) end |
#first_pkg ⇒ Object
659 660 661 |
# File 'lib/android/resource.rb', line 659 def first_pkg @packages.first[1] end |
#locales ⇒ Array<String>
Return resources locales
655 656 657 |
# File 'lib/android/resource.rb', line 655 def locales first_pkg.locales end |
#package_count ⇒ Fixnum
Returns number of packages.
617 618 619 |
# File 'lib/android/resource.rb', line 617 def package_count @res_table.package_count end |
#res_hex_id(readable_id) ⇒ String
convert readable resource id to hex id
648 649 650 |
# File 'lib/android/resource.rb', line 648 def res_hex_id(readable_id) first_pkg.res_hex_id(readable_id) end |
#res_readable_id(hex_id) ⇒ String
Returns readable resource id (‘@string/key’).
640 641 642 |
# File 'lib/android/resource.rb', line 640 def res_readable_id(hex_id) first_pkg.res_readable_id(hex_id) end |
#strings ⇒ Array<String>
Returns all strings defined in arsc.
612 613 614 |
# File 'lib/android/resource.rb', line 612 def strings @string_pool.strings end |