{'fraction_non_alphanumeric': 0.023467333194473375, 'fraction_numerical': 0.004096368812053044, 'mean_word_length': 4.706814580031696, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 1, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Development of Android based Crop Advisory Application for Seed Spices

India has a unique position as a major supplier of seed spices in the international trade. The country is blessed with varied agro-climatic conditions i.e. tropics, subtropics and nearly temperate zone. They are export oriented commodities and are a source of foreign exchange earnings to the country. Some major seed spices are Cumin, Coriander, Fennel and Fenugreek and minor seed spices are Ajwain, Nigella, Aniseed, Dill, Caraway, and Celery. The climatic conditions prevailing in Rajasthan, Gujarat and some other adjoining states in the arid and semi-arid regions are very much conducive for growth and development of wide range of seed spices. Still, there is a International Journal of Current Microbiology and Applied Sciences ISSN: 2319-7706 Volume 9 Number 3 (2020) Journal homepage: http://www.ijcmas.com


Introduction
India has a unique position as a major supplier of seed spices in the international trade. The country is blessed with varied agro-climatic conditions i.e. tropics, subtropics and nearly temperate zone. They are export oriented commodities and are a source of foreign exchange earnings to the tremendous scope for increased production of seed spices by introducing them in new places. The higher production can be achieved easily through higher yields by better application of cultural practices, biotic stress management and putting more under these crops.
A mobile based scientific knowledge base can be created that provides information about which crop to grow depending on available resources and other conditions. This guides the farmers to go for a crop asked by the industry. ICT-based entrepreneurship portals can be made available that can suggest area specific crop based on climate, soil type, and market demand. It becomes important for those who are attached to agriculture, its economics, and computer applications. The first important step is to collect the information regarding cultural practices of crops, growing season, duration, rainfall, temperature, availability of irrigation water. These informations may be stored in system's knowledge base. A mechanism can be easily devised to draw out inferences on the basis of the stored information.
A web based application named ‗ePlatform for Seed Spices' provides guidance and information on various commercial and economic issues related to seed spice production, trade, and marketing. It projects the seed spice that brings a better return to a farmer and henceforth will help in identifying the right crop to be produced by him. It advises farmers on crop advisory, crop economics, statistical information, growing areas, postharvest management, products, value additions, market intelligence, farming machinery, current trends, etc. (Islam et al., 2012).
In recent days the most common and efficient way of digital interaction is mobile communication. The evolution of the tablets and smartphones has extended the use of mobile phones providing many more apps running on this tiny device. The applications, simply called ‗apps', installed in the tablets and smartphones, administer a more economical way to access the internet and retrieve information related to any field. These days, mobile apps are becoming popular in agriculture sector too with the potential for further advancement in acquiring farm inputs, farm management, and marketing.
A lot of works has been done to develop mobile apps in the area of rural development and agricultural sector for the further improvement of the rural livelihoods and farm activities. Singhal et al., (2011)  As we have seen, there are a number of mobile apps developed for various agricultural issues; still, there is a need for an application that can guide a farmer as a crop advisor. A farmer is always in the dilemma about which crop to grow. In this article, we have developed a mobile application named SSADV i.e. seed spices crop advisory, which will be an advisory for the farmers about crop selection. With this application, the farmer will be able to select the crop that fetches him the maximum return.

Methodology for Development of Mobile App
Programming environment used to develop the android mobile application are eXtensible Markup Language (XML) and Java. XML is used in designing each activity, i.e., each page of the app. Each activity of android application has a simple workflow as shown in figure 1.
Various XML tags and elements are used for this purpose. Java is a platform independent object oriented programming language which is used to write programs for every activity and also for database handling. Each and every activity in the android application is a java class. Some of the Java classes which are directly imported during the development of app are java.util. ArrayList, java.util. List and java.io. Byte Array Output Stream. The database is created using SQLite which is already embedded in Android Studio. SQLite is an in-process library which implements a self-contained, zero-configuration, serverless, light weight transactional Structured Query Language (SQL) database engine. Some of the classes related to SQLite which are imported in the package are android.database.sqlite.SQLiteDatabase and android.database.sqlite.SQLiteOpenHelper.Fi gure 2 shows the relationship model made using MS Access between the different tables of database created for the application.
The created database is rechecked by extracting it using Android Device Monitor which also comes with Android. Before opening Android Device Monitor make sure Android Emulator is running, if it is not running then start it. Now in Android Device Monitor select the online emulator, i.e., running emulator. If the emulator is showing offline then close it and restart the emulator. In selected emulator, open File Explorer tab in Dalvik Debug Monitor Service (DDMS) window. Now in file explorer expand data folder, again in data file expand data folder and choose the project from which created database is to be extracted. Expand the project folder and inside the project folder, expand database folder. This database folder contains the database file with the name specified in the package. Select the file and extract it by clicking -Pull a file from device‖ on the right top of file explorer tab and while saving file keep its extension as -.db‖.
To view database created using SQLite and extracted using Android Device Monitor, Mozilla Firefox is used. One add-on is added for this purpose in Firefox named SQLite Manager (Satvat et al., 2014). After adding add-on and restarting Firefox, SQLite Manager is opened from Tools menu in menu bar. In SQLite Manager, select the Database tab and Connect Database. This will pop-up a new window, select the database extracted from Android Device Monitor.
The app contains 19 Java classes among which 9 are activity class, 1 database handler class and remaining are other Java classes to support different tables of the database.
-Empty Activity‖ type of activity has been used to create all the activities. All activity classes extend the properties of class Activity. Different kinds of widgets have been used in different activities like TextView, ListView, ImageView, Spinner, Checkbox, and Button. Holo Light DarkActionBar theme has been used for making its look more impressive.
They contain a toolbar which contains icon and name of the mobile app itself and one overflow menu, which contains 4 items namely Home, Crops, About Us and Contact Us. In the -res‖ (resource) folder a new XML file has been created to declare all the items of overflow menu and the overflow menu itself. The Home item is nothing but the Main_Activity. Each and every activity has an XML file in the subfolder Layout of the folder res. These XML files design the layout of the activity then show the preview of the activity. 3 types of the layout have been used namely Linear, Relative and Constrained. The main_ activity also contains the data to be added in different tables of the database in their required schema format. The database handler class is most crucial for this app. This class has code for creating tables and subsequently database. This class also contains the code to insert data in the created tables respectively based on their attribute. This class also contains the entire query done to get the required output.
The database is created using properties of SQLite which is already embedded in the Android Studio. Tables are joined using an inner join. The distinct property of the SQLite query is not as such supported in the Android studio. To use this, an attribute row_id is used which is created by default if the primary key is not of integer type. We define our attribute from which we want to take distinct values as row_id then we take our required attribute. The output of these queries is fed either in Spinner or List View. To run the query Cursor is used. To show values in spinner Array Adapter is also used at some places where the value which we want the user to select is in a range.
To show the spinners and checkboxes based on previous selection setVisibility method have been used. First, we set the visibility to GONE for all the widgets and we set the attribute to VISIBLE based on the selection. Value is passed to another class using two approaches. First one is by creating a method inside the class and bringing the value of the variable inside the class and then calling this method from another class by creating an object of that class. This method is used to transfer values from one class to another nonactivity class. The second approach which is used is for passing the value from one activity class to another activity class using the putExtra method of intent. If at any activity the value is not selected and next button is clicked, it will show a toast text which will ask the user to select the value. Thus without selecting a value, one can't proceed further.

Results and Discussion
The SSADV app i.e. Seed Spices Crop Advisory app has been developed as discussed in methodology. This app will let farmers choose best suitable crop based on climatic conditions viz., rainfall and temperature, growing condition viz., duration of crop, season, soil type, availability of irrigation and resources, i.e., budget. The mobile application also gives the details of seed spices crops.
The app has various features such as no signup or login is required so that anyone can use it, it provides information about all seed spices crops in one go, No internet facility is required, provides crop advisory of seed spices for farmers based on climatic conditions, growing conditions, resource availability, and locality, Easy to use interface and User cannot go to next activity without providing a choice for all selected parameters and if user tries to go to next screen without selection, the activity will toast a message without selection. The app also contains overflow menu in its toolbar having Home, Contact Us and other options to use easily. Figure 3shows the home screen of app SSADV, it contains little information about seed spices followed by a selection of state and a button to go to next activity. Selection of state is provided with a spinner.
After selecting state we will get screen to select generalised criteria which contains 3 checkboxes namely Climatic Conditions, Growing Conditions, and Resources. Any combination of checkboxes can be selected. Next activity is totally based on the selection of these checkboxes.
The next screen is about selection of specific criteria. This activity is totally based on the selection of generalized criteria. This activity displays checkboxes only for selected criteria in the previous activity. If only Climatic Condition is selected, then it will show only two criteria namely Rainfall and Temperature. If only Growing Condition is selected then it will show 4 criteria namely Duration, Season, Soil and Irrigation and if only Resources is selected then it will show the Budget only.
Next screen is for selection of values of selected criteria. This activity displays spinners of selected criteria which contains the values of the criteria. Spinners are visible only for selected criteria. For example user selects only rainfall as a criteria. By default the value of spinner is -Select Rainfall‖. If user does not select any value and touch the -Next‖ button, the activity will toast a string asking to select the value of rainfall.
Similarly, if the user selects multiple criteria and if the user does not select any value and touch the -Next‖ button, the activity will toast a message to select the value of first criterion. If he selects the value of first criterion and does not select the value of second criterion, the app will toast a message to select the value of second criterion i.e. in any situation the user will not be able to get the crop advisory if he does not value of all the criteria selected in previous activity. Next screen is the result page i.e. Crop Advisory. This activity displays name of crops and little information about given crop name based on a query made on the basis of values provided in spinners of previous activity. if farmer wants to know that if annual rainfall is low, average temperature is in between 10-30 0 C, for duration of 80-110 days in Rabi season, in black soil having availability of irrigation water and budget of Rs. 35000, then he should grow coriander in that situation for getting maximum benefit. In conclusion, the mobile app named SSADV, i.e., seed spices crop advisory has been developed on Android Studio 2.3.x and the minimum requirement for the app is a device running on API 15: Android 4.0.3 (IceCreamSandwich). It has been assumed that the user has little knowledge of English and climatic and growing conditions. The app is able to suggest specific seed spice crop or crops to farmers, extension workers and other users based on their requirement with ease and that too without internet connectivity. In future, more information can be easily added in the mobile app like cultivation practices, crop economics, and value addition etc. Subsequently, other crops can also be added in the app itself very easily. Further, in this field apps can also be developed for various agronomic and horticultural crops using the same design and format of this mobile app.