sample projek akhir politeknik

104
CHAPTER 1 1.1 Introduction In Politeknik Mukah Sarawak (PMU), students usually go out on weekends to spend their time with friend. Normally they will find a place to eat before there go somewhere else. So in order to save their time, our groups have decided to built a mobile application called Food Hunter Application. Our application is a native mobile app which is a smart phone application that is coded in a specific programming language. From what we produce, this app actually can save your time to find a food place near Mukah since there is no application have been develop for find food places typically in Mukah. Food Hunter Application is application that is created for the user to search food places at Mukah and we provide map for user to get into there. This application is being develop into something that give meaningful effect to a user so it is not useless. The application is to encourage the user to be familiar with a few places to eat in Mukah so it can guide the owner to improve their business. For your information, we have agreed to use Waterfall Model as a method to complete this Food Hunter Application. Through our research the problem that always happens is not all of them know where to eat as there is in the villages since they only know place that located in the city. So this app provides them the place they never go. 1.2 Problem Statement A study was being conducted for our project which is the PMU community who want to go out are having some problem to find great food places at Mukah area. Problem that usually happen is i. Not all place to eat in Mukah are halal ii. Some of food place is in the village and hard to find since Mukah has many villages. 1

Upload: dayang-ramizah

Post on 14-Apr-2017

127 views

Category:

Mobile


10 download

TRANSCRIPT

Page 1: Sample Projek Akhir Politeknik

CHAPTER 1

1.1 Introduction

In Politeknik Mukah Sarawak (PMU), students usually go out on weekends to spend their time with friend. Normally they will find a place to eat before there go somewhere else. So in order to save their time, our groups have decided to built a mobile application called Food Hunter Application. Our application is a native mobile app which is a smart phone application that is coded in a specific programming language. From what we produce, this app actually can save your time to find a food place near Mukah since there is no application have been develop for find food places typically in Mukah. Food Hunter Application is application that is created for the user to search food places at Mukah and we provide map for user to get into there. This application is being develop into something that give meaningful effect to a user so it is not useless. The application is to encourage the user to be familiar with a few places to eat in Mukah so it can guide the owner to improve their business. For your information, we have agreed to use Waterfall Model as a method to complete this Food Hunter Application. Through our research the problem that always happens is not all of them know where to eat as there is in the villages since they only know place that located in the city. So this app provides them the place they never go.

1.2 Problem Statement

A study was being conducted for our project which is the PMU community who want to go out are having some problem to find great food places at Mukah area. Problem that usually happen is

i. Not all place to eat in Mukah are halalii. Some of food place is in the village and hard to find since Mukah has many villages.

iii. Student are usually go out on weekends to find food places

1

Page 2: Sample Projek Akhir Politeknik

1.3 Objectives

The main purpose of this application being developed is,

1. PMU Community can save their time through this app.2. Easier for PMU community to know either the food place is halal or not.3. Assist the new student of PMU to find food places in Mukah.4. Help the PMU community to locate their desired food places in Mukah.

1.4 Scope

1.4.1 System Scope

Insert User key-in their username and password login

View User can view data that been insert which is in form of texts

Update User can update new stalls. Means that user can added her new

food places.

1.4.2 Users Scope

PMU Community Students Lecturers Staff

Student’s Parent

2

Page 3: Sample Projek Akhir Politeknik

1.5 Project Significant

This system actually is simple and easy. Means that user can just click the name of the place and automatically user will go to the Map page. It is easy because this app is showing you the direction. It is easy to be access anywhere and anytime as long as mobile devices connected to the Internet. Other than that, the system is a convenience for the user to access the food places in Mukah. Meaning to say it is easy to be carried wherever the user goes.

1.6 Conclusion

Overall, this application usually help to solve respondents that having problem in finding food places at Mukah. As we know, new students and staff from PMU always having trouble in finding halal and non-halal food places. Since we have develop this application, its help and make students find food places so that they can reduce their time in finding food places. Our application is just limited to PMU community and our target is Mukah city only. Besides, Mukah is just a small city and there is hard to find a non-halal food places for students non-muslim. With this application its become more easier. Students muslim also can know whether the stalls is halal or not not. Some of students muslim having misunderstanding whether the stalls is halal or not if they seeing the owner of the stalls is non muslim.

3

Page 4: Sample Projek Akhir Politeknik

CHAPTER 2

2

2.1 Introduction

For literature review we choose JJCM (See Figure 2.1) and MakanJom (See Figure 2.2)

mobile application. Both of this application provides the way ti find food places. From our

survey at Google Playstore, our team have found some application that is related to our native

mobile application system. The application that we have choose for our literature review are

JJCM and Makan Jom mobile application and our teammate have already downloaded, install

and test this app on our devices.

Figure 2.1 Figure 2.2

4

Page 5: Sample Projek Akhir Politeknik

2.2 JJCM – Jalan Jalan Cari Makan

2.2.1 Introduction

JJCM is a mobile app that are develop by Media Prima Digital. This app hosts

reviews of the newest and most popular eateries in town, and enables users to participate by

posting their own reviews. The weakness of this mobile app is the user must create a paid

account for them to access all the function.

2.2.2 Advantages and Disadvantages

Advantages

Main goals of JJCM Apps are to promote food places.

User can access JJCM from their devices.

Disadvantages

This mobile app prevent the device from sleeping which is going to used up a lot of

battery.

Limited places hown in application especially in rural area.

5

Page 6: Sample Projek Akhir Politeknik

2.3 MakanJom Cari Makan Sedap JJCM

2.3.1 Introduction

MakanJom is a mobile app that was developed by MakanJom Sdn Bhd. This app has

access to the user location data based on GPS and network-based. It also has access to user

phone status and identity, and read, modify or delete the contents of the user USB storage.

The weakness of this mobile app are, this app does not support various type of android

version as tested on Acer Liquid Z520 which is based on Android OS version 4.4.2 (KitKat)

and on Asus Zenfone A450CG which is based on Android OS version 5.0.2 (Lollipop). This

app can run on Android OS version 4.4.2 (KitKat) but does not support Android OS version

5.0.2 (Lollipop).

2.3.2 Advantages and Disadvantages

Advantages

Applications are free to download.

Disadvantages

Does not support latest Android OS Version

Does not included built in maps.

2.4 Conclusion

Both of the apps have their weakness compare to our app that was simple but nice since it is a free. Our Apps provide google map and update form for the user to improve this application. This app is more comfortable than other app.

6

Page 7: Sample Projek Akhir Politeknik

CHAPTER 3

3

3.1 Introduction

This system are developed using “Waterfall” methodology concept. This method is simple

to be understand and applied. The phases and steps in waterfall concept are processed and

completed one at a time and the phases do not overloop. In this methodology there are six

phases which is requirement analysis, system design, implementation, testing, deployment of

system and maintenance. We choose this methodology for Food Hunter Mobile Application

due to its understandable phases and it complies this system.

3.2 Methodology

3.2.1 Requirement Analysis

For this phase, we have done some research that is observation and questionnaires among

PMU and Mukah community.

3.2.2 System Design

For system design phase, we have use a few hardware to develop this system which is

smartphone and laptop. We use smartphone to install and run the Food Hunter Mobile

Application. The software that we require to develop the system are Eclipse Juno for our

workspace and Adobe Photoshop for our layout.

3.2.3 Implementation

With inputs from earlier phase which is System design, the system is first developed in

small programs called units, which are integrated in the next phase. Each units is developed

and tested for its functionality which is referred to as Unit Testing.

7

Page 8: Sample Projek Akhir Politeknik

3.2.4 Testing

In testing phase, we have conducted system testing with end-user which are the lecture

and PMU students. From the testing phase, we gain more ideas or flaws to fix from their

review.

3.2.5 Deployment of System

Once the functional and dysfunctional from testing phase is done, the product are ready to

be deployed for the customer or released into the market which is Google Play Store.

3.2.6 Maintenance

For maintenance phase, our group will make sure the system to be up to date, and to make

sure that our system survive in the end-user environment which are local people in Mukah

and PMU community.

Figure 3.1

8

Page 9: Sample Projek Akhir Politeknik

3.3. Conclusion

This system are created to reduce a few weakness that has occurred to food lovers

amongst PMU and Mukah Community. This system will help user to easily find food places

without needing to worry it’s halal or non-halal state and will help the food places owner to

get more customers. Method that we choose is the best since that waterfall model is simple to

understand and use. As you know, each phase must be completed before the next phase can

begin and no overlapping, meaning that our system is run smoothly until it finish.

9

Page 10: Sample Projek Akhir Politeknik

CHAPTER 4

4 Observation

4.1 Observation

4.1.1 Introduction

The point of observation is to see or monitors at something or someone in order to find facts. By simply watching people working it is also fairly straightforward to watch how data flow around a system. Observers have to be careful of the Hawthorne effect. This is where workers modify their behavior because they know they are being watched.

4.1.2 Analysis Data

The observation had been made amongst PMU Student and at local food place at Mukah Area. Some of the final year semester student or student who are involved in a club often like to find and reserve food places for their special occasion. The food place that we had found were some of them were in hidden area from the road and hard to find for new comer students. Despite that, from our observation there’s also PMU student’s who are not staying at the Kamsis and are finding places to eat during night time. And we also found food places that operates starting at the evening till night.

Through this observation we had found food places that are not known and struggling to find customers, and we had discover and received their operating hours and contact numbers for the students who would like to make special occasion. See Appendix A

4.1.3 Conclusion

From becoming an observer, it had given us an opportunity to discover local food places

in Mukah from quite a range of different perspective. It also helps us to gain a better

understanding and experience to learn the flow of the new and current system, the users

attitudes, that we could applied to our system. As conclusion, we would like to conclude that

this observation had been successful and the result of the observation has been very valuable

to us.

10

Page 11: Sample Projek Akhir Politeknik

4.2 Questionnaire

4.2.1 Introduction

Questionnaire or surveys are fact finding technique in which is used by the system analyst to gather information from large number of people or users. Users fill up the questions which are given to them and then give back the answers to the system analyst. The advantages of this techniques are user can fill the forms and gives answers freely, and it can save time because system analyst does not need to interview each of the users. But the disadvantages of this techniques are good questionnaires are difficult to prepare and there will always be incomplete answers received.

4.2.2 Analysis Data

From doing the questionnaires, there are various responds from the respondents. The questionnaires are separated into three sections which are Section A, Section B and Section C. Below are the results of responds that received through questionnaires. Figure 4.1 show diagram questionnaires. Refers to Appendix B that’s show students have answer the questionnaires.

11

Page 12: Sample Projek Akhir Politeknik

SOAL SELIDIK BERKENAAN KEBERKESANAN PENGGUNAANAPLIKASI MUDAH ALIH UNTUK MENCARI TEMPAT MAKAN.

KAJIAN INI DILAKSANAKAN OLEH PELAJAR SEMESTER 5, PROGRAMDIPLOMA TEKNOLOGI MAKLUMAT DAN KOMUNIKASI (PENGATURCARAAN)DI POLITEKNIK MUKAH SARAWAK. SOAL SELIDIK INI MENGKAJI BERKENAANDENGAN KEBERKESANAN PENGGUNAAN APLIKASI MUDAH ALIH PADA MASASEKARANG.

SEMUA JAWAPAN YANG DIBERI AKAN DISIMPAN SECARA SULIT DANHANYA AKAN DIGUNAKAN ATAS DASAR AKADEMIK SAHAJA, KERJASAMAYANG TELAH DIBERIKAN KE ATAS KAJIAN INI AMATLAH KAMI HARGAI.

BAHAGIAN A

a) JANTINA

LELAKI PEREMPUAN

12

Page 13: Sample Projek Akhir Politeknik

BIL PERKARA SKOR1. Saya kerap menggunakan aplikasi mudah alih.2. Telefon pintar saya boleh mengakses Internet di mana-mana sahaja3. Saya kebiasaannya akan menggunakan peta google untuk pergi ke mana-mana.4. Saya akan berkongsi maklumat sekiranya terdapat tempat makan yang baru

kepada kawan-kawan saya

5. Aplikasi mudah alih memudahkan saya mendapat info yang terkini.

BAHAGIAN CSEKIRANYA SISTEM BERBENTUK APLIKASI MUDAH ALIH UNTUK MENCARI TEMPAT MAKAN DI MUKAH WUJUD,

BIL PERKARA SKOR1 Saya akan mencadangkan kepada rakan-rakan yang lain mengenai aplikasi

ini.

2 Saya akan menggunakannya sepanjang saya berada di Mukah3 Saya akan memberi maklum balas terkini sekiranya ada kedai yang telah

tutup atau kedai yang baru.

TERIMA KASIH ATAS KERJASAMA ANDA MENJAWAB SOAL SELIDIK INI.

Figure 4.1

13

Page 14: Sample Projek Akhir Politeknik

Figure 4.1

SECTION A (CHARTS)

Answer A1

25

30

Jantina

LelakiPerempuan

A1. 30 out of 55 questionnaire are answer by female and 25 are male.

Figure 4.2

49

35

Pekerjaan

PelajarPensyarahKakitangan

A2. 49 of the questionnaire was answer by students, while 5 answer by staff and 3 is answer by lecturers.

Figure 4.3

14

Page 15: Sample Projek Akhir Politeknik

Answer A3

25%

2%

20%

10%

10%

10%

Jabatan

JTMKJMSKJPJPAJKAJKEJKMLAIN-LAIN

A3. 25% of our respondent is from JTMK while 20% respondent are from JP and 10% respondent is from JKA, JKE and JKM while there no respondent for JPA and others.

Figure 4.4

15

Page 16: Sample Projek Akhir Politeknik

SECTION B (CHARTS)

90%

10%

Answer B1

AgreeDisagree

B1. 90% of the respondents agree by using frequently mobile application and 10% disagree with the question.

Figure 4.5

30%

70%

Answer B2

AgreeDisagree

B2. About 30% of the respondents agree with mobile phone can access everywhere and 70% disagree with the question.

Figure 4.6

16

Page 17: Sample Projek Akhir Politeknik

SECTION B (CHARTS)

60%

40%

Answer B3

AgreeDisagree

B3. About 60% respondents agree with using google maps if going to somewhere and 40% disagree with it.

Figure 4.7

50%50%

Answer B4

AgreeDisagree

B4. 50% of the respondents agree with sharing the information if get new food places to others and 50% disagree with the question.

Figure 4.8

17

Page 18: Sample Projek Akhir Politeknik

90%

10%

Answer B5

AgreeDisagree

B5. 90% of the respondent agreed with mobile application can easily get latest information and 10% disagree of the question.

Figure 4.9

18

Page 19: Sample Projek Akhir Politeknik

SECTION C (CHARTS)

65%

35%

Answer C1

AgreeDisagree

C1. 65% respondents agree with suggest the application to other and 35% disagree with the question.

Figure 4.10

53%47%

Answer C2

AgreeDisagree

C2. 53% of the respondents agree in using the application in Mukah and 47% disagree with the question.

Figure 4.11

19

Page 20: Sample Projek Akhir Politeknik

20%

80%

Answer C3

AgreeDisagree

C3. About 80% of the respondents disagree with give feedback if there was stalls that have been closed or new stalls and 20% of the respondents agree with this question.

Figure 4.12

20

Page 21: Sample Projek Akhir Politeknik

4.2.3 Conclusion

Questionnaires or surveys are fact finding technique in which is used by the system analyst to gather information from large number of people or users .The majority of people that answered our questionnaire were aged 18 and above. On this report, the question is very easy to answer and which all the student and lecture are comfortable answering. As we had been given a change to distributed survey question, it helps us gain a better understanding of environment around us. The student should be able to understand about our system that we would like to create.

4.3 Conclusion

The conclusion of this analysis we have learnt that the system work as specified. The idea that gave is very good, creative and available to use in our next performance. For all of that, we learnt that we can help and solve PMU Community problems. There is some people wish us to do the best for our system and performance. The result for the entire conclusion, the analysis has been successful. The feedback from the PMU Community give us strength to improve this system. All of them, give the best cooperation toward our questionnaire.

21

Page 22: Sample Projek Akhir Politeknik

DESIGN

4.4 Introduction

In Politeknik Mukah, PMU Community is like to hangs out in weekend and normally they will find place to eat. So in order to help and save their time in finding food places that they want, we develop this mobile application to make its easier. By create this mobile application, its can help PMU community to finding their favourite food places. This application also can help the owner of the stalls to promote their business to another Mukah local people. This application can help people to know the location of the food places so they did not need to waste their time in finding it. People also can find their nearby food places. This application is available or can be downloading into Android devices through the Play Store or Google Store. This application also will update new and old food places that did not have in google maps.

4.5 Logical Design

4.5.1 Context Diagram

Figure 4.13

22

Page 23: Sample Projek Akhir Politeknik

4.5.2 DFD Level 0

Figure 4.14

23

Page 24: Sample Projek Akhir Politeknik

4.6 Physical Design

4.6.1 Graphical User Interface Design

The Graphical user interface of our system is to help the user to enter the suitable inputs that are required.

Figure 4.15 Main Page

User who want to update can enter Admin then sign up and user who want to view or as a guest can enter Home.

24

Page 25: Sample Projek Akhir Politeknik

Figure 4.16 Button Sign In & Sign Up

For the new user who want to update they must enter button sign up first and the user that has sign up before can just enter sign in

Figure 4.17 Sign Up form

For the new user who want to be an admin just sign up this form first. Sign Up form content of username, password and confirm password

25

Page 26: Sample Projek Akhir Politeknik

Figure 4.18 Sign In form

For the admin, enter the username and password in the Sign In Form then Click Sign In to the next page.

Figure 4.19 Insert and View Page

User who is an admin have the authority to insert and view data. Meaning that they can choose either to insert new data or view data have been insert.

26

Page 27: Sample Projek Akhir Politeknik

Figure 4.20 update form

An admin is provided with this update form for them to insert new stall in Mukah

Figure 4.21 List View PageAfter the admin have update their data, they automatically can enter view data and

the data are being save in the list view page

27

Page 28: Sample Projek Akhir Politeknik

4.6.2 Flow Chart The flow chart is created to give the overall details of the process happening in the system by using simple words and symbol. The flow chart wills facilities the process of designing the user interface in the letter stage of the system development.

Figure 4.22 Flow Chart

28

Page 29: Sample Projek Akhir Politeknik

4.6.3 Entity Relationship Diagram (ERD)

4.6.3.1 Introduction

ERD stands for Entity Relationship Diagram which is graphical tools for modelling data. ERD widely used in database design. Besides that ERD is a graphical representation of the logical structure of a database. ERD is a model that identifies the concepts or entities that exist in a system and the relationships between those entities. Entity Relationship Diagram (ERD) is made to give the overview of the system database .every entity in the database is related to each other and shows their interface.

29

Password

Username

User_password

User_name

User

View

Food Stall Name

UpdateAdmin

Register

New Admin

Page 30: Sample Projek Akhir Politeknik

4.7 Conclusion

This system is considered as a creative idea and few of the PMU community are looking forward for the system to be successfully develop. As we had been given a chance to present Food Hunter Application system, it helps us to gain a better understanding of environment around us. The PMU community should be able to understand about the system that we planned to develop. Even though there are difficulties in designing the interface, we manage to solve the problem.

Figure 4.23

CHAPTER 5

5

5.1 Introduction

During the development and testing system, we go through a few problem that we had.

We find out example code from internet to completed the problem . We have to find the way

to make all of the function in our system had to be done. After the all function in the system

can be run, we have to testing our system to a few people. From the testing session we can

get what should we add more and what is needed to be corrected on our system.

5.2 Hardware and Application Requirement

Hardware that we have required during the construction of this system is smartphone ,

Universal Serial Bus controllers(USB) and laptop. This hardware is very important to our

system and without it Food Hunter Mobile Application will not success.

5.3 Development

30

Page 31: Sample Projek Akhir Politeknik

We develop this system using Android Version Kit Kat platform.Smartphone devices that

we use for run this system. Besides, we use SQLite browser to view database process in this

system. Computer language that we use is Java language and Xml. Xml means Extensible

Markup Language. Android provides a straightforward XML vocabulary that corresponds to

the View classes and subclasses. The goal of using Android's XML vocabulary, is to quickly

design UI layouts and the screen elements they contain, in the same way that creating web

pages in HTML :with a series of nested elements.

5.3.1 Splash screen

Android splash screen are normally used to show user some kind of progress before the

app loads completely. When run application, you will see the splash screen for 3 second and

DrawerActivity.java will be launched

Declare the duration for splash screen with 3 second before load next activity:

//splash screen timerprivate static final intSPLASH_DURATION = 3000;//3 second

This source code will hide your action bar when splash screen be launched:

//Hide Action BargetWindow().requestFeature(Window.FEATURE_ACTION_BAR);getActionBar().hide();

private Handler myHandler;myHandler = new Handler();

31

Page 32: Sample Projek Akhir Politeknik

myHandler.postDelayed(new Runnable() {//showing splash screen with a timer.it show food hunter logo

publicvoid run(){//auto-generated method stubfinish();if(!backbtnPress){

//start your app with drawer activity Intent intent = new Intent(FirstActivity.this,DrawerActivity.class);FirstActivity.this.startActivity(intent);

}}}, SPLASH_DURATION); }publicvoid onBackPressed(){ backbtnPress = true; super.onBackPressed();}

5.3.2 Navigation with back button

This code must put in onCreate to display back button at action bar:

@Overrideprotectedvoid onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState); setContentView(R.layout.activity_fiftha_e);

getActionBar().setDisplayHomeAsUpEnabled(true); }

5.3.3 Searchable name in listview

Adding search functionally to listview will filters the list data with a matching string,hence

provides user an easy way to find the information he need.

Create required files needed to generate a listview. I am using file .xml name

activity_fiftha.xml as listview and created a new xml file for single listitem named

activity_list4.xml.It also make sure that you have created EditText above the listview which

will be used to search the listview.

32

Page 33: Sample Projek Akhir Politeknik

activity_fiftha.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/RelativeLayout1" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@drawable/background" android:gravity="left" >

<ListView android:id="@+id/LVCNH" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_marginTop="49dp" tools:listitem="@android:layout/simple_list_item_1" ></ListView>

<EditText android:id="@+id/editText3" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentStart="true" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" android:layout_marginTop="14dp" android:ems="10" android:hint="@string/search_cafe_nonhalal" android:inputType="text|textAutoCorrect|textAutoComplete|textMultiLine" android:textStyle="italic" >

<requestFocus /></EditText>

</RelativeLayout>

activity_list4.xml

<?xml version="1.0" encoding="utf-8"?><TextView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/listname3" android:layout_width="match_parent" android:layout_height="match_parent"

33

Page 34: Sample Projek Akhir Politeknik

android:padding="10dip" android:textSize="16sp" android:textStyle="bold"></TextView>

Created FifthA_Activity.java . In the following code I stored all the list data in array called

String [] cafenonhalalArray and attached to listview using simple ArrayAdapter.

listAdaNonCafeHalal = new ArrayAdapter<String>(this,R.layout.activity_list4, cafenonhalalArray); itemList.setAdapter(listAdaNonCafeHalal); itemList.setTextFilterEnabled(true); itemList.setChoiceMode(ListView.CHOICE_MODE_SINGLE); itemList.setOnItemClickListener(new OnItemClickListener(){

publicvoid onItemClick(AdapterView<?> parent, View view,int position, long id) {

//SWITCH TO SELECT ITEMswitch (position) {case 0: Intent i0 = new Intent(FifthA_Activity.this,

FifthA_A_Activity.class); startActivity(i0);break;default:break;}}});

Search functionality can be enabled by writing simple lines of code. All you need to do is

adding addTextChangedListener to the EditText. Once user enters a new data in EditText we

need to get the text from it and passing it to array adapter filter.

FifthA_Activity.java

filterText.addTextChangedListener(new TextWatcher() { @Override public void beforeTextChanged(CharSequence a, int start, int count, int after) {}

@Override public void onTextChanged(CharSequence a, int start, int before, int count) { FifthA_Activity.this.listAdaNonCafeHalal.getFilter().filter(a); }

34

Page 35: Sample Projek Akhir Politeknik

@Override public void afterTextChanged(Editable a) {} }

5.3.4 Select item from listview with intent

Listview is a view group that displays a list scrollable items. The list items are

automatically inserted to the list using an Adapter that pulls content from source as array or

database query and converts each item result into a view thats placed into the list.

Intent an activity can of course start another one, even if it but to do this, it will need a

special object called Intent. An intent is basic description of an operation to be performed. It

can launch an Activity, send a broadcastIntent to any interested BroadcastReceiver

components, and communicate with a background Service. An Intent performs binding

between the code in different applications. it can be thought of as thelink between activities.

35

Page 36: Sample Projek Akhir Politeknik

5.3.5

36

listAdaNonCafeHalal = new ArrayAdapter<String>(this,R.layout.activity_list4, cafenonhalalArray);

itemList.setAdapter(listAdaNonCafeHalal); itemList.setTextFilterEnabled(true); itemList.setChoiceMode(ListView.CHOICE_MODE_SINGLE); itemList.setOnItemClickListener(new OnItemClickListener(){

public void onItemClick(AdapterView<?> parent, View view, int position, long id) {

//SWITCH TO SELECT ITEM switch (position) { case 0: Intent i0 = new Intent(FifthA_Activity.this,

FifthA_A_Activity.class); startActivity(i0); break;

case 1: Intent i1 = new Intent(FifthA_Activity.this,

FifthA_B_Activity.class); startActivity(i1); break;

case 2: Intent i2 = new Intent(FifthA_Activity.this,

FifthA_C_Activity.class); startActivity(i2); break;

case 3: Intent i3 = new Intent(FifthA_Activity.this,

FifthA_D_Activity.class); startActivity(i3); break;

case 4: Intent i4 = new Intent(FifthA_Activity.this,

FifthA_E_Activity.class); startActivity(i4); break;

case 5: Intent i5 = new Intent(FifthA_Activity.this,

FifthA_F_Activity.class); startActivity(i5); break;

case 6: Intent i6 = new Intent(FifthA_Activity.this,

FifthA_G_Activity.class); startActivity(i6); break;

case 7: Intent i7 = new Intent(FifthA_Activity.this,

FifthA_H_Activity.class); startActivity(i7); break;

case 8:

Page 37: Sample Projek Akhir Politeknik

Setup the Latitude and Longtitude of stall location in map

Assign your latitude location and create your object for Google map:

staticfinal LatLng asg = newLatLng(2.893473,112.092806);private GoogleMap myMap;

try {if (myMap == null) {myMap = ((MapFragment) getFragmentManager(). findFragmentById(R.id.map)).getMap(); } //add a marker at asg cafe myMap.addMarker(new MarkerOptions().position(asg).title("ASG Cafe"));myMap.moveCamera(CameraUpdateFactory.newLatLng(asg));//to get rid of those zooming controls on the the map.myMap.getUiSettings().setZoomControlsEnabled(true);//false to disable myMap.setMyLocationEnabled(true); // my current locationmyMap.setMapType(GoogleMap.MAP_TYPE_TERRAIN);//my map type//postion of camera mapCameraPosition cPosition =

newCameraPosition.Builder().target(asg).zoom(16).build();

myMap.animateCamera(CameraUpdateFactory.newCameraPosition(cPosition)); }catch (Exception e) { e.printStackTrace(); }

Using the fragment layout we use try and catch statement to view a map. To show

the location of stall we must know the latitude of that place .The type of map we use

terrain map because it suitable for user know where the stall

are.getUiSettings().setZoomControlsEnabled(true) is to enable the camera zoom to

map. We can disabled the zoom with

codegetUiSettings().setZoomControlsEnabled(false). For

code .setMyLocationEnabled(true) is to show the current place you are . You must

turn your GPS first

5.3.6 Insert data in databasepublic void addStall(Stall stall) {

37

Page 38: Sample Projek Akhir Politeknik

SQLiteDatabase db = this.getWritableDatabase();

ContentValues values = new ContentValues();values.put("name", stall.getName());

// Inserting Row

db.insert("stalls", null, values);db.close(); // Closing database connection }

5.3.7 View data in database

public Stall getStall(String name) {// Select All QueryString selectQuery = "SELECT * FROM stalls where name='" + name +"'";

SQLiteDatabase db = this.getWritableDatabase();Cursor cursor = db.rawQuery(selectQuery, null);Stall stall = null;// looping through all rows and adding to listif (cursor.moveToFirst()) {

stall = new Stall();stall.setId(Integer.parseInt(cursor.getString(0)));stall.setName(cursor.getString(cursor.getColumnIndex("name")));

}// return stall list

return stall;}

publicList getAllStalls() {List<String> stallList = new ArrayList<String>();// Select All QueryString selectQuery = "SELECT * FROM stalls";

SQLiteDatabase db = this.getWritableDatabase();Cursor cursor = db.rawQuery(selectQuery, null);

// looping through all rows and adding to listif (cursor.moveToFirst()) {

do {

String temp=cursor.getString(0);temp+=", "+cursor.getString(cursor.getColumnIndex("name"));

// Adding name to liststallList.add(temp);

38

Page 39: Sample Projek Akhir Politeknik

} while (cursor.moveToNext());}

return stallList;}

publicList getAllName() {List<String> nameList = new ArrayList<String>();// Select All QueryString selectQuery = "SELECT * FROM stalls";

SQLiteDatabase db = this.getWritableDatabase();Cursor cursor = db.rawQuery(selectQuery, null);

// looping through all rows and adding to listif (cursor.moveToFirst()) {

do {String name = cursor.getString(cursor.getColumnIndex("name"));// Adding stall to listnameList.add(name);

} while (cursor.moveToNext());}

// return stall listreturn nameList;

}

39

Page 40: Sample Projek Akhir Politeknik

stalls.db

Figure 5.1

Figure 5.2

40

Page 41: Sample Projek Akhir Politeknik

This figure 5.1 is for database name stallmanager. Table name is stalls and it attribute name id and name .Admin will insert name of stall into database and all data will diplay on listview in figure 5.2

5.3.8 Button exit

Figure 5.3

ActivityDrawer.java

//SWITCH TO SELECT ITEMswitch (position) {case 0: Intent i0 = new Intent(DrawerActivity.this, MainActivity.class); startActivity(i0);break;

case 1: Intent i1 = new Intent(DrawerActivity.this, AdminLogin.class); startActivity(i1);break;

case 2: System.exit(0);break;

case 3:

41

Page 42: Sample Projek Akhir Politeknik

Intent i2 = new Intent(DrawerActivity.this, ContactActivity.class); startActivity(i2);break;

default:break;

}} Figure 5.3 show drawer layout that have four button for user to click option they want.

Coding show how button option function when click. We use switch case statement. For exit

button is on case 2 option for user terminate from this system.

5.3.9 Button contact

This ContactActivity.java file content coding for sending email for contact us about food places at Mukah City. User can also give any feedback about our system.

publicvoid onClick(View view) {sendEmail();}});}protectedvoid sendEmail() {Log.i("Send email", "");String[] TO = {""};String[] CC = {""};Intent emailIntent = new Intent(Intent.ACTION_SEND);emailIntent.setData(Uri.parse("mailto:"));emailIntent.setType("text/plain");emailIntent.putExtra(Intent.EXTRA_EMAIL, TO);emailIntent.putExtra(Intent.EXTRA_CC, CC);emailIntent.putExtra(Intent.EXTRA_SUBJECT, "Your subject");emailIntent.putExtra(Intent.EXTRA_TEXT, "Email message goes here");try {startActivity(Intent.createChooser(emailIntent, "Send mail..."));finish();Log.i("Finished sending email...", "");}catch (android.content.ActivityNotFoundException ex) {Toast.makeText(ContactActivity.this, "There is no email client installed.",Toast.LENGTH_SHORT).show();}}

42

Page 43: Sample Projek Akhir Politeknik

5.3.10 Admin login Admin login is how admin enter this activity or interface to insert data in database and view

that data from database.

Source code below show how this Admin login will generate:

AdminLogin.javapackage com.example.foodhunter;

import android.app.Activity;import android.app.Dialog;import android.content.Intent;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.EditText;import android.widget.Toast;

public class AdminLogin extends Activity {

Button btnSignIn,btnSignUp;LoginDataBaseAdapter loginDataBaseAdapter;

@Overrideprotected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.adminlogin);

// create a instance of SQLite Database loginDataBaseAdapter=new LoginDataBaseAdapter(this); loginDataBaseAdapter=loginDataBaseAdapter.open();

// Get The Refference Of Buttons btnSignIn=(Button)findViewById(R.id.buttonSignIN); btnSignUp=(Button)findViewById(R.id.buttonSignUP);

// Set OnClick Listener on SignUp button btnSignUp.setOnClickListener(new View.OnClickListener() {

43

Page 44: Sample Projek Akhir Politeknik

public void onClick(View v) {

/// Create Intent for SignUpActivity and Start The ActivityIntent intentSignUP=new Intent(getApplicationContext(),SignUPActivity.class);startActivity(intentSignUP);

}});}

// Methods to handleClick Event of Sign In Buttonpublic void signIn(View V) {

final Dialog dialog = new Dialog(AdminLogin.this);dialog.setContentView(R.layout.adminlogin);

dialog.setTitle("Login");

// get the Refferences of views final EditText

editTextUserName=(EditText)dialog.findViewById(R.id.editTextUserNameToLogin); final EditText

editTextPassword=(EditText)dialog.findViewById(R.id.editTextPasswordToLogin);

btnSignIn=(Button)dialog.findViewById(R.id.buttonSignIn);

// Set On ClickListenerbtnSignIn.setOnClickListener(new View.OnClickListener() {

public void onClick(View v) {// get The User name and PasswordString userName=editTextUserName.getText().toString();String password=editTextPassword.getText().toString();

// fetch the Password form database for respective user nameString storedPassword=loginDataBaseAdapter.getSinlgeEntry(userName);

// check if the Stored password matches with Password entered by userif(password.equals(storedPassword)){

Intent intentSignIn=new Intent(getApplicationContext(),MenuActivity.class);

startActivity(intentSignIn);}else{

Toast.makeText(AdminLogin.this, "User Name or Password does not match", Toast.LENGTH_LONG).show();

}}

});

44

Page 45: Sample Projek Akhir Politeknik

dialog.show();}

@Overrideprotected void onDestroy() {

super.onDestroy(); // Close The Database

loginDataBaseAdapter.close();}

}

adminlogin.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@drawable/background" android:gravity="center_vertical" android:orientation="vertical">

<Button android:id="@+id/buttonSignIN" android:layout_width="fill_parent" android:layout_height="wrap_content"android:text= "Sign In" android:onClick="signIn"/>

<Button android:id="@+id/buttonSignUP" android:layout_width="fill_parent" android:layout_height="wrap_content"android:text= "Sign Up" />

</LinearLayout>

45

Page 46: Sample Projek Akhir Politeknik

5.3.11 Admin sign up

For coding below is for new admin register they account to log in this system. Admin will fill they username and password. If admin fill the password incorrect it show toast "Password does not match". Toast is notification that pop up with short period time around 2 second. New admin must enter correct password to login or an admin not yet they create account .

SignUPActivity.java

publicclass SignUPActivity extends Activity{

EditText editTextUserName,editTextPassword,editTextConfirmPassword;Button btnCreateAccount;

LoginDataBaseAdapter loginDataBaseAdapter;@Overrideprotectedvoid onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);setContentView(R.layout.signup);

// get Instance of Database AdapterloginDataBaseAdapter=new LoginDataBaseAdapter(this);loginDataBaseAdapter=loginDataBaseAdapter.open();

// Get Refferences of ViewseditTextUserName=(EditText)findViewById(R.id.editTextUserName);editTextPassword=(EditText)findViewById(R.id.editTextPassword);

editTextConfirmPassword=(EditText)findViewById(R.id.editTextConfirmPassword);

btnCreateAccount=(Button)findViewById(R.id.buttonCreateAccount);btnCreateAccount.setOnClickListener(new View.OnClickListener() {

publicvoid onClick(View v) {

46

Page 47: Sample Projek Akhir Politeknik

String userName=editTextUserName.getText().toString();String password=editTextPassword.getText().toString();String

confirmPassword=editTextConfirmPassword.getText().toString();

// check if any of the fields are vaccantif(userName.equals("")||password.equals("")||

confirmPassword.equals("")){

Toast.makeText(getApplicationContext(), "Field Vaccant", Toast.LENGTH_LONG).show();

return;}

// check if both password matchesif(!password.equals(confirmPassword)){

Toast.makeText(getApplicationContext(), "Password does not match", Toast.LENGTH_LONG).show();

return;}else{ // Save the Data in Database loginDataBaseAdapter.insertEntry(userName, password); Toast.makeText(getApplicationContext(), "Account Successfully

Created ", Toast.LENGTH_LONG).show();}

}});

}@Overrideprotectedvoid onDestroy() {

// TODO Auto-generated method stubsuper.onDestroy();

loginDataBaseAdapter.close();}

}

For coding above is for new admin register they account to log in this system. Admin will

fill they username and password. If admin fill the password incorrect it show toast"Password

does not match". Toast is notification that pop up with short period time around 2 second.

New admin must enter correct password to login or an admin not yet they create account .

47

Page 48: Sample Projek Akhir Politeknik

For coding below is to display interface using .xml file . We insert button with width and

height what we want. Android id is the name of item in your interface. Id name very

important to call function in coding java.

Signup.xml

48

Page 49: Sample Projek Akhir Politeknik

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@drawable/background" android:gravity="center_vertical" android:orientation="vertical">

<EditText android:id="@+id/editTextUserName" android:layout_width="match_parent" android:layout_height="wrap_content"android:hint= "User Name" android:textColorHint="@color/white">

<requestFocus /></EditText>

<EditText android:id="@+id/editTextPassword" android:layout_width="fill_parent" android:layout_height="wrap_content"android:hint= "Password" android:inputType="textPassword" android:textColorHint="@color/white" />

<EditText android:id="@+id/editTextConfirmPassword" android:layout_width="fill_parent" android:layout_height="wrap_content"android:hint= "Confirm Password" android:inputType="textPassword" android:textColorHint="@color/white" />

<Button android:id="@+id/buttonCreateAccount" android:layout_width="fill_parent" android:layout_height="wrap_content"android:text= "Create Account" android:layout_marginBottom="60dp" /></LinearLayout>

LoginDatabaseAdapter.java

public class LoginDataBaseAdapter {

static final String DATABASE_NAME = "login.db";static final int DATABASE_VERSION = 1;public static final int NAME_COLUMN = 1;

49

Page 50: Sample Projek Akhir Politeknik

// TODO: Create public field for each column in your table.// SQL Statement to create a new database.static final String DATABASE_CREATE = "create table "+"LOGIN"+ "( " +"ID"+" integer primary key autoincrement,"+

"USERNAME text,PASSWORD text); ";// Variable to hold the database instancepublic SQLiteDatabase db;// Context of the application using the database.private final Context context;// Database open/upgrade helperprivate DataBaseHelper dbHelper;public LoginDataBaseAdapter(Context _context) {

context = _context;dbHelper = new DataBaseHelper(context, DATABASE_NAME, null,

DATABASE_VERSION);}public LoginDataBaseAdapter open() throws SQLException {

db = dbHelper.getWritableDatabase();return this;

}public void close() {

db.close();}

public SQLiteDatabase getDatabaseInstance(){

return db;}

public void insertEntry(String userName,String password){

ContentValues newValues = new ContentValues();// Assign values for each row.newValues.put("USERNAME", userName);newValues.put("PASSWORD",password);

// Insert the row into your tabledb.insert("LOGIN", null, newValues);///Toast.makeText(context, "Reminder Is Successfully Saved",

Toast.LENGTH_LONG).show();}public int deleteEntry(String UserName){

//String id=String.valueOf(ID); String where="USERNAME=?"; int numberOFEntriesDeleted= db.delete("LOGIN", where, new String[]

{UserName}) ;

50

Page 51: Sample Projek Akhir Politeknik

// Toast.makeText(context, "Number fo Entry Deleted Successfully : "+numberOFEntriesDeleted, Toast.LENGTH_LONG).show();

return numberOFEntriesDeleted;}public String getSinlgeEntry(String userName){

Cursor cursor=db.query("LOGIN", null, " USERNAME=?", new String[]{userName}, null, null, null);

if(cursor.getCount()<1) // UserName Not Exist {cursor.close();

return "NOT EXIST";

}

cursor.moveToFirst();

String password= cursor.getString(cursor.getColumnIndex("PASSWORD"));

cursor.close();

return password;

}

public void updateEntry(String userName,String password)

{

// Define the updated row content.

ContentValues updatedValues = new ContentValues();

// Assign values for each row.

updatedValues.put("USERNAME", userName);

updatedValues.put("PASSWORD",password);

String where="USERNAME = ?";

db.update("LOGIN",updatedValues, where, new String[]{userName});

} }

DataBaseHelper.java

public class DataBaseHelper extends SQLiteOpenHelper{

public DataBaseHelper(Context context, String name,CursorFactory factory, int version) {

51

Page 52: Sample Projek Akhir Politeknik

super(context, name, factory, version);}// Called when no database exists in disk and the helper class needs// to create a new one.@Overridepublic void onCreate(SQLiteDatabase _db) {

_db.execSQL(LoginDataBaseAdapter.DATABASE_CREATE);

}// Called when there is a database version mismatch meaning that the version// of the database on disk needs to be upgraded to the current version.@Overridepublic void onUpgrade(SQLiteDatabase _db, int _oldVersion, int _newVersion) {

// Log the version upgrade.Log.w("TaskDBAdapter", "Upgrading from version " +_oldVersion + "

to " +_newVersion + ", which will destroy all old data");

// Upgrade the existing database to conform to the new version. Multiple

// previous versions can be handled by comparing _oldVersion and _newVersion

// values.// The simplest case is to drop the old table and create a new one._db.execSQL("DROP TABLE IF EXISTS " + "TEMPLATE");// Create a new one.onCreate(_db);

}

}

LOGIN.db

52

Page 53: Sample Projek Akhir Politeknik

Figure 5.4

This figure 5.4 above is for admin database login. That have insert data of admin for

name attribute and password attribute.

5.3.12 Navigation drawer layout

Drawer layout is a panel that displays the apps main navigation options on the left edge of the screen. It is hidden most of the time, but is revealed when the user swipes a finger from the left edge of the screen or, whileat the top level of the app, the user touches the app icon in the action bar.

mTitle = mDrawerTitle = getTitle(); mTitles = getResources().getStringArray(R.array.title_array); mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout); mDrawerList = (ListView) findViewById(R.id.left_drawer);

// set a custom shadow that overlays the main content when the drawer opens mDrawerLayout.setDrawerShadow(R.drawable.drawer_shadow, GravityCompat.START); // set up the drawer's list view with items and click listener mDrawerList.setAdapter(new ArrayAdapter<String>(this, R.layout.drawer_list_item, mTitles)); mDrawerList.setOnItemClickListener(new DrawerItemClickListener() {

publicvoid onItemClick(AdapterView<?> parent, View view,int position, long id) {

//SWITCH TO SELECT ITEMswitch (position) {case 0: Intent i0 = new Intent(DrawerActivity.this, MainActivity.class); startActivity(i0);break;

53

Page 54: Sample Projek Akhir Politeknik

case 1: Intent i1 = new Intent(DrawerActivity.this, AdminLogin.class); startActivity(i1);break;

case 2: System.exit(0);break;

case 3: Intent i2 = new Intent(DrawerActivity.this,

ContactActivity.class); startActivity(i2);break;

default:break;

}}

});

// enable ActionBar app icon to behave as action to toggle nav drawer getActionBar().setDisplayHomeAsUpEnabled(true); getActionBar().setHomeButtonEnabled(true);

// ActionBarDrawerToggle ties together the the proper interactions // between the sliding drawer and the action bar app icon mDrawerToggle = newActionBarDrawerToggle(this, /* host Activity */ mDrawerLayout, /* DrawerLayout object */ R.drawable.ic_drawer, /* nav drawer image to replace 'Up' caret */ R.string.drawer_open, /* "open drawer" description for accessibility */ R.string.drawer_close /* "close drawer" description for accessibility */ ) {publicvoid onDrawerClosed(View view) { getActionBar().setTitle(mTitle); invalidateOptionsMenu(); // creates call to onPrepareOptionsMenu() }

publicvoid onDrawerOpened(View drawerView) { getActionBar().setTitle(mDrawerTitle); invalidateOptionsMenu(); // creates call to onPrepareOptionsMenu() } };

54

Page 55: Sample Projek Akhir Politeknik

mDrawerLayout.setDrawerListener(mDrawerToggle);

if (savedInstanceState == null) { selectItem(0); } }

@Overridepublicboolean onOptionsItemSelected(MenuItem item) { // Handle action bar item clicks here. The action bar will // automatically handle clicks on the Home/Up button, so long // as you specify a parent activity in AndroidManifest.xml.

if (mDrawerToggle.onOptionsItemSelected(item)) {returntrue; }

returnsuper.onOptionsItemSelected(item); }publicboolean onPrepareOptionsMenu(Menu menu) {

Log.i("MainActivity", "In on prepare option");returnsuper.onPrepareOptionsMenu(menu);}

/* The click listner for ListView in the navigation drawer */privateclass DrawerItemClickListener implements ListView.OnItemClickListener { @Overridepublicvoid onItemClick(AdapterView<?> parent, View view, int position, long id) { selectItem(position); } }

privatevoid selectItem(int position) { // update the main content by replacing fragments Fragment fragment = new ItemFragment(); Bundle args = new Bundle(); args.putInt(ItemFragment.ARG_ITEM_NUMBER, position); fragment.setArguments(args);

FragmentManager fragmentManager = getFragmentManager(); fragmentManager.beginTransaction().replace(R.id.content_frame, fragment).commit();

// update selected item and title, then close the drawer mDrawerList.setItemChecked(position, true); setTitle(mTitles[position]); mDrawerLayout.closeDrawer(mDrawerList); }

55

Page 56: Sample Projek Akhir Politeknik

@Overridepublicvoid setTitle(CharSequence title) { mTitle = title; getActionBar().setTitle(mTitle); }

@SuppressWarnings("deprecation")@Override

protectedvoid onPostCreate(Bundle savedInstanceState) {super.onPostCreate(savedInstanceState); // Sync the toggle state after onRestoreInstanceState has occurred. mDrawerToggle.syncState(); }

@SuppressWarnings("deprecation")@Override

publicvoid onConfigurationChanged(Configuration newConfig) {super.onConfigurationChanged(newConfig); // Pass any configuration change to the drawer toggls mDrawerToggle.onConfigurationChanged(newConfig); }

publicstaticclass ItemFragment extends Fragment {publicstaticfinal String ARG_ITEM_NUMBER = "item_number";

public ItemFragment() { // Empty constructor required for fragment subclasses }

@Overridepublic View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View rootView = inflater.inflate(R.layout.fragment_item, container, false);int i = getArguments().getInt(ARG_ITEM_NUMBER); String item = getResources().getStringArray(R.array.title_array)[i];

getActivity().setTitle(item);return rootView; } }

activity_drawer.xml

56

Page 57: Sample Projek Akhir Politeknik

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/RelativeLayout1" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@drawable/background" android:gravity="left">

<ListView android:id="@+id/LVCNH" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_marginTop="49dp" tools:listitem="@android:layout/simple_list_item_1">

</ListView>

<EditText android:id="@+id/editText3" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentStart="true" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" android:layout_marginTop="14dp" android:ems="10" android:hint="@string/search_cafe_nonhalal" android:inputType="text|textAutoCorrect|textAutoComplete|textMultiLine" android:textStyle="italic">

<requestFocus /></EditText>

</RelativeLayout>

57

Page 58: Sample Projek Akhir Politeknik

5.3.13 AndroidManifest file setup

Every application must have an Android Manifest.xml file in its roots directory. The manifest

presents essential information about the application to the Android System, information the

system must have before it can run any of application’s code. The components are activities,

services, broadcast receivers, and content providers.

AndroidManifest.xml

<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.foodhunter" android:versionCode="1" android:versionName="1.0">

<uses-sdk android:minSdkVersion="19" android:targetSdkVersion="19" />

<permission android:name="com.example.foodhunter.permission.MAPS_RECEIVE" android:protectionLevel="signature" />

<uses-feature android:glEsVersion="0x00020000" android:required="true" />

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/><uses-permission android:name="android.permission.INTERNET"/><uses-permission

android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/><uses-permission

android:name="android.permission.WRITE_EXTERNAL_STORAGE"/><uses-permission

android:name="android.permission.ACCESS_COARSE_LOCATION"/><uses-permission

android:name="android.permission.ACCESS_FINE_LOCATION"/><uses-permission android:name="android.permission.ACCESS_GPS"/>

<application android:allowBackup="true" android:icon="@drawable/logo3" android:label="@string/app_name" android:theme="@style/AppTheme">

<uses-library android:name="com.google.android.maps"/>

58

Page 59: Sample Projek Akhir Politeknik

<activity android:name="FirstActivity"><intent-filter><action android:name="android.intent.action.MAIN"/><category android:name="android.intent.category.LAUNCHER"/></intent-filter></activity><activity android:name="MainActivity"/><activity android:name="SecondActivity"><meta-data android:name="android.support.PARENT_ACTIVITY" android:value="com.example.foodhunter.MainActivity"/></activity>

<activity android:name="ThirdActivity"><meta-data android:name="android.support.PARENT_ACTIVITY" android:value="com.example.foodhunter.MainActivity"/></activity>

<activity android:name="FourthA_Activity"><meta-data android:name="android.support.PARENT_ACTIVITY" android:value="com.example.foodhunter.SecondActivity" /></activity>

<activity android:name="FourthA_A_Activity"><meta-data android:name="android.support.PARENT_ACTIVITY" android:value="com.example.foodhunter.FourthA_Activity"/></activity><activity android:name="Pic_FourthA_A"><meta-data android:name="android.support.PARENT_ACTIVITY" android:value="com.example.foodhunter.FourthA_A_Activity"/></activity>

<activity android:name="FourthA_B_Activity"><meta-data android:name="android.support.PARENT_ACTIVITY" android:value="com.example.foodhunter.FourthA_Activity"/></activity><activity android:name="Pic_FourthA_B"><meta-data android:name="android.support.PARENT_ACTIVITY" android:value="com.example.foodhunter.FourthA_B_Activity"/></activity>

<activity android:name="FourthA_C_Activity">

59

Page 60: Sample Projek Akhir Politeknik

<meta-data android:name="android.support.PARENT_ACTIVITY" android:value="com.example.foodhunter.FourthA_Activity"/></activity><activity android:name="Pic_FourthA_C"><meta-data android:name="android.support.PARENT_ACTIVITY" android:value="com.example.foodhunter.FourthA_C_Activity"/></activity>

<activity android:name="FourthA_D_Activity"><meta-data android:name="android.support.PARENT_ACTIVITY" android:value="com.example.foodhunter.FourthA_Activity"/></activity><activity android:name="Pic_FourthA_D"><meta-data android:name="android.support.PARENT_ACTIVITY" android:value="com.example.foodhunter.FourthA_D_Activity"/></activity>

<activity android:name="FourthA_E_Activity"><meta-data android:name="android.support.PARENT_ACTIVITY" android:value="com.example.foodhunter.FourthA_Activity"/></activity><activity android:name="Pic_FourthA_E"><meta-data android:name="android.support.PARENT_ACTIVITY" android:value="com.example.foodhunter.FourthA_E_Activity"/></activity>

<activity android:name="FourthA_F_Activity"><meta-data android:name="android.support.PARENT_ACTIVITY" android:value="com.example.foodhunter.FourthA_Activity"/></activity><activity android:name="Pic_FourthA_F"><meta-data android:name="android.support.PARENT_ACTIVITY" android:value="com.example.foodhunter.FourthA_F_Activity"/></activity>

<activity android:name="FourthA_G_Activity"><meta-data android:name="android.support.PARENT_ACTIVITY" android:value="com.example.foodhunter.FourthA_Activity"/></activity><activity android:name="Pic_FourthA_G"><meta-data

60

Page 61: Sample Projek Akhir Politeknik

android:name="android.support.PARENT_ACTIVITY" android:value="com.example.foodhunter.FourthA_G_Activity"/></activity>

<activity android:name="FourthA_H_Activity"><meta-data android:name="android.support.PARENT_ACTIVITY" android:value="com.example.foodhunter.FourthA_Activity"/></activity><activity android:name="Pic_FourthA_H"><meta-data android:name="android.support.PARENT_ACTIVITY" android:value="com.example.foodhunter.FourthA_H_Activity"/></activity>

<activity android:name="FourthA_I_Activity"><meta-data android:name="android.support.PARENT_ACTIVITY" android:value="com.example.foodhunter.FourthA_Activity"/></activity><activity android:name="Pic_FourthA_I"><meta-data android:name="android.support.PARENT_ACTIVITY" android:value="com.example.foodhunter.FourthA_I_Activity"/></activity>

<activity android:name="FourthA_J_Activity"><meta-data android:name="android.support.PARENT_ACTIVITY" android:value="com.example.foodhunter.FourthA_Activity"/></activity><activity android:name="Pic_FourthA_J"><meta-data android:name="android.support.PARENT_ACTIVITY" android:value="com.example.foodhunter.FourthA_J_Activity"/></activity>

<activity android:name="FourthA_K_Activity"><meta-data android:name="android.support.PARENT_ACTIVITY" android:value="com.example.foodhunter.FourthA_Activity"/></activity><activity android:name="Pic_FourthA_K"><meta-data android:name="android.support.PARENT_ACTIVITY" android:value="com.example.foodhunter.FourthA_K_Activity"/></activity>

<activity android:name="FourthA_L_Activity">

61

Page 62: Sample Projek Akhir Politeknik

<meta-data android:name="android.support.PARENT_ACTIVITY" android:value="com.example.foodhunter.FourthA_Activity"/></activity><activity android:name="Pic_FourthA_L"><meta-data android:name="android.support.PARENT_ACTIVITY" android:value="com.example.foodhunter.FourthA_L_Activity"/></activity>

<activity android:name="FourthA_M_Activity"><meta-data android:name="android.support.PARENT_ACTIVITY" android:value="com.example.foodhunter.FourthA_Activity"/></activity><activity android:name="Pic_FourthA_M"><meta-data android:name="android.support.PARENT_ACTIVITY" android:value="com.example.foodhunter.FourthA_M_Activity"/></activity>

<activity android:name="FourthA_N_Activity"><meta-data android:name="android.support.PARENT_ACTIVITY" android:value="com.example.foodhunter.FourthA_Activity"/></activity><activity android:name="Pic_FourthA_N"><meta-data android:name="android.support.PARENT_ACTIVITY" android:value="com.example.foodhunter.FourthA_N_Activity"/></activity>

<activity android:name="FourthA_O_Activity"><meta-data android:name="android.support.PARENT_ACTIVITY" android:value="com.example.foodhunter.FourthA_Activity"/></activity><activity android:name="Pic_FourthA_O"><meta-data android:name="android.support.PARENT_ACTIVITY" android:value="com.example.foodhunter.FourthA_O_Activity"/></activity>

<activity android:name="FourthA_P_Activity"><meta-data android:name="android.support.PARENT_ACTIVITY" android:value="com.example.foodhunter.FourthA_Activity"/></activity><activity android:name="Pic_FourthA_P"><meta-data

62

Page 63: Sample Projek Akhir Politeknik

android:name="android.support.PARENT_ACTIVITY" android:value="com.example.foodhunter.FourthA_P_Activity"/></activity>

<activity android:name="FourthA_Q_Activity"><meta-data android:name="android.support.PARENT_ACTIVITY" android:value="com.example.foodhunter.FourthA_Activity"/></activity><activity android:name="Pic_FourthA_Q"><meta-data android:name="android.support.PARENT_ACTIVITY" android:value="com.example.foodhunter.FourthA_Q_Activity"/></activity>

<activity android:name="FourthB_Activity"><meta-data android:name="android.support.PARENT_ACTIVITY" android:value="com.example.foodhunter.SecondActivity" /></activity>

<activity android:name="FourthB_A_Activity"><meta-data android:name="android.support.PARENT_ACTIVITY" android:value="com.example.foodhunter.FourthB_Activity" /></activity><activity android:name="FourthB_B_Activity"><meta-data android:name="android.support.PARENT_ACTIVITY" android:value="com.example.foodhunter.FourthB_Activity"/></activity><activity android:name="FourthB_C_Activity"><meta-data android:name="android.support.PARENT_ACTIVITY" android:value="com.example.foodhunter.FourthB_Activity"/></activity><activity android:name="FourthB_D_Activity"><meta-data android:name="android.support.PARENT_ACTIVITY" android:value="com.example.foodhunter.FourthB_Activity"/></activity><activity android:name="FourthB_E_Activity"><meta-data android:name="android.support.PARENT_ACTIVITY" android:value="com.example.foodhunter.FourthB_Activity"/></activity>

63

Page 64: Sample Projek Akhir Politeknik

<activity android:name="FourthB_F_Activity"><meta-data android:name="android.support.PARENT_ACTIVITY" android:value="com.example.foodhunter.FourthB_Activity"/></activity>

<activity android:name="Pic_FourthB_A"><meta-data android:name="android.support.PARENT_ACTIVITY" android:value="com.example.foodhunter.FourthB_A_Activity"/></activity><activity android:name="Pic_FourthB_B"><meta-data android:name="android.support.PARENT_ACTIVITY" android:value="com.example.foodhunter.FourthB_B_Activity"/></activity><activity android:name="Pic_FourthB_C"><meta-data android:name="android.support.PARENT_ACTIVITY" android:value="com.example.foodhunter.FourthB_C_Activity"/></activity><activity android:name="Pic_FourthB_D"><meta-data android:name="android.support.PARENT_ACTIVITY" android:value="com.example.foodhunter.FourthB_D_Activity"/></activity><activity android:name="Pic_FourthB_E"><meta-data android:name="android.support.PARENT_ACTIVITY" android:value="com.example.foodhunter.FourthB_E_Activity"/></activity><activity android:name="Pic_FourthB_F"><meta-data android:name="android.support.PARENT_ACTIVITY" android:value="com.example.foodhunter.FourthB_F_Activity"/></activity>

<activity android:name="FourthC_Activity"><meta-data android:name="android.support.PARENT_ACTIVITY" android:value="com.example.foodhunter.SecondActivity" /></activity><activity android:name="FourthC_A_Activity"><meta-data android:name="android.support.PARENT_ACTIVITY" android:value="com.example.foodhunter.FourthC_Activity"/></activity><activity android:name="FourthC_B_Activity"><meta-data

64

Page 65: Sample Projek Akhir Politeknik

android:name="android.support.PARENT_ACTIVITY" android:value="com.example.foodhunter.FourthC_Activity"/></activity><activity android:name="FourthC_C_Activity"><meta-data android:name="android.support.PARENT_ACTIVITY" android:value="com.example.foodhunter.FourthC_Activity"/></activity><activity android:name="FourthC_D_Activity"><meta-data android:name="android.support.PARENT_ACTIVITY" android:value="com.example.foodhunter.FourthC_Activity"/></activity>

<activity android:name="Pic_FourthC_A"><meta-data android:name="android.support.PARENT_ACTIVITY" android:value="com.example.foodhunter.FourthC_A_Activity"/></activity><activity android:name="Pic_FourthC_B"><meta-data android:name="android.support.PARENT_ACTIVITY" android:value="com.example.foodhunter.FourthC_B_Activity"/></activity><activity android:name="Pic_FourthC_C"><meta-data android:name="android.support.PARENT_ACTIVITY" android:value="com.example.foodhunter.FourthC_C_Activity"/></activity><activity android:name="Pic_FourthC_D"><meta-data android:name="android.support.PARENT_ACTIVITY" android:value="com.example.foodhunter.FourthC_D_Activity"/></activity>

<activity android:name="FifthA_Activity"><meta-data android:name="android.support.PARENT_ACTIVITY" android:value="com.example.foodhunter.ThirdActivity" /></activity>

<activity android:name="FifthA_A_Activity"><meta-data android:name="android.support.PARENT_ACTIVITY" android:value="com.example.foodhunter.FifthA_Activity" /></activity><activity android:name="FifthA_B_Activity"><meta-data android:name="android.support.PARENT_ACTIVITY" android:value="com.example.foodhunter.FifthA_Activity" />

65

Page 66: Sample Projek Akhir Politeknik

</activity><activity android:name="FifthA_C_Activity"><meta-data android:name="android.support.PARENT_ACTIVITY" android:value="com.example.foodhunter.FifthA_Activity" /></activity><activity android:name="FifthA_D_Activity"><meta-data android:name="android.support.PARENT_ACTIVITY" android:value="com.example.foodhunter.FifthA_Activity" /></activity><activity android:name="FifthA_E_Activity"><meta-data android:name="android.support.PARENT_ACTIVITY" android:value="com.example.foodhunter.FifthA_Activity" /></activity><activity android:name="FifthA_F_Activity"><meta-data android:name="android.support.PARENT_ACTIVITY" android:value="com.example.foodhunter.FifthA_Activity" /></activity><activity android:name="FifthA_G_Activity"><meta-data android:name="android.support.PARENT_ACTIVITY" android:value="com.example.foodhunter.FifthA_Activity" /></activity><activity android:name="FifthA_H_Activity"><meta-data android:name="android.support.PARENT_ACTIVITY" android:value="com.example.foodhunter.FifthA_Activity" /></activity><activity android:name="FifthA_I_Activity"><meta-data android:name="android.support.PARENT_ACTIVITY" android:value="com.example.foodhunter.FifthA_Activity" /></activity><activity android:name="FifthA_J_Activity"><meta-data android:name="android.support.PARENT_ACTIVITY" android:value="com.example.foodhunter.FifthA_Activity" /></activity><activity android:name="FifthA_K_Activity"><meta-data android:name="android.support.PARENT_ACTIVITY" android:value="com.example.foodhunter.FifthA_Activity" /></activity><activity android:name="FifthA_L_Activity"><meta-data android:name="android.support.PARENT_ACTIVITY" android:value="com.example.foodhunter.FifthA_Activity" />

66

Page 67: Sample Projek Akhir Politeknik

</activity>

<activity android:name="Pic_FifthA_A"><meta-data android:name="android.support.PARENT_ACTIVITY" android:value="com.example.foodhunter.FifthA_A_Activity"/></activity><activity android:name="Pic_FifthA_B"><meta-data android:name="android.support.PARENT_ACTIVITY" android:value="com.example.foodhunter.FifthA_B_Activity"/></activity><activity android:name="Pic_FifthA_C"><meta-data android:name="android.support.PARENT_ACTIVITY" android:value="com.example.foodhunter.FifthA_C_Activity"/></activity><activity android:name="Pic_FifthA_D"><meta-data android:name="android.support.PARENT_ACTIVITY" android:value="com.example.foodhunter.FifthA_D_Activity"/></activity><activity android:name="Pic_FifthA_E"><meta-data android:name="android.support.PARENT_ACTIVITY" android:value="com.example.foodhunter.FifthA_E_Activity"/></activity><activity android:name="Pic_FifthA_F"><meta-data android:name="android.support.PARENT_ACTIVITY" android:value="com.example.foodhunter.FifthA_F_Activity"/></activity><activity android:name="Pic_FifthA_G"><meta-data android:name="android.support.PARENT_ACTIVITY" android:value="com.example.foodhunter.FifthA_G_Activity"/></activity><activity android:name="Pic_FifthA_H"><meta-data android:name="android.support.PARENT_ACTIVITY" android:value="com.example.foodhunter.FifthA_H_Activity"/></activity><activity android:name="Pic_FifthA_I"><meta-data android:name="android.support.PARENT_ACTIVITY" android:value="com.example.foodhunter.FifthA_I_Activity"/></activity><activity android:name="Pic_FifthA_J"><meta-data android:name="android.support.PARENT_ACTIVITY"

67

Page 68: Sample Projek Akhir Politeknik

android:value="com.example.foodhunter.FifthA_J_Activity"/></activity><activity android:name="Pic_FifthA_K"><meta-data android:name="android.support.PARENT_ACTIVITY" android:value="com.example.foodhunter.FifthA_K_Activity"/></activity><activity android:name="Pic_FifthA_L"><meta-data android:name="android.support.PARENT_ACTIVITY" android:value="com.example.foodhunter.FifthA_L_Activity"/></activity>

<activity android:name="FifthB_Activity"><meta-data android:name="android.support.PARENT_ACTIVITY" android:value="com.example.foodhunter.ThirdActivity" /></activity><activity android:name="FifthB_A_Activity"><meta-data android:name="android.support.PARENT_ACTIVITY" android:value="com.example.foodhunter.FifthB_Activity" /></activity><activity android:name="Pic_FifthB_A"><meta-data android:name="android.support.PARENT_ACTIVITY" android:value="com.example.foodhunter.FifthB_A_Activity"/></activity>

<activity android:name="FifthB_B_Activity"><meta-data android:name="android.support.PARENT_ACTIVITY" android:value="com.example.foodhunter.FifthB_Activity" /></activity><activity android:name="Pic_FifthB_B"><meta-data android:name="android.support.PARENT_ACTIVITY" android:value="com.example.foodhunter.FifthB_B_Activity"/></activity>

<meta-data android:name="com.google.android.maps.v2.API_KEY"

android:value="AIzaSyBsdDij2rmKqDhpXFYkwZUS7EMcs3ktRec"/>

<meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" />

68

Page 69: Sample Projek Akhir Politeknik

<activity android:name="ContactActivity"></activity><activity android:name="DrawerActivity"></activity><activity android:name="AdminLogin"></activity><activity android:name="SignInActivity"></activity><activity android:name="SignUPActivity"></activity><activity android:name="InsertActivity"></activity><activity android:name="MenuActivity"></activity>

</application>

</manifest>

5.4 Testing

Testing is process to confirm that all system work as specified. The purpose of testing

is to validate application accuracy and completeness in performing the function as designed .

To complete the testing, we need user cooperation to complete this form as final project

development requirements. For our system and we conducted system with our end-user

which are the PMU community. From this testing, our group gain more ideas that help us to

make improvement in our system. Every comment is very helpful to our system with that it

will us to do better performance. The idea that gives is very good, creative and available to

use in our next performance.

69

Page 70: Sample Projek Akhir Politeknik

5.5 Installation

5.5.1 Setting for software

Download and install Java SE SDK

Install java JDK (version 7)

Set java enviroment (control panel>system>advance setting)>environment setting

path = C:\Program Files\Java\jdk1.8.0_25\bin

JAVA_HOME = C:\Program Files\Java\jdk1.8.0_25

CLASSPATH = C:\Program Files\Java\jdk1.8.0_25

70

Page 71: Sample Projek Akhir Politeknik

Create folder "adt" in drive C:\

Unzip/extract adt-bundle-windows-x86_64-update.zip to "adt" folder

71

Page 72: Sample Projek Akhir Politeknik

Browse to C:\adt\eclipse\ and run eclipse.exe

5.5.2 Setting for hardware

Setting>Developer Option>Enable Developer Option in your device.

Enable USB debugging in Developer Option

72

Page 73: Sample Projek Akhir Politeknik

Attach your android device using USB data cable to your PC.

Windows will try to install adb driver automaticly

If windows fail to install, Install adb driver for your device using

ApkInstaller.exe

5.5.3 Setting for Emulator

eclipse>window>android virtual device manager

5.5.4 Setting Extra installation into android SDK Manager

Tool >Android SDK Tools + Android Platform-tools

Android 5.1.1(API22) >Documentation for Android SDK + SDK Platform +

Samples for SDK + ARM EABI v7a System Image +Google APIs ARM

EABI + Google APIs Intel x86 Atom System Image + Google APIs + Sources

for android SDK

Extras >Android support library + Google USB driver + Intel x86 Emulator

73

Page 74: Sample Projek Akhir Politeknik

CHAPTER 6

6

6.1 Introduction

In Mukah City, our team decided to create a native mobile application system title Food Hunter Application. Mukah is known for it fresh seafood . But despised it fame for fresh seafood, many student do not know where to find the food places that they desire to eat at where. This native mobile application is based on Android Platform. It also helps user to locate food places available in Mukah,Sarawak . It can be used by the community in Politeknik Mukah Sarawak.The method that we are going to use is Waterfall Model based on what we studied in System Analysis & Design subject.

6.2 Problem statement

Problem that we faced during our system construction, our interview deals with the

problem when we have a difficult time to make appointment but we manage to get thru the

problem. At someone point, our system sometime force close when we try to install the Food

Hunter Application to the devices. The intent activity of button not same with activity that

we assigned on this application.

6.3 System Strength and Weakness

Our system strength of the Food Hunter is considered a creative and one good step. This

system will make the users to easily to find location food stall at Mukah City .Besides, some

users don’t know that food stalls have in Mukah so that, this system will help them. The

system will surely use in a long period of time if the system always update and if the system

are truly affective

6.4 Recommendation

User of Food Hunter Application said that Food Hunter Application is highly

recommended to be use among people especially the students, staff and lecturer PMU. They

also suggest to add more function on this application like share this application through social

74

Page 75: Sample Projek Akhir Politeknik

media such as Facebook, Instagram and wechat. So that user can sharing with public people

on media social for location food stall have delicious food at Mukah City.

6.5 Future Enhancement

Food Hunter Application can be introduced to population in Mukah and we will expand

range area to Dalat and Oya to find great food place at Mukah. If Food Hunter successfully

use in future, it will available or can be downloading into Android devices through the Play

Store or Google Store.

6.6 Conclusion

From the result of the presentation on VIVA for on June 2016 session the Food Hunter

Application is considered as a creative idea and few of the PMU community are looking

forward for the system to be successfully develop. As we had been given a chance to present

Food Hunter Application, it helps us to explore further all food stall at Mukah City and any

tradisional food at Mukah . The PMU community should be able to understand about the

system that we planned to develop. Even though there are difficulties in designing the

interface, we manage to solve the problem.

For the conclusion the final year project have teach us many things on how the real

working environment would be. The hardship to success this Food Hunter Application will

surely gave us a real experience that we can apply whenever we get in working world.In the

end,this report and the results of it had been succefull and valuable.

75

Page 76: Sample Projek Akhir Politeknik

REFERENCES

[1] Tutorials Point Simple Easy Learning: ANDROID – Google Maps Tutorial.Retrieved on

31 July 2016 from https://www.tutorialspoint.com/android/android_google_maps.htm

[2] Ravi Tamada, androidhive: Android working with Google Map V2. Retrieved on 31 July

2016 from http://www.androidhive.info/2013/08/android-working-with-google-maps-v2/

[3] Media Prima Digital , JJCM-Jalan Jalan Cari Makan. Retrieved on 30 June 2016 from

https://play.google.com/store/apps/details?id=com.alphapod.jjcm

[4] Android eBooks and Toturials: Navigation Drawer Tutorial. Retrieved on 29 September

2016 fromhttp://www.101apps.co.za/index.php/articles/drawer-navigation.html

76

Page 77: Sample Projek Akhir Politeknik

Appendices

77

Page 78: Sample Projek Akhir Politeknik

Appendix A (Observation)

78

Page 79: Sample Projek Akhir Politeknik

79

Page 80: Sample Projek Akhir Politeknik

Appendix B (Questionnaires)

80

Page 81: Sample Projek Akhir Politeknik

Appendices C (coding)

Setting for google-play-services_lib on eclipse

For this code, get your API key from address website: https://console.developers.google.com/

Your need to login into your Google Account to use the service. After enter your package name

project,copy the API key and insert the key on your AndroidManifest.xml:

<meta-data android:name="com.google.android.maps.v2.API_KEY"

android:value="AIzaSyBsdDij2rmKqDhpXFYkwZUS7EMcs3ktRec"/>

<meta-data

android:name="com.google.amdroid.gms.version"

android:value="@integer/google_play_service_version"/>

The following seven permissions are not required to use Google Maps Android API v2, but

are recommended.

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/><uses-permission android:name="android.permission.INTERNET"/><uses-permission

android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/><uses-permission

android:name="android.permission.WRITE_EXTERNAL_STORAGE"/><uses-permission

android:name="android.permission.ACCESS_COARSE_LOCATION"/><uses-permission

android:name="android.permission.ACCESS_FINE_LOCATION"/><uses-permission android:name="android.permission.ACCESS_GPS"/>

81

Page 82: Sample Projek Akhir Politeknik

import google-play-service-lib

(file>import>android>existing android

Code..>browse>adt>sdk>extra>google>libproject>finish)

n5

82