{"id":85533,"date":"2021-11-09T09:00:50","date_gmt":"2021-11-09T03:30:50","guid":{"rendered":"https:\/\/techvidvan.com\/tutorials\/?p=85533"},"modified":"2021-11-09T09:00:50","modified_gmt":"2021-11-09T03:30:50","slug":"android-interview-questions-and-answers","status":"publish","type":"post","link":"https:\/\/techvidvan.com\/tutorials\/android-interview-questions-and-answers\/","title":{"rendered":"Android Interview Questions and Answers"},"content":{"rendered":"<p><span style=\"font-weight: 400\">Today we are going to dive a bit deep into Android. I know you guys have already gone through the intermediate level of Android Interview Questions. Now it\u2019s time for us to take a deep dive and understand more conceptual and more indirect questions that may require a little extra effort to get through.<\/span><\/p>\n<p><span style=\"font-weight: 400\">We can\u2019t expect what will happen in an interview and how your interviewer may twist the most straightforward question to the toughest. So, to handle such scenarios, you shall be well prepared, and to assist you, we have brought you a set of advanced-level Android Interview questions and Answers.<\/span><\/p>\n<h3><span style=\"font-weight: 400\"> Android Interview Questions and Answers<\/span><\/h3>\n<p><strong>Q1. What is the way to make an activity a launcher activity in Android?<\/strong><\/p>\n<p><span style=\"font-weight: 400\">Ans. We know by default the MainActivity acts as a launcher activity for any application. We can change this and keep any other activity as a launcher activity. To do so, you need to locate your Android Manifest XML file and then first remove the <\/span><b>intent filter<\/b><span style=\"font-weight: 400\"> from your Main Activity and place it in your desired activity.<\/span><\/p>\n<p><span style=\"font-weight: 400\">To make it a launcher activity, you must paste the below code inside your desired activity\u2019s &lt;activity&gt; tags.<\/span><\/p>\n<p><b><i>Code:<\/i><\/b><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">\u00a0&lt;intent-filter&gt;\n\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;action android:name=\"android.intent.action.MAIN\" \/&gt;\n\n\n\n\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;category android:name=\"android.intent.category.LAUNCHER\" \/&gt;\n\n\u00a0&lt;\/intent-filter&gt;<\/pre>\n<p><strong>Q2. Why is it important for Android to destroy an activity after the user has closed the application?<\/strong><\/p>\n<p><span style=\"font-weight: 400\">Ans. We very well know that whenever the user closes the application, all the activities he was using before are destroyed, and an onDestroy() callback method is triggered. Whenever we run an application, we use some resources like phone RAM, memory, processors, etc. Now, by destroying, we <\/span><b>free up these resources<\/b><span style=\"font-weight: 400\"> which were being used by the application.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Android needs to free up these resources to allow other applications to run without any hustle. Every application that runs on your device requires these resources, and Android should make sure that the resources are made accessible for the next application after using that application.\u00a0<\/span><\/p>\n<p><strong>Q3. Can a service run in the foreground of the application? If yes, please explain how.\u00a0<\/strong><\/p>\n<p><span style=\"font-weight: 400\">Ans. <\/span><b>Yes<\/b><span style=\"font-weight: 400\">, a service can run in the foreground. We can bind the service to the application itself to make it run in the foreground. The foreground service is usually visible to the user, and users can interact with this kind of service.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400\">For example, consider your music application where the music playing service is bound to the application. We can turn on\/off the music player from the application. Whenever we keep music in the application, we can go out of the application and operate other applications. Whereas if we close the application, then the service of playing music also closes.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400\">So, in this way, if we bind the service to the application itself, then we can run a service in the foreground.\u00a0<\/span><\/p>\n<p><strong>Q4. How do we identify the various types of data while dealing with content providers?<\/strong><\/p>\n<p><span style=\"font-weight: 400\">Ans. We use the content <\/span><b>URI(Uniform Resource Identifier) <\/b><span style=\"font-weight: 400\">to locate data in the content provider. The content provider takes URI as the parameter to find the specific data. Usually, the content URI is structured in the following manner:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400\"><b>Prefix<\/b><span style=\"font-weight: 400\"> &#8211;\u00a0 Usually, the prefix is set to <\/span><b>content:\/\/<\/b><span style=\"font-weight: 400\">.\u00a0<\/span><\/li>\n<li style=\"font-weight: 400\"><b>Authority <\/b><span style=\"font-weight: 400\">&#8211; It contains the name of the Provider.<\/span><\/li>\n<li style=\"font-weight: 400\"><b>Path<\/b><span style=\"font-weight: 400\"> &#8211; It includes the location of the data.<\/span><\/li>\n<li style=\"font-weight: 400\"><b>ID<\/b><span style=\"font-weight: 400\"> &#8211; This is an optional parameter that is used to access specific records.<\/span><\/li>\n<\/ul>\n<p><strong>Q5. How can we create multiple sub-activities in a given activity?<\/strong><\/p>\n<p><span style=\"font-weight: 400\">Ans. <\/span><b>Fragments<\/b><span style=\"font-weight: 400\"> are popularly known as sub-activity of an activity. Using the ideology of fragments, we can create multiple sub-activities(or fragments) in a given activity.\u00a0 Fragments are very much similar to activity and provide a user interface for users to interact. The only disadvantage with this kind of sub-activities( or fragments) is that they solely depend on their parent activities for their existence.<\/span><\/p>\n<p><span style=\"font-weight: 400\">To create multiple sub-activities in a given activity, you can use the below code.<\/span><\/p>\n<p><b><i>Code:<\/i><\/b><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">&lt;?xml version=\"1.0\" encoding=\"utf-8\"?&gt;\n\n&lt;LinearLayout xmlns:android=\"http:\/\/schemas.android.com\/apk\/res\/android\"\n\n\u00a0\u00a0\u00a0\u00a0android:layout_width=\"match_parent\"\n\n\u00a0\u00a0\u00a0\u00a0android:layout_height=\"match_parent\"\n\n\u00a0\u00a0\u00a0\u00a0android:orientation=\"vertical\" &gt;\n\n\u00a0\u00a0&lt;FrameLayout\n\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0android:id=\"@+id\/our_frag_holder\"\n\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0android:layout_width=\"match_parent\"\n\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0android:layout_height=\"match_parent\"&gt;\n\n\u00a0\u00a0&lt;\/FrameLayout&gt;\n\n&lt;\/LinearLayout&gt;<\/pre>\n<p><span style=\"font-weight: 400\">Now to create the fragment transaction, you can use the below code.\u00a0<\/span><\/p>\n<p><b><i>Code:<\/i><\/b><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">\u00a0val transaction = fragmentSupportManager.beginTransaction()\n\n\u00a0transaction.replace(R.id.our_frag_holder,new OurFragment1())\n\n\u00a0transaction.commit()<\/pre>\n<p><span style=\"font-weight: 400\">So using the above, we can place any of our fragments with the created FrameLayout.\u00a0<\/span><\/p>\n<p><strong>Q6. Suppose you are asked to build an application where if a user presses on a URL, you need to open the browser application with the clicked URL. How will you explain this?\u00a0<\/strong><\/p>\n<p><span style=\"font-weight: 400\">Ans. In such scenarios, we will use an implicit intent that helps us to open other applications. We actually use implicit intents when we know that our application can\u2019t solely satisfy the user&#8217;s needs. We simply need to specify the type of action that we wish to perform, and the intent does that for us when triggered.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400\">In the case of the above scenario, we can write the following code to open the URL in the browser.\u00a0<\/span><\/p>\n<p><b><i>Code:<\/i><\/b><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">my_intent = Intent(Intent.ACTION_VIEW)\u00a0\u00a0\n\nmy_intent.setData(Uri.parse(\"https:\/\/techvidvan.com\/tutorials\/\"))\u00a0\u00a0\n\nstartActivity(my_intent)<\/pre>\n<p><strong>Q7. You are assigned to develop an app that can respond to long clicks. In such a scenario, how and what will you use to accomplish the task?<\/strong><\/p>\n<p><span style=\"font-weight: 400\">Ans. We very well know that event handling is the concept we can use to handle long clicks or any other events in android. To be specific, we will use the <\/span><b>onLongClick() <\/b><span style=\"font-weight: 400\">method to respond to long clicks.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400\">So, what we need to do is, firstly, we need to register the view with the onLongClick() callback method. Inside the callback method, we will specify the task we intend to perform.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400\">For example, we can use the below to register for long clicks.\u00a0<\/span><\/p>\n<p><b><i>Code:<\/i><\/b><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">\u00a0your_view.setOnLongClickListener {\n\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0Toast.makeText(this@MainActivity, \"Your View was pressed long\", Toast.LENGTH_LONG).show()\n\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0true\n\n\u00a0\u00a0\u00a0\u00a0\u00a0}<\/pre>\n<p><strong>Q 8. Is it possible to create fragments within a fragment? Please explain.\u00a0<\/strong><\/p>\n<p><span style=\"font-weight: 400\">Ans.\u00a0 Yes, it is possible to create fragments within a fragment in Android. It is also known as the nesting of fragments in Android.\u00a0 You can achieve this by simply placing another FrameLayout inside the existing layout of the fragment.<\/span><\/p>\n<p><span style=\"font-weight: 400\">For example, see below, where a fragment with root layout as LinearLayout carries a FrameLayout inside it.<\/span><\/p>\n<p><b><i>Code:<\/i><\/b><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">&lt;?xml version=\"1.0\" encoding=\"utf-8\"?&gt;\n\n&lt;LinearLayout xmlns:android=\"http:\/\/schemas.android.com\/apk\/res\/android\"\n\n\u00a0\u00a0\u00a0\u00a0android:layout_width=\"match_parent\"\u00a0\n\n\u00a0\u00a0\u00a0\u00a0android:layout_height=\"match_parent\"\n\n\u00a0\u00a0\u00a0\u00a0android:orientation=\"vertical\" &gt;\n\n&lt;FrameLayout\n\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0android:id=\"@+id\/inside_fragment\"\n\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0android:layout_width=\u201d300dp\"\n\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0android:layout_height=\"300dp\" \/&gt;\n\n&lt;\/LinearLayout&gt;<\/pre>\n<p><strong>Q9. Explain the process to change the theme of your application in Android.<\/strong><\/p>\n<p><span style=\"font-weight: 400\">Ans. Android gives us a feature to edit the style and theme of our application. We can even add or remove the app bar or even style it according to our needs. To do so, we need to locate the res directory and then open the values folder. In the values folder, we have the themes.xml file that we need to edit to style our application\u2019s theme.\u00a0<\/span><\/p>\n<p><strong>Q10. Explain the concept of drag shadow in Android with an example.<\/strong><\/p>\n<p><span style=\"font-weight: 400\">Ans.\u00a0 Drag Shadow is the path of the element through which it was dragged from one view to another. We use the DragShadowBuilder class to describe the path of the dragging. For example, suppose you drag a box from one room to another, then the trace of that box that is left behind after moving the box is known as the drag shadow. Drag shadow helps us to identify the path of the elements when dragged.\u00a0<\/span><\/p>\n<p><strong>Q11. Is there any feature in Android using which you can generate custom notifications on the user device?\u00a0<\/strong><\/p>\n<p><span style=\"font-weight: 400\">Ans. Android comes up with a Notification.Builder class that helps us to create our own custom notifications. We can provide text, images, and even data along with a notification. Android also allows us to decide the priorities of our built notification, and based on the priority it triggers the same to the user. <\/span><\/p>\n<p><span style=\"font-weight: 400\">Suppose, if the priority of the notification is high, then it may occupy the first position in your status bar. Your device may also give a notification tone(if notifications are not disabled) to the user.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400\">You can use the below code to design your custom notifications.\u00a0<\/span><\/p>\n<p><b><i>Code:<\/i><\/b><span style=\"font-weight: 400\">\u00a0<\/span><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">builder = Notification.Builder(this, CHANNEL_ID)\n\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0.setContent(contentView)\n\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0.setSmallIcon(R.mipmap.YOUR_APP_ICON)\n\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0.setLargeIcon(BitmapFactory.decodeResource(this.resources,R.mipmap.YOUR_APP_ICON))\n\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0.setContentIntent(pendingIntent)<\/pre>\n<p><strong>Q12. Is there any way to track your current location using Android? If so, please explain briefly how we can implement it.\u00a0<\/strong><\/p>\n<p><span style=\"font-weight: 400\">Ans. In Android, we have a feature known as location-based services, which enables us to track current locations, find nearby places, geofencing, etc. It has the capability to fetch your location based on GPS, WiFi, or even cellular network. We need to first enable the google play service for our application, and then we can use the <\/span><b>FusedLocationProviderClient<\/b><span style=\"font-weight: 400\"> class to fetch our current location.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400\">Using the below code, we can access the current location, also known as the last known location in Android.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Below is an example of the same.<\/span><\/p>\n<p><b><i>Code:\u00a0<\/i><\/b><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">private lateinit var fusedLocationClient: FusedLocationProviderClient\n\n\n\n\noverride fun onCreate(savedInstanceState: Bundle?) {\n\n\u00a0\u00a0\u00a0\n\n\u00a0\u00a0\u00a0\u00a0LocationClientObject = LocationServices.getFusedLocationProviderClient(this)\n\n}<\/pre>\n<p><span style=\"font-weight: 400\">Now just call the last location method with a listener.\u00a0<\/span><\/p>\n<p><b><i>Code:<\/i><\/b><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">LocationClientObject.lastLocation\n\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0.addOnSuccessListener { location : Location? -&gt;\n\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\/\/on getting the current location what you wish to do\n\n\u00a0 \/\/specify here\n\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}<\/pre>\n<p><strong>Q13. \u201cOur company wants to build an application where we can update users about their credit score through SMS,\u201d can you explain to us if it is possible to do so in Android?<\/strong><\/p>\n<p><span style=\"font-weight: 400\">Ans. Android gives us features to send SMS directly from our application. There are two ways using which we can send SMS directly from our application.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Firstly, we can use the SMS Manager API. Secondly, we can use the implicit intent way to send SMS. Below is an example of both of the methods.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400\">Using SMS Manager API<\/span><\/p>\n<p><b><i>Code:<\/i><\/b><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">val smsManager: manager = SmsManager.getDefault()\n\nmanager.sendTextMessage(user_phone_number, null, credit_score, null, null)<\/pre>\n<p><span style=\"font-weight: 400\">Using Implicit Intent Method<\/span><\/p>\n<p><b><i>Code:<\/i><\/b><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">val msg_uri = Uri.parse(\"smsto:user_phone_number\")\n\nval msgIntent = Intent(Intent.ACTION_SENDTO, msg_uri)\n\nmsgIntent.putExtra(\"message\", \"credit score of user\")\n\nstartActivity(msgIntent)<\/pre>\n<p><strong>Q14. Briefly explain the process of generating APK that can be deployed into the Google Play Store.<\/strong><\/p>\n<p><span style=\"font-weight: 400\">Ans. Firstly we need to code our application either in Kotlin or Java. Secondly, we will build our project, and the Gradle build tool helps us in doing that. After that, we shall try and test the debug version of our APK. After the testing process is accomplished, we\u2019ll generate a signed version of APK.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400\">A signed version means adding details like manufacturer name, location, alias password, certificate validity, etc. After generating the signed version of APK, we can directly upload it on the google play store.\u00a0<\/span><\/p>\n<p><strong>Q15. Explain the task of an interpolator in Android.<\/strong><\/p>\n<p><span style=\"font-weight: 400\">Ans. An interpolator is a tool that helps in adding features and transitions between the start and end of an activity or task. We can use an interpolator to alter or insert between the initial and final state.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400\">There are nine types of interpolators in Android.<\/span><\/p>\n<h4><b>1. Linear Interpolator \u2013\u00a0<\/b><\/h4>\n<p><span style=\"font-weight: 400\">It depicts that the rate of change of the animation is constant.\u00a0<\/span><\/p>\n<h4><b>2. Accelerate Interpolator \u2013\u00a0<\/b><\/h4>\n<p><span style=\"font-weight: 400\">It helps to accelerate the animation. Starting with slow, then gradually speeds up the animation.\u00a0<\/span><\/p>\n<h4><b>3. Decelerate Interpolator \u2013\u00a0<\/b><\/h4>\n<p><span style=\"font-weight: 400\">It helps to decrease the motion of an animation gradually.\u00a0<\/span><\/p>\n<h4><b>4. Anticipate Interpolator \u2013\u00a0<\/b><\/h4>\n<p><span style=\"font-weight: 400\">It helps to make the animation work in reverse.\u00a0<\/span><\/p>\n<h4><b>5. Overshoot Interpolator \u2013\u00a0<\/b><\/h4>\n<p><span style=\"font-weight: 400\">It helps to make the animation move in a forward direction.\u00a0<\/span><\/p>\n<h4><b>6. Bounce Interpolator \u2013\u00a0<\/b><\/h4>\n<p><span style=\"font-weight: 400\">It helps to make the animation show bouncing movements.\u00a0<\/span><\/p>\n<h4><b>7. Cycle Interpolator \u2013\u00a0<\/b><\/h4>\n<p><span style=\"font-weight: 400\">It helps to repeat the animation for a certain number or an infinite number of times.\u00a0<\/span><\/p>\n<h4><b>8. Anticipate Overshoot Interpolator \u2013\u00a0<\/b><\/h4>\n<p><span style=\"font-weight: 400\">It drives the animation to first go in reverse then go in a forward direction.\u00a0<\/span><\/p>\n<h4><b>9. Accelerate Decelerate Interpolator \u2013\u00a0<\/b><\/h4>\n<p><span style=\"font-weight: 400\">It helps to make the animation movement in the following order, first slow, then fast in the middle, then again slow.\u00a0<\/span><\/p>\n<p><strong>Q16. In Android, if we want to copy one text from one place and then paste it to another place, then how can we do it?<\/strong><\/p>\n<p><span style=\"font-weight: 400\">Ans. In Android, we have clipboards using which we can copy textual data and keep it in the clipboard. Later, when we need it, then we can get it back from the clipboard. Usually, the clipboard is located in the RAM of your device. In order to access the data stored in a clipboard, we need to use the Clipboard Manager.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400\">In order to copy data and store it in the clipboard, we can use the <\/span><b>newPlainText() <\/b><span style=\"font-weight: 400\">function as shown below.\u00a0<\/span><\/p>\n<p><b><i>Code:<\/i><\/b><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">val yourClipData = ClipData.newPlainText(\"copiedText\", enteredText)\n\nyourClipboardManager.setPrimaryClip(yourClipData)<\/pre>\n<p><span style=\"font-weight: 400\">To paste the data from the clipboard, we need to use the <\/span><b>getPrimaryClip()<\/b><span style=\"font-weight: 400\"> function as shown below.\u00a0<\/span><\/p>\n<p><b><i>Code:<\/i><\/b><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">val clipboardManager = getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager\n\npastedTextView.text = clipboardManager.primaryClip?.getItemAt(0)?.text<\/pre>\n<p><strong>Q17. What will you do if you are given a task to get data from a provided API and place it in the form of a list?<\/strong><\/p>\n<p><span style=\"font-weight: 400\">Ans. We will use the concept of Android Adapter and ListView to implement the given task. Firstly, we will create a ListView in the layout XML file. Using the ListView id, we will connect to our created ArrayAdapter. The ArrayAdapter acts here as a medium to bring the API\u2019s data and then put it in the ListView. Further, if we wish to style each item of the list, we can create a design for each item and then place the same while creating the ArrayAdapter instance.\u00a0<\/span><\/p>\n<p><strong>Q18. Is there any possible way to get the details of the subscribe and the network modules present in the user\u2019s device?<\/strong><\/p>\n<p><span style=\"font-weight: 400\">Ans. Yes, it is possible with the help of the Android Telephony package, but it requires the user\u2019s permission before getting any sort of details. Android Telephony is a package provided by Android to operate and get information about the network interfaces and device details.\u00a0 Android Telephony has several interfaces and classes that are used to provide various functionalities.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400\">To get the details, we need to use the Android Telephony manager, which is present in the package called <\/span><b>android.telephony.\u00a0<\/b><\/p>\n<p><span style=\"font-weight: 400\">You can use the below code to create an instance of the Android Telephony Manager class, and then by using the class, we can get all the desired results.\u00a0<\/span><\/p>\n<p><b><i>Code:<\/i><\/b><span style=\"font-weight: 400\"><br \/>\n<\/span><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">val yourTelephonyManager = getSystemService(Context.TELEPHONY_SERVICE) as\n\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0TelephonyManager<\/pre>\n<p><strong>Q19. We know that Android has an SQLite database where we can store data in a relational form. What if we want to keep them in the form of key-value? Please explain how you can do that.<\/strong><\/p>\n<p><span style=\"font-weight: 400\">Ans. In Android, we have a storage type known as Shared Preferences. Using Shared Preferences, we can store data in the form of key-value pairs. The only demerit of Shared Preferences is that it can\u2019t work with a large amount of data. Usually, Shared Preferences only accept data of primitive types, as shown below.<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Boolean Types<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Integer Types<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Float Types<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">String Types<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Long Types<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400\">To create our own Shared Preferences Object, we can use the following code:<\/span><\/p>\n<p><b><i>Code:<\/i><\/b><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">var yourSharedPrefObj: SharedPreferences? = null\n\nyourSharedPrefObj = getSharedPreferences(\"File_Name\", MODE_PRIVATE)<\/pre>\n<p><strong>Q20. What is the tool that helps us in building our application? Briefly explain the build process.\u00a0<\/strong><\/p>\n<p><span style=\"font-weight: 400\">Ans. In Android, we have a build tool known as Gradle that helps us in building our application. The Gradle consists of build scripts that automate the build process by converting source code into an executable application. To understand it more clearly, read the following:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">First and foremost, the Kotlin Source code, resources, and AIDL(Android Interface Definition Language) files are bound together and compiled.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Simultaneously the Gradle file binds the several dependencies (Library Modules, AAR Libraries, JAR libraries) and makes it ready for compilation.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">After the files are successfully compiled, a .dex file is generated, sent to the APK Packager.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">The APK Packager finally combines everything and generates an executable APK file.<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400\">The above whole process is guided and assisted by the Gradle build tool and finally, we have our APK using which we can install our application.\u00a0<\/span><\/p>\n<p><strong>Q21. Company \u2018X\u2019 wants to build a music application with features of pause\/play and also to change the volume. Can you briefly explain how you can do it on Android?<\/strong><\/p>\n<p><span style=\"font-weight: 400\">Ans. In Android, we have a class known as <\/span><b>MediaPlayer,<\/b><span style=\"font-weight: 400\"> using which we can implement the music player application. Using the functions like <\/span><b>pause() <\/b><span style=\"font-weight: 400\">and <\/span><b>stop() <\/b><span style=\"font-weight: 400\">that are present in the MediaPlayer class. These functions assist us in playing and pausing the music. So, starting with, we need first to create the MediaPlayer class object and take the permissions to access the storage of the user\u2019s device. After that, we can proceed with adding the desired functionalities.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400\">For creating the object of the MediaPlayer class, we can use the following code:<\/span><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">lateinit var yourPlayerObj: MediaPlayer\n\nyourPlayerObj = MediaPlayer.create(this, R.raw.your_music_file)\n\nyourPlayerObj.isLooping = true<\/pre>\n<p><strong>Q22. Why can\u2019t we use a CheckBox instead of a RadioButton to select the gender option on some application \u2018Y\u2019?<\/strong><\/p>\n<p><span style=\"font-weight: 400\">Ans. We know that gender can\u2019t be more than one for any user. Gender options are usually:<\/span><\/p>\n<p><span style=\"font-weight: 400\">Male, <\/span><span style=\"font-weight: 400\">Female, and <\/span><span style=\"font-weight: 400\">Prefer Not to Say.<\/span><\/p>\n<p><span style=\"font-weight: 400\">So in such a scenario, the user can select either of the above options but not multiple ones. As we know, RadioButton only allows you to choose one of the three given options, whereas, in a checkbox, you can select one, two, or even all options presented to you. So, in such cases, we prefer RadioButton instead of CheckBox. However, programmatically we can check the selections made by CheckBox and alert the user that he is not allowed to select all options.\u00a0<\/span><\/p>\n<p><strong>Q23. Describe the various components present in an Android Widget and also state the use of each of them.<\/strong><\/p>\n<p><span style=\"font-weight: 400\">Ans. Android Widget is made of three components that are classified as follows:<\/span><\/p>\n<p><b>1. AppWidgetProviderInfo:<\/b><span style=\"font-weight: 400\"> AppWidgetProviderInfo is an instance of the widget containing the widget details like its layout, updates, etc.\u00a0<\/span><\/p>\n<p><b>2. AppWidgetProvider: <\/b><span style=\"font-weight: 400\">AppWidgetProvider provides the facility of paginating over a collection of an undefined number of objects.\u00a0<\/span><\/p>\n<p><b>3. ViewLayout:<\/b><span style=\"font-weight: 400\"> ViewLayout is used to define the layout of your widgets.\u00a0<\/span><\/p>\n<p><strong>Q24. Which virtual machine does Android use to execute android applications? Is there any alternative to this virtual machine?<\/strong><\/p>\n<p><span style=\"font-weight: 400\">Ans. Android uses the Dalvik Virtual Machine to execute the android applications. Android Dalvik Virtual Machine provides a platform where the android applications can execute and perform the desired task. Dalvik Virtual Machine also provides better memory management and performance. It allows faster execution of the applications without much affecting the battery life.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400\">An alternative to Dalvik Virtual Machine is Android Runtime, known as an upgraded version of the Dalvik Virtual Machine.\u00a0<\/span><\/p>\n<p><strong>Q25. Does android allow your application to do anything on the user&#8217;s device?\u00a0<\/strong><\/p>\n<p><span style=\"font-weight: 400\">Ans. No, our application can\u2019t do anything on the user\u2019s device. Even things like accessing contact or opening a gallery require permission from the user. Without the consent of the user, you can\u2019t do most things on the user&#8217;s device. However, some of the permissions, like the internet, are by default enabled for all applications. Your application can use the internet as and when required. <\/span><\/p>\n<p><span style=\"font-weight: 400\">There are certain things for which even if the user gives permission still the app can\u2019t make any changes. For example, your application can\u2019t change the IMEI of your device. However, some unethical users try to change their phone IMEIs by rooting their device, which is illegal, and discard your device\u2019s warranty.\u00a0<\/span><\/p>\n<p><strong>Q26. Explain the type of view which is used in building gallery-like applications.<\/strong><\/p>\n<p><span style=\"font-weight: 400\">Ans. For gallery-like applications, we usually use GridView. GridView gives us a layout where you have rows and columns containing elements in it. You can decide the number of columns or the number of rows you wish to have in your view. You can scroll through a GridView whenever required. If you want to load GridView with some data items, then you can use some Android Adapter. To create a GridView, you can use the following code:<\/span><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">&lt;GridView\n\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0android:background=\"@color\/black\"\n\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0android:id=\"@+id\/your_grid_view\"\n\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0android:layout_width=\"match_parent\"\n\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0android:layout_height=\"match_parent\"\n\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0android:numColumns=\"3\"\n\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0android:horizontalSpacing=\"12dp\"\n\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0android:verticalSpacing=\"15dp\"\n\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0android:layout_margin=\"10dp\"\/&gt;<\/pre>\n<p><strong>Q27. Can we use Android Studio to develop games in Android? Is there any alternative tool that we can use for developing games for the Android platform?<\/strong><\/p>\n<p><span style=\"font-weight: 400\">Ans. Yes, we can use Android Studio to develop games in Android. Android Studio allows you to develop extreme quality 2D games restricted to Android. With the Android Game Development Kit(AGDK), the task has become more accessible and straightforward. The AGDK allows text input, frame pacing, high-performance audio, and game controllers. The AGDK even provides GPU Profiling and debugging.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400\">Unity and Unreal Engine are some of the widely used alternatives to develop games for Android platforms.\u00a0<\/span><\/p>\n<p><strong>Q28. What all operations does the SQLite database support in Android?<\/strong><\/p>\n<p><span style=\"font-weight: 400\">Ans. SQLite supports CRUD operations and allows users to execute multiple simple and complex queries. Using the SQLite database, you can create a database and insert data into it. You can read the stored data and even alter it if needed. Suppose you feel some data is absurd or not required, then you can even delete it from the SQLite database. Moreover, you can use the SQLite database to store user\u2019s data of your application locally.\u00a0<\/span><\/p>\n<p><strong>Q29. For using Push Notifications, is it necessary to use Firebase only? Are there any alternatives that we can use for sending Push Notifications?<\/strong><\/p>\n<p><span style=\"font-weight: 400\">Ans. No, you don\u2019t need to use Firebase only. You can even use other tools to send push notifications to your user. There are several tools in the market that any developer can use to enable push notifications in their applications. <\/span><\/p>\n<p><span style=\"font-weight: 400\">Some of the most popular tools are as follows:<\/span><\/p>\n<ol>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">AWS Simple Notification Service (SNS)\u00a0<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Pushwoosh<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">One Signal<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Airship<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Kumulos<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Leanplum<\/span><\/li>\n<\/ol>\n<p><span style=\"font-weight: 400\">So, above are some of the tools we can use to send push notifications on Android devices. Hence, firebase is not a compulsory thing for push notifications.\u00a0<\/span><\/p>\n<p><strong>Q30. How can you manage form-data or Multipart in Android?<\/strong><\/p>\n<p><span style=\"font-weight: 400\">Ans. To handle form-data or Multipart in Android, we can use <\/span><b>OkHttp<\/b><span style=\"font-weight: 400\">, <\/span><b>Volley, <\/b><span style=\"font-weight: 400\">or <\/span><b>Retrofit<\/b><span style=\"font-weight: 400\"> libraries. Multipart or form-data is a type of media type that helps us send large files over a network. Suppose you are given an API where you need to submit an image file. If the image is small, we could convert it to base64 and send it, but we need to use form data for large images.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400\">We need to use external libraries like Volley, OkHttp, or Retrofit to work with these media types. After adding the dependency of one of these libraries, we then use the functions present in these libraries to make the appropriate request.\u00a0<\/span><\/p>\n<h3>Summary<\/h3>\n<p><span style=\"font-weight: 400\">You came across several android advanced-level interview questions and answers through this article that indeed would have made you think a bit before answering. As we know, it\u2019s not always the case that the interviewer would ask a direct question to you. Sometimes questions may contain a twist, as discussed above, and you need to tackle them smartly. I wish you a stroke of good luck and hope you enjoyed going through the above questions.\u00a0<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Today we are going to dive a bit deep into Android. I know you guys have already gone through the intermediate level of Android Interview Questions. Now it\u2019s time for us to take a&#46;&#46;&#46;<\/p>\n","protected":false},"author":1,"featured_media":85540,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2791],"tags":[4510,4511],"class_list":["post-85533","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-android","tag-android-interview-questions","tag-android-interview-questions-and-answers"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Android Interview Questions and Answers - TechVidvan<\/title>\n<meta name=\"description\" content=\"Check these advanced level android interview questions and answers. These are the questions frequently asked in interviews.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/techvidvan.com\/tutorials\/android-interview-questions-and-answers\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Android Interview Questions and Answers - TechVidvan\" \/>\n<meta property=\"og:description\" content=\"Check these advanced level android interview questions and answers. These are the questions frequently asked in interviews.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/techvidvan.com\/tutorials\/android-interview-questions-and-answers\/\" \/>\n<meta property=\"og:site_name\" content=\"TechVidvan\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/TechVidvan\/\" \/>\n<meta property=\"article:published_time\" content=\"2021-11-09T03:30:50+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/2021\/11\/android-interview-questions-and-answers.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"628\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/webp\" \/>\n<meta name=\"author\" content=\"TechVidvan Team\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@vidvantech\" \/>\n<meta name=\"twitter:site\" content=\"@vidvantech\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"TechVidvan Team\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"17 minutes\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Android Interview Questions and Answers - TechVidvan","description":"Check these advanced level android interview questions and answers. These are the questions frequently asked in interviews.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/techvidvan.com\/tutorials\/android-interview-questions-and-answers\/","og_locale":"en_US","og_type":"article","og_title":"Android Interview Questions and Answers - TechVidvan","og_description":"Check these advanced level android interview questions and answers. These are the questions frequently asked in interviews.","og_url":"https:\/\/techvidvan.com\/tutorials\/android-interview-questions-and-answers\/","og_site_name":"TechVidvan","article_publisher":"https:\/\/www.facebook.com\/TechVidvan\/","article_published_time":"2021-11-09T03:30:50+00:00","og_image":[{"width":1200,"height":628,"url":"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/2021\/11\/android-interview-questions-and-answers.webp","type":"image\/webp"}],"author":"TechVidvan Team","twitter_card":"summary_large_image","twitter_creator":"@vidvantech","twitter_site":"@vidvantech","twitter_misc":{"Written by":"TechVidvan Team","Est. reading time":"17 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/techvidvan.com\/tutorials\/android-interview-questions-and-answers\/#article","isPartOf":{"@id":"https:\/\/techvidvan.com\/tutorials\/android-interview-questions-and-answers\/"},"author":{"name":"TechVidvan Team","@id":"https:\/\/techvidvan.com\/tutorials\/#\/schema\/person\/e9c26e74dd3d87421f7ada9433b8cd22"},"headline":"Android Interview Questions and Answers","datePublished":"2021-11-09T03:30:50+00:00","mainEntityOfPage":{"@id":"https:\/\/techvidvan.com\/tutorials\/android-interview-questions-and-answers\/"},"wordCount":3582,"commentCount":0,"publisher":{"@id":"https:\/\/techvidvan.com\/tutorials\/#organization"},"image":{"@id":"https:\/\/techvidvan.com\/tutorials\/android-interview-questions-and-answers\/#primaryimage"},"thumbnailUrl":"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/2021\/11\/android-interview-questions-and-answers.webp","keywords":["Android Interview Questions","Android Interview Questions and Answers"],"articleSection":["Android Tutorials"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/techvidvan.com\/tutorials\/android-interview-questions-and-answers\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/techvidvan.com\/tutorials\/android-interview-questions-and-answers\/","url":"https:\/\/techvidvan.com\/tutorials\/android-interview-questions-and-answers\/","name":"Android Interview Questions and Answers - TechVidvan","isPartOf":{"@id":"https:\/\/techvidvan.com\/tutorials\/#website"},"primaryImageOfPage":{"@id":"https:\/\/techvidvan.com\/tutorials\/android-interview-questions-and-answers\/#primaryimage"},"image":{"@id":"https:\/\/techvidvan.com\/tutorials\/android-interview-questions-and-answers\/#primaryimage"},"thumbnailUrl":"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/2021\/11\/android-interview-questions-and-answers.webp","datePublished":"2021-11-09T03:30:50+00:00","description":"Check these advanced level android interview questions and answers. These are the questions frequently asked in interviews.","breadcrumb":{"@id":"https:\/\/techvidvan.com\/tutorials\/android-interview-questions-and-answers\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/techvidvan.com\/tutorials\/android-interview-questions-and-answers\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/techvidvan.com\/tutorials\/android-interview-questions-and-answers\/#primaryimage","url":"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/2021\/11\/android-interview-questions-and-answers.webp","contentUrl":"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/2021\/11\/android-interview-questions-and-answers.webp","width":1200,"height":628,"caption":"android interview questions and answers"},{"@type":"BreadcrumbList","@id":"https:\/\/techvidvan.com\/tutorials\/android-interview-questions-and-answers\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/techvidvan.com\/tutorials\/"},{"@type":"ListItem","position":2,"name":"Android Interview Questions and Answers"}]},{"@type":"WebSite","@id":"https:\/\/techvidvan.com\/tutorials\/#website","url":"https:\/\/techvidvan.com\/tutorials\/","name":"TechVidvan Blogs","description":"","publisher":{"@id":"https:\/\/techvidvan.com\/tutorials\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/techvidvan.com\/tutorials\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/techvidvan.com\/tutorials\/#organization","name":"TechVidvan","url":"https:\/\/techvidvan.com\/tutorials\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/techvidvan.com\/tutorials\/#\/schema\/logo\/image\/","url":"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/2024\/03\/techvidvan-logo-200x50-1.webp","contentUrl":"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/2024\/03\/techvidvan-logo-200x50-1.webp","width":200,"height":50,"caption":"TechVidvan"},"image":{"@id":"https:\/\/techvidvan.com\/tutorials\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/TechVidvan\/","https:\/\/x.com\/vidvantech"]},{"@type":"Person","@id":"https:\/\/techvidvan.com\/tutorials\/#\/schema\/person\/e9c26e74dd3d87421f7ada9433b8cd22","name":"TechVidvan Team","description":"The TechVidvan Team delivers practical, beginner-friendly tutorials on programming, Java, Python, C++, DSA, AI, ML, data Science, Android, Flutter, MERN, Web Development, and technology. Our experts are here to help you upskill and excel in today\u2019s tech industry."}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/posts\/85533","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/comments?post=85533"}],"version-history":[{"count":0,"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/posts\/85533\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/media\/85540"}],"wp:attachment":[{"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/media?parent=85533"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/categories?post=85533"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/tags?post=85533"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}