Professional Documents
Culture Documents
CHAPTER 1 INTRODUCTION
1.1 INTRODUCTION TO THE PROJECT Mobile learning (m-learning) is considered more innovative and student-centered than typical e-learning or classic distance education methods, representing an effective pedagogical method as any other conventional learning method. We consider that mlearning can be defined as the exploitation of ubiquitous handheld technologies, together with wireless and mobile phone networks, to facilitate, support, enhance and extend the reach of teaching and learning. Mobile devices allow a higher portability and accessibility, but the real issue with the adoption of this methodology is still finding an efficient and suitable adaptation of the courses to means with clear restriction factors. The main goal of Mobile Portable Lab is to improve students interest and motivation and, additionally, to make resources available in any place, at almost any time. This Mobile Portable Lab should be used as a complement to the usual classroom lessons. 1.2 INTRODUCTION TO ANDROID Android is a mobile operating system that is based on a modified version of Linux. It was originally developed by a startup of the same name, Android, Inc. In 2005, as part of its strategy to enter the mobile space, Google purchased Android and took over its development work. Google wanted Android to be open and free, hence, most of the Android code was released under the open-source Apache License, which means that anyone who wants to use Android can do so by downloading the full Android source code. Moreover, vendors can add their own proprietary extensions to Android and customize Android to differentiate their products from others. When the iPhone was launched, many of these manufacturers had to scramble to find new ways of revitalizing their products. These manufacturers see
1.3 INTRODUCTION TO JAVA Java is really the only language in widespread use that can easily be used to build systems that meet the requirements just listed for an enterprise system. Java is a standardsbased language that is platform-independent. It has support for accessibility and internationalization and localization, including a Unicode basic character type, built into the language. Finally, Java is an object-oriented language with database access and distributed computing at its core. 1.4 INTRODUCTION TO COMM API The Java Communications API consists of the javax.comm package. This package does not come with the core Java development kits but instead is included in the set of optional Java Extensions packages that provide various useful services but are not available for all platforms.
Software Interfaces Application: Java, Android. Network: Application dpends on internet. Operating System: Android OS 2.2or higher version is needed.
2.1.5. Other Nonfunctional Requirements Performance Requirements Software must be able to run on Windows XP and any latest Microsoft OS. Android cell phone should be of version 2.2 or any higher versions.
Software Quality Attributes Android application is compatible with any upcoming versions of android SDK. Product is reliable to run on all compatible systems without any errors.
3.4 PROPOSED SYSTEM The main goal of Mobile Portable Lab is to improve students interest and motivation and, additionally, to make resources available in any place, at almost any time. This mobile remote laboratory should be used as a complement to the usual classroom lessons. Essentially, the developed system integrates a server with a data acquisition board and a central database to be accessed by the mobile applications, initially programmed for Google Android platform. The presented approach includes a collaborative learning module that it is essential for the growth of students. With the module, they can annotate contents to be seen by teachers and colleagues, giving additional information about their understandings or helping others in the learning process. The data acquisition is done by current and voltage sensors that send signals to a data acquisition board, which is connected to a server that runs signals processing and data management modules. This database is updated every time new values are read, independently of the requests of the
Mobile Portable Lab is designed and tailored to the needs of its users, making it very accessible .It should be the students to, directly or indirectly, choose the learning method that best fits according to their standards, their way of life and living in society. While in the classroom, the student is required to meet schedules and is restricted to the physical space often limiting the presence of some students. In Mobile Portable Lab the study material can be accessed anytime, anywhere, if available in a functional way. While a student in the classroom is often a passive participant, in distance education the focus is on making the student more interested and proactive. Many times, students, especially those with employee-student status, have no time to take the necessary trips to the university. On the other hand, in distance education such trips are not necessary, which makes it a method with lower costs. Finally, Mobile Portable Lab is a free tool.
10
11
12
13
14
15
16
Fig 5.1: System architecture The design of the android application is shown below. It shows how the students and lecturers interact with the application. The students can login, view charts, can annotate comments and questions. Whereas lecturer can login, view charts, can annotate comments, questions, as well as answers. The use case diagram of this project is given below.
login
Lecturer
Student
17
18
19
20
android.widget.Button is used for adding widgets like menu items,buttons,panel items etc.The package android.view.View is used to set the content view of the screen. package com.portablelab; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.Button; public class Welcome extends Activity { Button bt_proceed; Intent it; static String user="",user_type=""; static int count=0; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.welcome); it=new Intent(this,IPAddress.class); bt_proceed=(Button) findViewById(R.id.proceed); bt_proceed.setOnClickListener(new View.OnClickListener() { public void onClick(View v) {
21
import android.database.sqlite.SQLiteDatabase; public class LocalDBQueries { static SQLiteDatabase myDB= null; ArrayList arr_lst; ArrayList<String> arr_tmp,arr_volt,arr_time,arr_tvt; static String allData=""; static Calendar cal; static SimpleDateFormat sdf; String[] list; String data_retrieved=""; String value; String TableName = "portlab_annotations",TableNameRead="TempVoltReadValues";
22
LocalDBQueries(SQLiteDatabase myDB) { this.myDB=myDB; } The piece of code given below is used to create tables in Androids native database i.e SQLite.Here the tables created are used for storing temperature and voltage values. public void createTables() { try { myDB.execSQL("CREATE TABLE IF NOT EXISTS "+ TableName + " (Name VARCHAR ,Anno_Type VARCHAR ,Contents VARCHAR,Date_Ins VARCHAR, Time_Ins VARCHAR );"); System.out.println(TableName+" created successfully"); myDB.execSQL("CREATE TABLE IF NOT EXISTS "+ TableNameRead + " (temparature VARCHAR, voltage VARCHAR, date VARCHAR,time VARCHAR );"); System.out.println(TableNameRead+" created successfully"); System.out.println("Contents Deteted Successfully"); } catch(Exception e) {
23
public void DeleteContents(String tempTableName) { this.tempTableName=tempTableName; try { String "+tempTableName+";"; myDB.execSQL(DELETE_QUERY_REMINDER); } catch(Exception e) { System.out.println("Error while Deleting the Contents"+e); } } Viewing the Charts in Android The chartengine is a jar file that is present in Google android Platform that is used to create various types of charts like bar chart,trignometric chart,bubble chart,harmonic chart etc. These are the packages that has to be imported in order to implement our application. DELETE_QUERY_REMINDER = "Delete from
24
25
26
27
28
29
CHAPTER 6
30
31
32
Install Application
Select the mode of operation If Mode is online If Mode is offline Read stores hardware readings, annotations, comments from mobile DB and store in Mobile
GUI will be displayed where the user can select view Graphs and view Annotations
View Ann, COM Check the select option View the Ann Comments
View Graph
Add new Comments update in the same at the server end only if user mode is online
33
Read the hardware values and update in Mysql db at the server end
Registration of Lecturer and Student, With username and password Waiting for the Mobiles Request
Yes Send hardware reading and annotations and comments to mobile Waiting for the Mobiles Request
Receive newly added comments or annotations at the mobile end update the same in Mysql DB
34
CHAPTER 8
DATAFLOW DIAGRAM
2. Select the Mode of Execution 3. If Mode is offline a) Retrieve Mobile DB(values Previously read) values and Display the Graph and annotations. 4. If the Mode is Online Send IpAddress ,Username and password to the server for validation Retrieve all the hardware readings annotations and comments and store into the SQLite DB. Display Graphs and Annotations to the user,so the user can select to view.
Server PC
1. Execute the Server 2. Register New Lecturer and Student With the username and password. 3. Read the Values from the Hardware and save it in the DB Continuously 4. Wait for the Request from Mobile. If the username and password is valid then send all the hardware read values and all the annotations to the android cell phone else Wait for the request from mobile. If the new comments or annotations are added at the mobile and update the same in the database
IpAddress,Username ,pwd
User can add new comments and annotations and update in the DB and also send it to the server.
35
SCREEN SHOTS
36
37
38
39
40
41
42
43
At the server end application opens up a icon on the screen indicating that the server is ready. The right click on this icon displays the added functionalities. There are three menu items in the main menu. First option is the button for starting the server; it is named as start server. This option helps the user to start the server. The second option is the button for registration of the new user. When you click on this button the registration form appears on the screen which requires the user to enter the username, password and the type of the user. The third button is to exit from the server. At the client end the GUI consists of application known as portable lab. When you click on this icon, it opens up a page with proceed button, click on proceed button. It will ask for the IP address of the server, enter the IP address. The login screen appears on the cell phone; enter the login information i.e. username, password and type of user. Select the mode either offline or online. Here user will have options of either viewing the charts or posting comments, questions and answers .
44
45
46
47