int color = getResources().getColor(R.color.primary_color); // Colors
String appName = getString(R.string.app_name); // Strings
imageView.setImageResource(R.drawable.logo); // Drawables
Resources, R.java, Assets, Layouts & Drawable Resources in Hindi
Android app में resources (layouts, images, strings, colors, आदि) का उपयोग करके UI को बेहतर और dynamic बनाया जाता है।
1. Resources (res/) क्या होता है?
Android में resources (res/) वह सभी static content होते हैं, जो app के UI और functionality को define करने में मदद करते हैं। ये files hardcoded values को हटाकर ऐप को flexible, scalable, और multi-language supportive बनाती हैं।
उदाहरण के लिए:
- UI Layouts (XML files)
- Images और Icons (PNG, JPEG, SVG, XML Drawables)
- Strings (Text, Messages)
- Colors और Styles
- Dimensions (Padding, Margins)
- Animation Effects
सभी Resources res/ folder में store किए जाते हैं और R.java फाइल के जरिए इन्हें code में access किया जाता है।
Types of Resources
Resource Type | Location | Description |
---|---|---|
Drawable | res/drawable/ | Images, XML graphics (icons, buttons) |
Layout | res/layout/ | XML UI files (Activity, Fragments) |
Mipmap | res/mipmap | App launcher icons (Adaaptive icons) |
Values | res/values/ | Strings, colors, dimensions, themes |
Raw | res/raw/ | Audio, videos, JSON, other raw files |
XML | res/xml/ | XML-based configurations |
2. R.java (Resource Identifier Class)
R.java एक ऑटो-जेनरेटेड जावा फाइल होती है, जो सभी resources का unique identifier (ID) स्टोर करती है।
R.java कैसे काम करता है?
जब भी आप किसी resource को res/ फ़ोल्डर में एड करते हैं, Android Studio उसे R.java फाइल में एक unique ID के रूप में स्टोर करता है। फिर आप उस resource को कोड में आसानी से access कर सकते हैं।
Example: R.java का उपयोग
Example: R.java की Structure
public final class R {
public static final class drawable {
public static final int logo = 0x7f010000;
}
public static final class layout {
public static final int activity_main = 0x7f020000;
}
public static final class string {
public static final int app_name = 0x7f030000;
}
}
Note: यह फ़ाइल manually edit नहीं की जाती। यह automatically generate होती है।
3. Assets Folder (assets/)
Android में assets/ folder एक raw file storage location है, जहाँ आप वे files रख सकते हैं जो res/ folder में सीधे store नहीं की जा सकतीं, जैसे कि:
- Fonts (TTF, OTF)
- HTML, CSS, JavaScript फ़ाइलें
- JSON और XML data files
- SQLite डेटाबेस (.db)
- PDF, MP3, और वीडियो फ़ाइलें
Android का resources system (res/ फ़ोल्डर) assets को directly access नहीं कर सकता। इसके बजाय, हमें AssetManager API का उपयोग करके assets को load करना पड़ता है।
4. Layouts (UI Design)
Android में layouts XML files के रूप में store होती हैं, जो UI structure को define करती हैं। ये res/layout/ folder में मिलती हैं।
Layout Types
Layout Types | Description |
---|---|
LinearLayout | Elements को vertical या horizontal में arrange करता है |
RelativeLayout | Views को एक-दूसरे के relation में set करता है |
ConstraintLayout | Flexible & optimized layout |
FrameLayout | Single child element का उपयोग |
GridLayout | Grid-based structure |
TableLayout | Rows और Columns में divide |
Drawable Resources
Drawable resources वे graphics होते हैं जिन्हें Android app में UI elements के रूप में उपयोग किया जाता है। ये res/drawable/ folder में store किए जाते हैं और विभिन्न प्रकार के होते हैं।
Types of Drawable Resources
1. Bitmap Drawables (.png, .jpg, .webp)
- Static image files जो app में icons, backgrounds, आदि के लिए उपयोग होते हैं।
- Example: logo.png, background.jpg
2. Vector Drawables (.xml)
- Scalable और lightweight graphics जो बिना quality खोए resize किए जा सकते हैं।
- Example: Material icons, SVG images
3. Nine-Patch Drawables (.9.png)
- Special PNG images जो dynamically stretch हो सकती हैं।
- Example: Buttons, chat bubbles
4. Shape Drawables (.xml)
- XML फाइल में defined simple geometric shapes जैसे rectangles, ovals, lines, आदि।
- Example: Rounded buttons, borders, shadows
5. State List Drawables (selector.xml)
- Different states (normal, pressed, disabled) के लिए अलग-अलग drawables define करता है।
- Example: Button background change on click
6. Layer List Drawables (layer-list.xml)
- Multiple drawables को layers में stack करता है।
- Example: Image over background
Request
अगर आपको यह article useful या interesting लगा हो, तो please इसे अपने dosto aur family ke साथ जरूर share करें। आपका एक छोटा सा कदम हमें और अच्छा content बनाने के लिए motivate करता है। Thank you!
ध्यान दें कि इस page पर आपको कुछ ads भी देखने को मिल सकते हैं। इसके लिए हम आपसे माफी चाहते हैं। हम इस content को तैयार करने में काफी मेहनत और time लगाते हैं, ताकि आपको valuable जानकारी मिल सके। इन्हीं ads की मदद से हम ये काम continue कर पाते हैं।
आपके support और understanding के लिए दिल से धन्यवाद।