Android Manifest file
Every
Android application must have a manifest file. Manifest file contains very
essential information about the application. Having a proper understanding of
manifest is necessary for Android application development.
A
manifest file contains following information of Android application
- Package name: The package name serves as a unique identifier for the application.
- Activities : All activities are declared in manifest file.
- Services : All the services used in you application must be declared in activities.
- BroadcastReceivers : If your application has broadcast receiver, it must be declared in the manifest file.
- Permissions : Lists the permissions required for your application.
- API Level : It declares the minimum, maximum and target API level of the Android API that the application requires.
- Application version : specifies the application version.
- Features used in application : it specifies which android feature the application require to run properly.
- Supported screen size : Android devices comes in
many shapes and size. You need to specify which screen types your
application supports.
Let us
have a sample manifest file and discuss each element in detail.
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.android.calculator"
android:versionCode="1"
android:versionName="1.1" >
<uses-sdk
android:minSdkVersion="8"
android:maxSdkVersion="16"
android:targetSdkVersion="15" />
<!-- list of permissions -->
<uses-permission android:name="android.permission.READ_CONTACTS"
/>
<uses-permission android:name="android.permission.INTERNET"
/>
<uses-permission android:name="android.permission.VIBRATE"
/>
<uses-permission android:name="android.permission.RECEIVE_MMS"
/>
<!-- Screen types supported -->
<supports-screens
android:smallScreens="true"
android:normalScreens="true"
android:largeScreens="false"/>
<!-- Features needed -->
<uses-feature android:name="android.hardware.bluetooth"
/>
<uses-feature android:name="android.hardware.camera"
/>
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".MainActivity"
android:label="@string/title_activity_main" >
<intent-filter>
<action android:name="android.intent.action.MAIN"
/>
<category android:name="android.intent.category.LAUNCHER"
/>
</intent-filter>
</activity>
<receiver android:name=".SmsReceiver">
<intent-filter>
<action android:name="android.provider.Telephony.SMS_RECEIVED"
/>
</intent-filter>
</receiver>
<service
android:name="VibrateService"/>
</application>
</manifest>
Let
us discuss each attribute
1:
package="com.android.calculator"
package
name of the application is "com.android.calculator".
2: android:versionName="1.1"
version of application is 1.1
3: <uses-sdk
android:minSdkVersion="8"
android:maxSdkVersion="16"
android:targetSdkVersion="15" />
minSdkVersion attribute: specifies the lowest
API level that the application supports, here it is 8.
maxSdkVersion attribute: specifies the
maximum/highst API level that the application supports, here it is 16.
targetSdkVersion attribute: specifies the optimun
API level that the application supports, here it is 15.
4: <uses-permission android:name="android.permission.READ_CONTACTS"
/>
<uses-permission android:name="android.permission.INTERNET"
/>
<uses-permission android:name="android.permission.VIBRATE"
/>
<uses-permission android:name="android.permission.RECEIVE_MMS"
/>
The application has requested four permissons
Permission to read contacts.
Permission to access internet.
Permission to vibrate the device.
Permission to receive the SMS.
Note: If you not declare the required
permission in the manifest and use the feature in your application you will get
“SecurityException”. List of all imporatnt permissions is given in the
appendix.
5: <supports-screens
android:smallScreens="true"
android:normalScreens="true"
android:largeScreens="false"/>
application supports devices with small and normal
screens but not support devices with large screens.
6: <uses-feature android:name="android.hardware.bluetooth"
/>
<uses-feature android:name="android.hardware.camera"
/>
Application uses camera and Bluetooth hardware of
the device.
7: the <application> tag
In the application tag all activities, services
and broadcast receivers are declared.
New Advance Topics: Android LiveWallpaer Tutorial
Android ImageSwitcher Android TextSwitcher Android ViewFlipper
Android Gesture Detector Handling/Detecting Swipe Events Gradient Drawable
Detecting Missed Calls Hide Title Bar GridView Animation
Android AlarmManager Android BootReceiver Vibrate Phone In a Desirable Pattern
Developing for Different Screen Sizes Showing Toast for Longer Time Publishing your App
How to publish Android App on Google Play
Android TextWatcher Android ExpandableListView
Beginning With Android
Android : Introduction(What is Android) Configuring Eclipse for Android Development
Creating Your First Android Project Understanding Android Manifest File of your android app
Advance Android Topics Customizing Android Views
Working With Layouts Working With Views
Understanding Layouts in Android Using Buttons and EditText in Android
Working with Linear Layout (With Example) Using CheckBoxes in Android
Nested Linear Layout (With Example) Using AutoCompleteTextView in Android Grid View
Relative Layout In Android ListView
Table Layout Android ProgressBar
Frame Layout(With Example) Customizing ProgressBar
Absolute Layout Customizing Radio Buttons
Grid Layout Customizing Checkboxes In Android
Android Advance Views
Android Spinner Android GalleryView
Android TabWidget Android ExpandableListView
Android Components Dialogs In Android
Activity In Android Working With Alert Dialog
Activity Life Cycle Adding Radio Buttons In Dialog
Starting Activity For Result Adding Check Boxes In Dialog
Sending Data from One Activity to Other in Android Creating Customized Dialogs in Android
Returning Result from Activity Creating Dialog To Collect User Input
Android : Service DatePicker and TimePickerDialog
BroadcastReceiver Using TimePickerDialog and DatePickerDialog In android
Menus In Android ListView:
Creating Option Menu Populating ListView With DataBase
Creating Context Menu In Android Populating ListView with ArrayList
ListView with Custom Adapter
Toast Working With SMS
Customizing Toast In Android How to Send SMS in Android
Customizing the Display Time of Toast How To Receive SMS
Customizing Toast At Runtime Accessing Inbox In Android
Adding Image in Toast
Showing Toast for Longer Time
TelephonyManager Storage: Storing Data In Android
Using Telephony Manager In Android SharedPreferences In Android
Reading and Writing files to Internal Stoarage
Working With Incoming Calls DataBase : Introduction of SQLiteDataBase
How To Handle Incoming Calls in Android Working With Database in Android
How to Forward an Incoming Call In Android Creating Table In Android
CALL States In Android Inserting, Deleting and Updating Records In Table in Android
Miscellaneous
Notifications In Android
How To Vibrate The Android Phone
Sending Email In Android
Opening a webpage In Browser
How to Access PhoneBook In Android
Prompt User Input with an AlertDialog
How to Hide Title Bar In Android
How to show an Activity in Landscape or Portrait Mode only.
How to Set an Image as Wallpaper.
First of all I would like to say excellent blog!
ReplyDeleteI had a quick question which I'd like to ask if you do not mind.
I was interested to know how you center yourself and clear your
head before writing. I've had a difficult time clearing my thoughts in getting my ideas out.
I truly do enjoy writing but it just seems like the
first 10 to 15 minutes are wasted just trying to figure
out how to begin. Any suggestions or hints? Kudos!
Keep on working, great job!
ReplyDeleteMy brother suggested I might like this blog.
ReplyDeleteHe was entirely right. This post truly made my day.
You can not imagine just how much time I had spent for this information! Thanks!
My programmer is trying to persuade me to move to .net from PHP.
ReplyDeleteI have always disliked the idea because of the expenses.
But he's tryiong none the less. I've been using Movable-type on numerous websites
for about a year and am concerned about switching to another
platform. I have heard fantastic things about blogengine.net.
Is there a way I can import all my wordpress posts into it?
Any kind of help would be really appreciated!
Hello my family member! I wish to say that this post is amazing, nice written and come with
ReplyDeletealmost all important infos. I would like to look more posts like this .
Touche. Sound arguments. Keep up the good work.
ReplyDeleteI've been browsing online greater than three hours as of
ReplyDeletelate, but I by no means discovered any interesting article like yours.
It's pretty price enough for me. Personally, if all site owners and bloggers made excellent content material as you probably did, the net will be much more
helpful than ever before.
I think that what you posted made a bunch of sense.
ReplyDeleteBut, what about this? what if you added a little content?
I am not suggesting your content isn't solid., however suppose you added a
post title to possibly get folk's attention? I mean "Understanding Android Manifest File" is a little plain. You ought to peek at Yahoo's home
page and note how they write post titles to grab people
interested. You might try adding a video or a picture or
two to get people excited about everything've written.
In my opinion, it would make your blog a little livelier.
Hi, i believe that i noticed you visited my blog so i
ReplyDeletecame to return the choose?.I'm attempting to in finding things to enhance
my web site!I guess its good enough to make use of some
of your concepts!!
I've been exploring for a little bit for any high-quality articles or
ReplyDeleteweblog posts on this sort of space . Exploring in Yahoo I ultimately stumbled upon this
site. Studying this information So i am satisfied to express that
I've a very excellent uncanny feeling I discovered exactly what I needed.
I such a lot certainly will make certain to don?t overlook this website
and provides it a look regularly.
Hiya very cool web site!! Guy .. Beautiful .. Amazing ..
ReplyDeleteI'll bookmark your blog and take the feeds also?
I am glad to seek out numerous useful info here within the publish, we need work
out extra techniques in this regard, thanks for sharing.
. . . . .
Hi there, I discovered your blog by way of Google even as looking for a similar topic,
ReplyDeleteyour web site came up, it appears to be like great.
I have bookmarked it in my google bookmarks.
Hi there, simply turned into aware of your weblog via Google, and found that it is really informative.
I'm gonna watch out for brussels. I'll appreciate for those who continue this in future.
Numerous folks shall be benefited from your writing.
Cheers!
Hello there! This is my first comment here so I just wanted
ReplyDeleteto give a quick shout out and tell you I genuinely
enjoy reading your blog posts. Can you recommend any
other blogs/websites/forums that deal with the same subjects?
Thanks!
Greetings from Carolina! I'm bored at work so I decided to browse your site on my iphone during lunch
ReplyDeletebreak. I really like the information you present here and can't wait to take a look when I
get home. I'm amazed at how quick your blog loaded on my mobile ..
I'm not even using WIFI, just 3G .. Anyhow, excellent site!
Hi outstanding blog! Does running a blog such as this require a large amount of work?
ReplyDeleteI've virtually no knowledge of computer programming however I was hoping to start my own blog
soon. Anyhow, should you have any ideas or tips for new blog owners please share.
I know this is off subject nevertheless I simply needed to ask.
Thank you!
Nice blog.
ReplyDeletemoviebox for pc
Hi,
ReplyDeleteThanks for sharing the information with us it was very informative. Hangup.in
I found this blog to be an invaluable source of knowledge on Android Manifest files. It provides a comprehensive overview of the topic in an easy-to-understand manner. ipvanish student discount plan The clear and concise explanations really helped me understand the fundamentals of this file. Highly recommended!
ReplyDelete