APPENDIX. Application User. MainActivity.java. RegistrationActivity.java

Size: px
Start display at page:

Download "APPENDIX. Application User. MainActivity.java. RegistrationActivity.java"

Transcription

1 Application User APPENDIX MainActivity.java package com.example.finalproject; import android.content.intent; import android.support.v7.app.appcompatactivity; import android.os.bundle; import android.view.view; import com.google.firebase.auth.firebaseauth; public class MainActivity extends AppCompatActivity { private FirebaseAuth firebaseauth; protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); firebaseauth = FirebaseAuth.getInstance(); public void btnregistration_click(view view){ finish(); Intent i = new Intent(MainActivity.this, RegistrationActivity.class); startactivity(i); public void btnlogin_click(view view){ finish(); Intent i = new Intent(MainActivity.this, LoginActivity.class); startactivity(i); RegistrationActivity.java package com.example.finalproject; import android.app.progressdialog; import android.content.intent; import android.support.annotation.nonnull; import android.support.v7.app.appcompatactivity; import android.os.bundle; import android.util.log; import android.view.view; import android.widget.edittext; import android.widget.toast; import com.firebase.client.firebase; import com.google.android.gms.tasks.oncompletelistener; import com.google.android.gms.tasks.task; import com.google.firebase.auth.authresult; A

2 import com.google.firebase.auth.firebaseauth; import com.google.firebase.auth.firebaseuser; import java.util.hashmap; public class RegistrationActivity extends AppCompatActivity { private EditText txt address; private EditText txtpassword; private EditText txtusernames; private EditText txtaddress; private EditText txtphone; private FirebaseAuth firebaseauth; private Firebase mref; private String ; protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_registration); Firebase.setAndroidContext(this); mref = new Firebase(" 73b47.firebaseio.com/Users"); txt address = (EditText) findviewbyid(r.id.txt registration); txtpassword = (EditText) findviewbyid(r.id.txtpasswordregistration); txtusernames = (EditText) findviewbyid(r.id.txtnama); txtaddress = (EditText) findviewbyid(r.id.txtalamat); txtphone = (EditText) findviewbyid(r.id.txttelp); firebaseauth = FirebaseAuth.getInstance(); if(firebaseauth.getcurrentuser()!= null){ finish(); startactivity(new Intent(getApplicationContext(), ProfileActivity.class)); public void btnregistrationuser_click(view view){ final ProgressDialog progressdialog = ProgressDialog.show(RegistrationActivity.this, "Please Wait...", "Processing...", true); (firebaseauth.createuserwith andpassword(txt addre ss.gettext().tostring(),txtpassword.gettext().tostring())).addoncompletelistener(new OnCompleteListener<AuthResult>() { public void oncomplete(@nonnull Task<AuthResult> task) { progressdialog.dismiss(); if (task.issuccessful()){ String = txt address.gettext().tostring().replace(".",","); String pass = txtpassword.gettext().tostring(); B

3 String nama = txtusernames.gettext().tostring(); String alamat = txtaddress.gettext().tostring(); String notelp = txtphone.gettext().tostring(); HashMap<String, String> datauser = new HashMap<>(); datauser.put("nama", nama ); datauser.put(" ", ); datauser.put("password", pass); datauser.put("alamat", alamat); datauser.put("telepon", notelp); mref.child( ).setvalue(datauser); finish(); Toast.makeText(RegistrationActivity.this, "RegistrationSuccessful",Toast.LENGTH_LONG).sh ow(); Intent i = new Intent(RegistrationActivity.this, ProfileActivity.class); startactivity(i); else { Log.e("ERROR", task.getexception().tostring()); Toast.makeText(RegistrationActivity.this, task.getexception().getmessage(), Toast.LENGTH_LONG).show(); ); LoginActivity.java package com.example.finalproject; import android.app.progressdialog; import android.content.intent; import android.provider.contactscontract; import android.support.annotation.nonnull; import android.support.v7.app.appcompatactivity; import android.os.bundle; import android.util.log; import android.view.view; import android.widget.edittext; import android.widget.toast; import com.firebase.client.firebase; import com.google.android.gms.tasks.oncompletelistener; import com.google.android.gms.tasks.task; import com.google.firebase.auth.authresult; import com.google.firebase.auth.firebaseauth; import com.google.firebase.auth.firebaseuser; C

4 public class LoginActivity extends AppCompatActivity { private EditText txt login; private EditText txtpasswordlogin; private FirebaseAuth firebaseauth; protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_login); firebaseauth = FirebaseAuth.getInstance(); txt login = (EditText) findviewbyid(r.id.txt login); txtpasswordlogin = (EditText) findviewbyid(r.id.txtpasswordlogin); if(firebaseauth.getcurrentuser()!= null){ finish(); startactivity(new Intent(getApplicationContext(), ProfileActivity.class)); public void btnloginuser_click(view view){ final ProgressDialog progressdialog = ProgressDialog.show(LoginActivity.this, "Please Wait...", "Processing...", true); (firebaseauth.signinwith andpassword(txt login.get Text().toString(), txtpasswordlogin.gettext().tostring())).addoncompletelistener(new OnCompleteListener<AuthResult>() { public void oncomplete(@nonnull Task<AuthResult> task) { progressdialog.dismiss(); if (task.issuccessful()) { finish(); Toast.makeText(LoginActivity.this, "Login Successful", Toast.LENGTH_LONG).show(); Intent i = new Intent(LoginActivity.this, ProfileActivity.class); startactivity(i); else{ Log.e("ERROR", task.getexception().tostring()); Toast.makeText(LoginActivity.this,task.getException().getMessage(), Toast.LENGTH_LONG).show(); ); D

5 ProfileActivity.java package com.example.finalproject; import android.*; import android.content.intent; import android.content.pm.packagemanager; import android.support.v4.app.activitycompat; import android.support.v7.app.appcompatactivity; import android.os.bundle; import android.view.view; import android.widget.button; import android.widget.textview; import android.widget.toast; import com.google.firebase.auth.firebaseauth; import com.google.firebase.auth.firebaseuser; public class ProfileActivity extends AppCompatActivity { static final int MY_PERMISSIONS_REQUEST_ACCESS_FINE_LOCATION = 1; private FirebaseAuth firebaseauth; protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_profile); getmylocation(); firebaseauth = FirebaseAuth.getInstance(); FirebaseUser FirebaseCurrentUser = FirebaseAuth.getInstance().getCurrentUser(); Toast.makeText(this, "" + FirebaseCurrentUser.get (), Toast.LENGTH_SHORT).show(); public void btnpesan_click(view view){ Intent i = new Intent(ProfileActivity.this, PesanActivity.class); startactivity(i); public void btnhistory_click(view view){ Intent i = new Intent(ProfileActivity.this, HistoryActivity.class); startactivity(i); public void btnbarang_click(view view){ Intent i = new Intent(ProfileActivity.this, ListBarangActivity.class); startactivity(i); public void btntrack_click(view view){ Intent i = new Intent(ProfileActivity.this, TrackOrderActivity.class); startactivity(i); public void btnsignout_click(view view) { firebaseauth.signout(); finish(); E

6 startactivity(new Intent(this, LoginActivity.class)); private void getmylocation() { if(activitycompat.checkselfpermission(this, android.manifest.permission.access_fine_location)!= PackageManager.PERMISSION_GRANTED &&ActivityCompat.checkSelfPermission(this, android.manifest.permission.access_coarse_location)!= PackageManager.PERMISSION_GRANTED) { ActivityCompat.requestPermissions(ProfileActivity.this, new String[] {android.manifest.permission.access_fine_location, MY_PERMISSIONS_REQUEST_ACCESS_FINE_LOCATION); return; ListBarang.java package com.example.finalproject; import android.support.v7.app.appcompatactivity; import android.os.bundle; import android.widget.arrayadapter; import android.widget.listview; import com.firebase.client.childeventlistener; import com.firebase.client.datasnapshot; import com.firebase.client.firebase; import com.firebase.client.firebaseerror; import com.firebase.client.query; import com.google.firebase.auth.firebaseauth; import java.util.arraylist; public class ListBarangActivity extends AppCompatActivity { private Firebase mref; private ListView mlistview; private ArrayList<Object> barang = new ArrayList<>(); protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_list_barang); Firebase.setAndroidContext(this); mref = new Firebase(" 73b47.firebaseio.com/DaftarBarang"); mlistview = (ListView) findviewbyid(r.id.lvbarang); final ArrayAdapter<Object> arrayadapter = new ArrayAdapter<>(this, android.r.layout.simple_list_item_1, barang); mlistview.setadapter(arrayadapter); mref.addchildeventlistener(new ChildEventListener() { F

7 public void onchildadded(datasnapshot datasnapshot, String s) { Object value = datasnapshot.getvalue().tostring().replace("{","").replace("","").replace(",","\n"); barang.add(value); arrayadapter.notifydatasetchanged(); public void onchildchanged(datasnapshot datasnapshot, String s) { public void onchildremoved(datasnapshot datasnapshot) { public void onchildmoved(datasnapshot datasnapshot, String s) { public void oncancelled(firebaseerror firebaseerror) { ); PesanActivity.java package com.example.finalproject; import android.content.context; import android.content.intent; import android.content.pm.packagemanager; import android.graphics.color; import android.location.location; import android.location.locationmanager; import android.os.asynctask; import android.os.bundle; import android.support.annotation.nonnull; import android.support.v4.app.activitycompat; import android.support.v4.app.fragmentactivity; import android.util.log; import android.view.view; import android.widget.button; import android.widget.edittext; import android.widget.textview; import android.widget.toast; import com.akexorcist.googledirection.directioncallback; import com.akexorcist.googledirection.googledirection; import com.akexorcist.googledirection.constant.transportmode; import com.akexorcist.googledirection.model.direction; import com.akexorcist.googledirection.util.directionconverter; G

8 import com.firebase.client.firebase; import com.google.android.gms.common.api.googleapiclient; import com.google.android.gms.location.locationservices; import com.google.android.gms.maps.cameraupdatefactory; import com.google.android.gms.maps.googlemap; import com.google.android.gms.maps.onmapreadycallback; import com.google.android.gms.maps.supportmapfragment; import com.google.android.gms.maps.model.latlng; import com.google.android.gms.maps.model.markeroptions; import com.google.firebase.auth.firebaseauth; import com.google.firebase.auth.firebaseuser; import android.manifest; import org.apache.http.httpresponse; import org.apache.http.client.httpclient; import org.apache.http.client.methods.httpget; import org.apache.http.impl.client.defaulthttpclient; import org.json.jsonarray; import org.json.jsonexception; import org.json.jsonobject; import java.io.bufferedreader; import java.io.ioexception; import java.io.inputstream; import java.io.inputstreamreader; import java.net.httpurlconnection; import java.net.malformedurlexception; import java.net.url; import java.text.dateformat; import java.util.arraylist; import java.util.date; import java.util.hashmap; import java.util.concurrent.executionexception; public class PesanActivity extends FragmentActivity implements OnMapReadyCallback { private GoogleMap mmap; private EditText txtnamapembeli; private EditText txtalamatpembeli; private EditText txttelppembeli; private EditText txtbarangdipesan; private EditText txtquantity; private Button btnoke; private Firebase mref; private Firebase mref1; private Firebase mref2; public String lat; public String longi; Double longitude1; Double latitude1; private String tanggal = DateFormat.getDateTimeInstance().format(new Date()); private FirebaseAuth firebaseauth; private String ; private LatLng toko; private LatLng origin; private LatLng destination; H

9 private TextView tvdistance; private TextView tvduration; private String urls; String s= " "; String s1=" "; String jarak; String waktu; protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_pesan); // Obtain the SupportMapFragment and get notified when the map is ready to be used. SupportMapFragment mapfragment = (SupportMapFragment) getsupportfragmentmanager().findfragmentbyid(r.id.map); mapfragment.getmapasync(this); Firebase.setAndroidContext(this); firebaseauth = FirebaseAuth.getInstance(); FirebaseUser FirebaseCurrentUser = FirebaseAuth.getInstance().getCurrentUser(); = FirebaseCurrentUser.get ().replace(".", ","); txtnamapembeli = (EditText) findviewbyid(r.id.txtnama); txtalamatpembeli = (EditText) findviewbyid(r.id.txtalamat); txttelppembeli = (EditText) findviewbyid(r.id.txttelpon); txtbarangdipesan = (EditText) findviewbyid(r.id.txtbarang); txtquantity = (EditText) findviewbyid(r.id.txtjumlah); btnoke = (Button) findviewbyid(r.id.btnsubmits); tvdistance = (TextView) findviewbyid(r.id.tvjarak); tvduration = (TextView) findviewbyid(r.id.tvdurasi); mref = new Firebase(" 73b47.firebaseio.com/DataToko"); public void onmapready(googlemap googlemap) { mmap = googlemap; if (ActivityCompat.checkSelfPermission(this, android.manifest.permission.access_fine_location)!= PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this, android.manifest.permission.access_coarse_location)!= PackageManager.PERMISSION_GRANTED) { // TODO: Consider calling // ActivityCompat#requestPermissions // here to request the missing permissions, and then overriding // public void onrequestpermissionsresult(int requestcode, String[] permissions, // int[] grantresults) // to handle the case where the user grants the permission. See the documentation I

10 // for ActivityCompat#requestPermissions for more details. return; mmap.setmylocationenabled(true); LocationManager locationmanager = (LocationManager) getsystemservice(context.location_service); Location mylocation = locationmanager.getlastknownlocation(locationmanager.passive_provi DER); longitude1 = mylocation.getlongitude(); latitude1 = mylocation.getlatitude(); LatLng lokasi = new LatLng(latitude1, longitude1); mmap.addmarker(new MarkerOptions().position(lokasi)); mmap.movecamera(cameraupdatefactory.newlatlngzoom(lokasi, 18)); toko = new LatLng( , ); lat = Double.toString(latitude1); longi = Double.toString(longitude1); public void btnsubmits_click(view view) { final String NamaPembeli = txtnamapembeli.gettext().tostring(); final String AlamatPembeli = txtalamatpembeli.gettext().tostring(); final String Telp = txttelppembeli.gettext().tostring(); final String Barang = txtbarangdipesan.gettext().tostring(); final String Jumlah = txtquantity.gettext().tostring(); String status = "Belum Diproses"; HashMap<String, String> datatoko = new HashMap<>(); datatoko.put("nama", NamaPembeli); datatoko.put("alamat", AlamatPembeli); datatoko.put("telepon", Telp); datatoko.put("barang", Barang); datatoko.put("quantity", Jumlah); datatoko.put("latitude", lat); datatoko.put("longitude", longi); datatoko.put("tanggal", tanggal); datatoko.put("status", status); datatoko.put(" ", ); mref.push().setvalue(datatoko); Toast.makeText(PesanActivity.this, "Pemesanan telah berhasil", Toast.LENGTH_LONG).show(); String serverkey = "AIzaSyATk8ph2- yclucavafh6isxahq7jp4kyn0"; origin = new LatLng(latitude1, longitude1); destination = toko; urls = " units=imperial&origins=" + latitude1 + "," + longitude1 + "&destinations= , &key=aizasyatk8ph2- yclucavafh6isxahq7jp4kyn0"; new ParsingJson(PesanActivity.this).execute(urls); J

11 mmap.movecamera(cameraupdatefactory.newlatlngzoom(origin, 17)); GoogleDirection.withServerKey(serverKey).from(origin).to(destination).transportMode(TransportMode.DRIVING).execute(new DirectionCallback() { public void ondirectionsuccess(direction direction, String rawbody) { if (direction.isok()) { mmap.addmarker(new MarkerOptions().position(origin)); mmap.addmarker(new MarkerOptions().position(destination).title("Mr. Yanto Stores")); ArrayList<LatLng> directionpositionlist = direction.getroutelist().get(0).getleglist().get(0).getdirectionpo int(); mmap.addpolyline(directionconverter.cr eatepolyline(pesanactivity.this, directionpositionlist, 2, Color.RED)); public void ondirectionfailure(throwable t) { // Do something here ); private class ParsingJson extends AsyncTask<String, Void, String>{ public ParsingJson(PesanActivity pesanactivity) { protected String doinbackground(string... params) { try { URL url=new URL(params[0]); HttpURLConnection con= (HttpURLConnection) url.openconnection(); con.setrequestmethod("get"); con.connect(); int statuscode=con.getresponsecode(); if(statuscode==httpurlconnection.http_ok) { BufferedReader br=new BufferedReader(new InputStreamReader(con.getInputStream())); StringBuilder sb=new StringBuilder(); String line=br.readline(); while(line!=null) { sb.append(line); K

12 line=br.readline(); String json=sb.tostring(); JSONObject root=new JSONObject(json); JSONArray array_rows=root.getjsonarray("rows"); JSONObject object_rows=array_rows.getjsonobject(0); JSONArray array_elements=object_rows.getjsonarray("elements"); JSONObject object_elements=array_elements.getjsonobject(0); JSONObject object_duration=object_elements.getjsonobject("duration"); JSONObject object_distance=object_elements.getjsonobject("distance"); return object_duration.getstring("value") +","+object_distance.getstring("value"); catch (MalformedURLException e) { Log.d("error", "error1"); catch (IOException e) { Log.d("error", "error2"); catch (JSONException e) { Log.d("error","error3"); return null; protected void onpostexecute(string adouble) { super.onpostexecute(adouble); if(adouble!=null) { setdouble(adouble); else Toast.makeText(PesanActivity.this, "Error Please Try Again", Toast.LENGTH_SHORT).show(); private void setdouble(string result) { String res[]=result.split(","); Double min=double.parsedouble(res[0])/60; int dist=integer.parseint(res[1])/1000; tvduration.settext("waktu Sampai= " + (int) (min / 60) + " hr " + (int) (min % 60) + " mins"); tvdistance.settext("jarak = " + dist + " Kilometers"); L

13 HistoryActivity.java package com.example.finalproject; import android.support.v7.app.appcompatactivity; import android.os.bundle; import android.widget.arrayadapter; import android.widget.listview; import android.widget.toast; import com.firebase.client.childeventlistener; import com.firebase.client.datasnapshot; import com.firebase.client.firebase; import com.firebase.client.firebaseerror; import com.firebase.client.query; import com.google.firebase.auth.firebaseauth; import com.google.firebase.auth.firebaseuser; import java.util.arraylist; public class HistoryActivity extends AppCompatActivity { private Firebase mref; private FirebaseAuth firebaseauth; private ListView mlistview; private ArrayList<Object> historydata = new ArrayList<>(); private String ; protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_history); firebaseauth = FirebaseAuth.getInstance(); Firebase.setAndroidContext(this); FirebaseUser FirebaseCurrentUser = FirebaseAuth.getInstance().getCurrentUser(); = FirebaseCurrentUser.get ().replace(".",","); mref = new Firebase(" 73b47.firebaseio.com/DataToko"); Query ref = mref.orderbychild(" ").equalto( ); mlistview = (ListView) findviewbyid(r.id.listhistory); final ArrayAdapter<Object> arrayadapter = new ArrayAdapter<>(this, android.r.layout.simple_list_item_1, historydata); mlistview.setadapter(arrayadapter); ref.addchildeventlistener(new ChildEventListener() { public void onchildadded(datasnapshot datasnapshot, String s) { Object value = datasnapshot.getvalue().tostring().replace("{","").replace("","").replace(",","\n"); historydata.add(value); arrayadapter.notifydatasetchanged(); public void onchildchanged(datasnapshot datasnapshot, String s) { M

14 { String s) { ); public void onchildremoved(datasnapshot datasnapshot) public void onchildmoved(datasnapshot datasnapshot, public void oncancelled(firebaseerror firebaseerror) { TrackOrderActivity.java package com.example.finalproject; import android.content.context; import android.content.pm.packagemanager; import android.graphics.color; import android.location.location; import android.location.locationmanager; import android.support.v4.app.activitycompat; import android.support.v4.app.fragmentactivity; import android.os.bundle; import android.widget.textview; import android.widget.toast; import com.akexorcist.googledirection.directioncallback; import com.akexorcist.googledirection.googledirection; import com.akexorcist.googledirection.constant.transportmode; import com.akexorcist.googledirection.model.direction; import com.akexorcist.googledirection.util.directionconverter; import com.firebase.client.childeventlistener; import com.firebase.client.datasnapshot; import com.firebase.client.firebase; import com.firebase.client.firebaseerror; import com.firebase.client.query; import com.firebase.client.valueeventlistener; import com.google.android.gms.maps.cameraupdatefactory; import com.google.android.gms.maps.googlemap; import com.google.android.gms.maps.onmapreadycallback; import com.google.android.gms.maps.supportmapfragment; import com.google.android.gms.maps.model.latlng; import com.google.android.gms.maps.model.markeroptions; import com.google.firebase.auth.firebaseauth; import com.google.firebase.auth.firebaseuser; import java.util.arraylist; public class TrackOrderActivity extends FragmentActivity implements OnMapReadyCallback { private GoogleMap mmap; private Firebase mref; N

15 private Double latitude1; private Double longitude1; private Query query; private String ; private String lats; private String longs; private String KEYID; private LatLng origin; private LatLng destination; private Double lati; private Double longi; private Firebase keyfb; private TextView ND; private TextView TD; private String namadriver; private String telpondriver; protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_track_order); // Obtain the SupportMapFragment and get notified when the map is ready to be used. SupportMapFragment mapfragment = (SupportMapFragment) getsupportfragmentmanager().findfragmentbyid(r.id.map); mapfragment.getmapasync(this); Firebase.setAndroidContext(this); FirebaseUser FirebaseCurrentUser = FirebaseAuth.getInstance().getCurrentUser(); = FirebaseCurrentUser.get ().replace(".",","); ND = (TextView) findviewbyid(r.id.txtnamadriver); TD = (TextView) findviewbyid(r.id.txttelpondriver); mref = new Firebase(" 73b47.firebaseio.com/DataToko"); query = mref.orderbychild(" ").equalto( ); query.addchildeventlistener(new ChildEventListener() { public void onchildadded(datasnapshot datasnapshot, String s) { namadriver = datasnapshot.child("namadriver").getvalue().tostring(); telpondriver = datasnapshot.child("telepondriver").getvalue().tostring(); public void onchildchanged(datasnapshot datasnapshot, String s) { KEYID = datasnapshot.getkey(); String value = datasnapshot.getvalue().tostring().replace("{", "").replace("", "").replace(",", "\n"); lats = datasnapshot.child("latdriver").getvalue().tostring(); O

16 longs = datasnapshot.child("longdriver").getvalue().tostring(); namadriver = datasnapshot.child("namadriver").getvalue().tostring(); telpondriver = datasnapshot.child("telepondriver").getvalue().tostring(); buatpeta(); public void onchildremoved(datasnapshot datasnapshot) { public void onchildmoved(datasnapshot datasnapshot, String s) { public void oncancelled(firebaseerror firebaseerror) { ); LocationManager locationmanager = (LocationManager) getsystemservice(context.location_service); if (ActivityCompat.checkSelfPermission(this, android.manifest.permission.access_fine_location)!= PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this, android.manifest.permission.access_coarse_location)!= PackageManager.PERMISSION_GRANTED) { // TODO: Consider calling return; Location mylocation = locationmanager.getlastknownlocation(locationmanager.passive_provi DER); longitude1 = mylocation.getlongitude(); latitude1 = mylocation.getlatitude(); public void onmapready(googlemap googlemap) { mmap = googlemap; origin = new LatLng(latitude1,longitude1); mmap.addmarker(new MarkerOptions().position(origin)); mmap.movecamera(cameraupdatefactory.newlatlngzoom(origin, 15)); public void buatpeta(){ mmap.clear(); lati = Double.parseDouble(lats); longi = Double.parseDouble(longs); String serverkey = "AIzaSyATk8ph2- yclucavafh6isxahq7jp4kyn0"; origin = new LatLng(latitude1, longitude1); destination = new LatLng(lati,longi); P

17 mmap.movecamera(cameraupdatefactory.newlatlngzoom(origin, 15)); GoogleDirection.withServerKey(serverKey).from(origin).to(destination).transportMode(TransportMode.DRIVING).execute(new DirectionCallback() { public void ondirectionsuccess(direction direction, String rawbody) { if (direction.isok()) { mmap.addmarker(new MarkerOptions().position(origin)); mmap.addmarker(new MarkerOptions().position(destination)); ArrayList<LatLng> directionpositionlist = direction.getroutelist().get(0).getleglist().get(0).getdirectionpo int(); mmap.addpolyline(directionconverter.cr eatepolyline(trackorderactivity.this, directionpositionlist, 2, Color.RED)); public void ondirectionfailure(throwable t) { // Do something here ); ND.setText("Nama Driver: "+namadriver+""); TD.setText("Telepon Driver: "+telpondriver+""); activity_login.xml <?xml version="1.0" encoding="utf-8"?> <android.support.constraint.constraintlayout xmlns:android=" xmlns:app=" xmlns:tools=" android:layout_height="match_parent" tools:context="com.example.finalproject.loginactivity"> <TextView android:id="@+id/textview" android:layout_width="174dp" android:layout_height="36dp" android:text=" Address :" android:textsize="18sp" tools:ignore="hardcodedtext,missingconstraints" Q

18 app:layout_constrainttop_totopof="parent" android:layout_margintop="8dp" /> <EditText android:layout_width="322dp" android:layout_height="42dp" android:ems="10" android:inputtype="text address" tools:ignore="labelfor,missingconstraints" android:layout_margintop="8dp" /> <TextView android:layout_width="173dp" android:layout_height="45dp" android:text="password :" android:textsize="18sp" tools:ignore="hardcodedtext,missingconstraints" android:layout_margintop="8dp" /> <Button android:onclick="btnloginuser_click" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="login" tools:ignore="hardcodedtext,missingconstraints" app:layout_constraintright_torightof="parent" android:layout_margintop="8dp" /> <EditText android:layout_width="322dp" android:layout_height="50dp" android:ems="10" android:inputtype="textpassword" tools:ignore="labelfor,missingconstraints" android:layout_margintop="8dp" /> </android.support.constraint.constraintlayout> R

19 activity_registration.xml <?xml version="1.0" encoding="utf-8"?> <android.support.constraint.constraintlayout xmlns:android=" xmlns:app=" xmlns:tools=" android:layout_height="match_parent" tools:context="com.example.finalproject.registrationactivity"> <EditText android:layout_width="323dp" android:layout_height="48dp" android:layout_marginbottom="8dp" android:layout_margintop="8dp" android:ems="10" android:hint=" " android:inputtype="text address" n" app:layout_constrainthorizontal_bias="0.0" app:layout_constraintright_torightof="parent" app:layout_constrainttop_totopof="parent" tools:ignore="labelfor,missingconstraints" /> <Button android:onclick="btnregistrationuser_click" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="submit" tools:ignore="hardcodedtext,missingconstraints" app:layout_constraintright_torightof="parent" app:layout_constrainthorizontal_bias="0.41" app:layout_constraintbottom_tobottomof="parent" android:layout_marginbottom="75dp" /> <EditText android:layout_width="322dp" android:layout_height="47dp" android:layout_marginbottom="20dp" android:ems="10" android:hint="password" android:inputtype="textpassword" S

20 app:layout_constrainthorizontal_bias="0.0" app:layout_constraintright_torightof="parent" tools:ignore="labelfor,missingconstraints" /> <EditText android:layout_width="320dp" android:layout_height="53dp" android:layout_marginbottom="43dp" android:layout_marginleft="0dp" android:ems="10" android:hint="telepon" android:inputtype="phone" app:layout_constrainthorizontal_bias="0.142" app:layout_constraintright_torightof="parent" /> <EditText android:layout_width="320dp" android:layout_height="53dp" android:layout_marginbottom="24dp" android:layout_marginleft="0dp" android:ems="10" android:hint="alamat" android:inputtype="textpersonname" app:layout_constrainthorizontal_bias="0.142" app:layout_constraintright_torightof="parent" /> <EditText android:layout_width="320dp" android:layout_height="53dp" android:layout_marginbottom="16dp" android:layout_marginleft="0dp" android:ems="10" android:hint="nama" android:inputtype="textpersonname" app:layout_constrainthorizontal_bias="0.142" app:layout_constraintright_torightof="parent" /> </android.support.constraint.constraintlayout> T

21 activity_profile.xml <?xml version="1.0" encoding="utf-8"?> <android.support.constraint.constraintlayout xmlns:android=" xmlns:app=" xmlns:tools=" android:layout_height="match_parent" tools:context="com.example.finalproject.profileactivity"> <TextView android:layout_width="227dp" android:layout_height="38dp" android:text="welcome User" android:textsize="20dp" tools:ignore="hardcodedtext,missingconstraints,spusage" app:layout_constrainttop_totopof="parent" android:layout_margintop="28dp" app:layout_constrainthorizontal_bias="0.216" android:layout_marginbottom="8dp" app:layout_constraintvertical_bias="0.0" /> <Button android:onclick="btnpesan_click" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="pesan Gas Sekarang" app:layout_constraintright_torightof="parent" tools:ignore="hardcodedtext,missingconstraints" app:layout_constrainthorizontal_bias="0.406" android:layout_marginbottom="38dp" /> <Button android:onclick="btnsignout_click" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginright="-3dp" android:text="sign Out" app:layout_constraintright_torightof="parent" app:layout_constraintbottom_tobottomof="parent" android:layout_marginbottom="447dp" app:layout_constrainttop_totopof="parent" android:layout_margintop="8dp" U

22 app:layout_constraintvertical_bias="0.0" /> <Button android:onclick="btnhistory_click" android:layout_width="170dp" android:layout_height="57dp" android:text="tampil History Order" app:layout_constraintright_torightof="parent" app:layout_constrainthorizontal_bias="0.393" android:layout_marginbottom="25dp" /> <Button android:layout_width="158dp" android:layout_height="56dp" android:layout_marginbottom="44dp" android:onclick="btnbarang_click" android:text="lihat Barang" app:layout_constrainthorizontal_bias="0.404" app:layout_constraintright_torightof="parent" /> <Button android:onclick="btntrack_click" android:layout_width="172dp" android:layout_height="54dp" android:layout_marginbottom="76dp" android:text="track Orderan Saat Ini" app:layout_constraintbottom_tobottomof="parent" app:layout_constrainthorizontal_bias="0.418" app:layout_constraintright_torightof="parent" /> </android.support.constraint.constraintlayout> activity_main.xml <?xml version="1.0" encoding="utf-8"?> <android.support.constraint.constraintlayout xmlns:android=" xmlns:app=" xmlns:tools=" V

23 android:layout_height="match_parent" tools:context="com.example.finalproject.mainactivity"> <Button android:layout_width="258dp" android:layout_height="68dp" android:onclick="btnregistration_click" android:text="registration" tools:ignore="hardcodedtext,missingconstraints" app:layout_constraintright_torightof="parent" android:layout_marginbottom="8dp" app:layout_constrainttop_totopof="parent" android:layout_margintop="8dp" app:layout_constraintvertical_bias="0.444" /> <Button android:layout_width="218dp" android:layout_height="55dp" android:onclick="btnlogin_click" android:text="login" tools:ignore="hardcodedtext,missingconstraints" app:layout_constraintright_torightof="parent" app:layout_constraintbottom_tobottomof="parent" android:layout_marginbottom="213dp" /> </android.support.constraint.constraintlayout> activity_list_barang.xml <?xml version="1.0" encoding="utf-8"?> <android.support.constraint.constraintlayout xmlns:android=" xmlns:app=" xmlns:tools=" android:layout_height="match_parent" tools:context="com.example.finalproject.listbarangactivity"> <ListView android:layout_width="368dp" android:layout_height="495dp" tools:layout_editor_absolutex="8dp" tools:layout_editor_absolutey="8dp" /> </android.support.constraint.constraintlayout> W

24 activity_pesan.xml <LinearLayout xmlns:android=" xmlns:map=" xmlns:tools=" android:layout_height="match_parent" android:weightsum="1" android:orientation="vertical"> <TextView android:layout_height="wrap_content" android:text="textview" /> <TextView android:layout_height="wrap_content" android:text="textview" /> <fragment android:name="com.google.android.gms.maps.supportmapfragment" android:layout_height="120dp" tools:context="com.example.finalproject.pesanactivity" android:layout_weight="0.40" /> <EditText android:layout_height="wrap_content" android:ems="10" android:hint="nama" android:inputtype="textpersonname" /> <EditText android:layout_height="wrap_content" android:layout_weight="0.03" android:ems="10" android:hint="alamat" android:inputtype="textpersonname" /> <EditText android:layout_height="wrap_content" android:ems="10" android:hint="telepon" android:inputtype="phone" /> <EditText android:layout_height="wrap_content" android:ems="10" X

25 android:hint="barang" android:inputtype="textpersonname" /> <EditText android:layout_height="wrap_content" android:ems="10" android:hint="jumlah Barang" android:inputtype="textpersonname" /> <Button android:layout_height="wrap_content" android:onclick="btnsubmits_click" android:text="submit" /> </LinearLayout> activity_history <?xml version="1.0" encoding="utf-8"?> <android.support.constraint.constraintlayout xmlns:android=" xmlns:app=" xmlns:tools=" android:layout_height="match_parent" tools:context="com.example.finalproject.historyactivity"> <ListView android:layout_width="368dp" android:layout_height="495dp" tools:layout_editor_absolutex="8dp" tools:layout_editor_absolutey="8dp" /> </android.support.constraint.constraintlayout> activity_track_order.xml <LinearLayout xmlns:android=" xmlns:map=" xmlns:tools=" android:layout_height="match_parent" android:weightsum="1" android:orientation="vertical"> <fragment xmlns:android=" xmlns:map=" xmlns:tools=" android:name="com.google.android.gms.maps.supportmapfragment" Y

26 android:layout_height="410dp" tools:context="com.example.finalproject.trackorderactivity" android:layout_weight="0.91" /> <TextView android:layout_height="30dp" android:text="textview" /> <TextView android:layout_height="30dp" android:text="textview" /> </LinearLayout> build.gradle(project: FinalProject) buildscript { repositories { jcenter() dependencies { classpath 'com.android.tools.build:gradle:2.3.0' classpath 'com.google.gms:google-services:3.0.0' allprojects { repositories { jcenter() task clean(type: Delete) { delete rootproject.builddir build.gradle(module:app) apply plugin: 'com.android.application' android { compilesdkversion 25 buildtoolsversion "25.0.2" defaultconfig { applicationid "com.example.finalproject" minsdkversion 17 targetsdkversion 25 versioncode 1 versionname "1.0" Z

27 testinstrumentationrunner "android.support.test.runner.androidjunitrunner" packagingoptions { exclude 'META-INF/DEPENDENCIES.txt' exclude 'META-INF/LICENSE.txt' exclude 'META-INF/NOTICE.txt' exclude 'META-INF/NOTICE' exclude 'META-INF/LICENSE' exclude 'META-INF/DEPENDENCIES' exclude 'META-INF/notice.txt' exclude 'META-INF/license.txt' exclude 'META-INF/dependencies.txt' exclude 'META-INF/LGPL2.1' buildtypes { release { minifyenabled false proguardfiles getdefaultproguardfile('proguardandroid.txt'), 'proguard-rules.pro' dependencies { compile filetree(dir: 'libs', include: ['*.jar']) androidtestcompile('com.android.support.test.espresso:espressocore:2.2.2', { exclude group: 'com.android.support', module: 'supportannotations' ) compile files('libs/android-async-http jar') compile files('libs/httpclient jar') compile files('libs/http-core-4.1.jar') compile 'com.android.support:appcompat-v7:25.3.1' compile 'com.android.support.constraint:constraint-layout:1.0.2' compile 'com.google.firebase:firebase-auth:10.2.1' compile 'com.google.android.gms:play-services-maps:10.2.1' compile 'com.google.android.gms:play-services-auth:10.2.1' compile 'com.google.firebase:firebase-database:10.2.1' compile 'com.google.firebase:firebase-messaging:10.2.1' compile 'com.firebase:firebase-client-android:2.3.1' compile 'com.google.android.gms:play-services-location:10.2.1' compile 'com.akexorcist:googledirectionlibrary:1.0.4' testcompile 'junit:junit:4.12' apply plugin: 'com.google.gms.google-services' AA

28 Application Courier MainActivity.java package com.example.finalprojectdriver; import android.content.intent; import android.support.v7.app.appcompatactivity; import android.os.bundle; import android.view.view; public class MainActivity extends AppCompatActivity { protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); public void btndaftar_click(view view) { finish(); Intent i = new Intent(MainActivity.this, DaftarActivity.class); startactivity(i); public void btnlogin_click(view view) { finish(); Intent i = new Intent(MainActivity.this, LoginActivity.class); startactivity(i); DaftarActivity.java package com.example.finalprojectdriver; import android.app.progressdialog; import android.content.intent; import android.support.annotation.nonnull; import android.support.v7.app.appcompatactivity; import android.os.bundle; import android.util.log; import android.view.view; import android.widget.button; import android.widget.edittext; import android.widget.toast; import com.firebase.client.firebase; import com.google.android.gms.tasks.oncompletelistener; import com.google.android.gms.tasks.task; import com.google.firebase.auth.authresult; import com.google.firebase.auth.firebaseauth; import java.util.hashmap; public class DaftarActivity extends AppCompatActivity { private EditText txt s; private EditText txtpasswords; private EditText txtusernames; private EditText txtphone; AB

29 private EditText txtaddress; private Button btnsub; private FirebaseAuth firebaseauth; private Firebase mref; private Bundle ext; protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_daftar); Firebase.setAndroidContext(this); mref = new Firebase(" 73b47.firebaseio.com/DaftarDriver"); txt s = (EditText) findviewbyid(r.id.txt ); txtpasswords = (EditText) findviewbyid(r.id.txtpassword); txtusernames = (EditText) findviewbyid(r.id.txtusername); txtphone = (EditText) findviewbyid(r.id.txttelpon); txtaddress = (EditText) findviewbyid(r.id.txtalamatdriver); btnsub = (Button) findviewbyid(r.id.btnsubmit); firebaseauth = FirebaseAuth.getInstance(); if(firebaseauth.getcurrentuser()!= null){ finish(); startactivity(new Intent(getApplicationContext(), ProfileDriverActivity.class)); public void btnsubmit_click(view view){ final ProgressDialog progressdialog = ProgressDialog.show(DaftarActivity.this, "Please Wait...", "Processing...", true); (firebaseauth.createuserwith andpassword(txt s.gettext().tostring(),txtpasswords.gettext().tostring())).addoncompletelistener(new OnCompleteListener<AuthResult>() { public void oncomplete(@nonnull Task<AuthResult> task) { progressdialog.dismiss(); if (task.issuccessful()){ String = txt s.gettext().tostring().replace(".",","); String pass = txtpasswords.gettext().tostring(); String username = txtusernames.gettext().tostring(); String phone = txtphone.gettext().tostring(); String address = txtaddress.gettext().tostring(); HashMap<String, String> datadriver = new HashMap<>(); datadriver.put("nama", username); datadriver.put(" ", ); datadriver.put("password", pass); datadriver.put("telepon", phone); datadriver.put("alamat", address); mref.child( ).setvalue(datadriver); finish(); Toast.makeText(DaftarActivity.this,"RegistrationSuccessful", Toast.LENGTH_LONG).show(); Intent i = new Intent(DaftarActivity.this, ProfileDriverActivity.class); startactivity(i); AC

30 else { Log.e("ERROR", task.getexception().tostring()); Toast.makeText(DaftarActivity.this,task.getException().getMessage(), Toast.LENGTH_LONG).show(); ); LoginActivity.java package com.example.finalprojectdriver; import android.app.progressdialog; import android.content.intent; import android.support.annotation.nonnull; import android.support.v7.app.appcompatactivity; import android.os.bundle; import android.util.log; import android.view.view; import android.widget.edittext; import android.widget.toast; import com.google.android.gms.tasks.oncompletelistener; import com.google.android.gms.tasks.task; import com.google.firebase.auth.authresult; import com.google.firebase.auth.firebaseauth; public class LoginActivity extends AppCompatActivity { private EditText txt login; private EditText txtpasswordlogin; private FirebaseAuth firebaseauth; protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_login); firebaseauth = FirebaseAuth.getInstance(); txt login = (EditText) findviewbyid(r.id.txt login); txtpasswordlogin = (EditText) findviewbyid(r.id.txtpasswordlogin); if(firebaseauth.getcurrentuser()!= null){ finish(); startactivity(new Intent(getApplicationContext(), ProfileDriverActivity.class)); public void btnloginuser_click(view view){ final ProgressDialog progressdialog = ProgressDialog.show(LoginActivity.this, "Please Wait...", "Processing...", true); (firebaseauth.signinwith andpassword(txt login.gettext().tostring(), txtpasswordlogin.gettext().tostring())).addoncompletelistener(new OnCompleteListener<AuthResult>() { AD

31 public void Task<AuthResult> task) { progressdialog.dismiss(); if (task.issuccessful()) { finish(); Toast.makeText(LoginActivity.this, "Login Successful", Toast.LENGTH_LONG).show(); Intent i = new Intent(LoginActivity.this, ProfileDriverActivity.class); startactivity(i); else{ Log.e("ERROR", task.getexception().tostring()); Toast.makeText(LoginActivity.this, task.getexception().getmessage(), Toast.LENGTH_LONG).show(); ); ProfileDriverActivity.java package com.example.finalprojectdriver; import android.app.progressdialog; import android.content.intent; import android.support.annotation.nonnull; import android.support.v7.app.appcompatactivity; import android.os.bundle; import android.util.log; import android.view.view; import android.widget.edittext; import android.widget.toast; import com.google.android.gms.tasks.oncompletelistener; import com.google.android.gms.tasks.task; import com.google.firebase.auth.authresult; import com.google.firebase.auth.firebaseauth; public class LoginActivity extends AppCompatActivity { private EditText txt login; private EditText txtpasswordlogin; private FirebaseAuth firebaseauth; protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_login); firebaseauth = FirebaseAuth.getInstance(); txt login = (EditText) findviewbyid(r.id.txt login); txtpasswordlogin = (EditText) findviewbyid(r.id.txtpasswordlogin); if(firebaseauth.getcurrentuser()!= null){ AE

32 finish(); startactivity(new Intent(getApplicationContext(), ProfileDriverActivity.class)); public void btnloginuser_click(view view){ final ProgressDialog progressdialog = ProgressDialog.show(LoginActivity.this, "Please Wait...", "Processing...", true); (firebaseauth.signinwith andpassword(txt login.gettext().tostring(), txtpasswordlogin.gettext().tostring())).addoncompletelistener(new OnCompleteListener<AuthResult>() { public void oncomplete(@nonnull Task<AuthResult> task) { progressdialog.dismiss(); if (task.issuccessful()) { finish(); Toast.makeText(LoginActivity.this, "Login Successful", Toast.LENGTH_LONG).show(); Intent i = new Intent(LoginActivity.this, ProfileDriverActivity.class); startactivity(i); else{ Log.e("ERROR", task.getexception().tostring()); Toast.makeText(LoginActivity.this, task.getexception().getmessage(), Toast.LENGTH_LONG).show(); ); ListJobActivity.java package com.example.finalprojectdriver; import android.content.context; import android.content.dialoginterface; import android.content.intent; import android.content.pm.packagemanager; import android.location.location; import android.location.locationmanager; import android.provider.contactscontract; import android.support.v4.app.activitycompat; import android.support.v7.app.alertdialog; import android.support.v7.app.appcompatactivity; import android.os.bundle; import android.view.view; import android.widget.adapterview; import android.widget.arrayadapter; AF

33 import android.widget.listview; import android.widget.textview; import android.widget.toast; import com.firebase.client.childeventlistener; import com.firebase.client.datasnapshot; import com.firebase.client.firebase; import com.firebase.client.firebaseerror; import com.firebase.client.query; import com.firebase.client.valueeventlistener; import com.google.firebase.auth.firebaseauth; import com.google.firebase.auth.firebaseuser; import java.security.privatekey; import java.util.arraylist; import java.util.hashmap; public class ListJobActivity extends AppCompatActivity { private ListView viewjob; private Firebase mref, mref1; private ArrayList<String> ListJobs = new ArrayList<>(); private FirebaseAuth firebaseauth; private String ; private Query query, query1; private Firebase keyfb; private String KEYID; private String idorder; private Double latdriver, longdriver; private String namadriver; private String alamatdriver; private String telepondriver; private String latitudess; private String longitudess; private String namauser; private String alamatuser; private String telponuser; protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_list_job); firebaseauth = FirebaseAuth.getInstance(); Firebase.setAndroidContext(this); if (ActivityCompat.checkSelfPermission(this, android.manifest.permission.access_fine_location)!= PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this, android.manifest.permission.access_coarse_location)!= PackageManager.PERMISSION_GRANTED) { // TODO: Consider calling return; LocationManager locationmanager = (LocationManager) getsystemservice(context.location_service); Location mylocation = locationmanager.getlastknownlocation(locationmanager.passive_provider); longdriver = mylocation.getlongitude(); latdriver = mylocation.getlatitude(); AG

34 FirebaseUser FirebaseCurrentUser = FirebaseAuth.getInstance().getCurrentUser(); = FirebaseCurrentUser.get ().replace(".", ","); mref = new Firebase(" 73b47.firebaseio.com/DataToko"); query = mref.orderbychild("status").equalto("belum Diproses"); viewjob = (ListView) findviewbyid(r.id.listjob); final ArrayAdapter<String> arrayadapter = new ArrayAdapter<>(this, android.r.layout.simple_list_item_1, ListJobs); viewjob.setadapter(arrayadapter); getprofiledriver(); query.addchildeventlistener(new ChildEventListener() { public void onchildadded(datasnapshot datasnapshot, String s) { KEYID = datasnapshot.getkey(); String value = datasnapshot.getvalue().tostring().replace("{", "").replace("", "").replace(",", "\n"); latitudess = datasnapshot.child("latitude").getvalue().tostring(); longitudess = datasnapshot.child("longitude").getvalue().tostring(); namauser = datasnapshot.child("nama").getvalue().tostring(); alamatuser = datasnapshot.child("alamat").getvalue().tostring(); telponuser = datasnapshot.child("telepon").getvalue().tostring(); ListJobs.add(value); arrayadapter.notifydatasetchanged(); public void onchildchanged(datasnapshot datasnapshot, String s) { public void onchildremoved(datasnapshot datasnapshot) { public void onchildmoved(datasnapshot datasnapshot, String s) { public void oncancelled(firebaseerror firebaseerror) { ); viewjob.setonitemclicklistener(new AdapterView.OnItemClickListener() { public void onitemclick(final AdapterView<?> parent, final View view, final int position, final long id) { final String message = "Sedang di proses oleh driver " + namadriver + ""; AH

35 AlertDialog.Builder a_builder = new AlertDialog.Builder(ListJobActivity.this); a_builder.setmessage("apa anda yakin mau ambil job ini?").setcancelable(false).setpositivebutton("ya", new DialogInterface.OnClickListener() { public void onclick(dialoginterface dialog, int which) { //Toast.makeText(ListJobActivity.this,idOrder, Toast.LENGTH_SHORT).show(); keyfb = mref.child(keyid); keyfb.child("status").setvalue(messag e); keyfb.child("latdriver").setvalue(lat Driver); keyfb.child("longdriver").setvalue(lo ngdriver); keyfb.child("namadriver").setvalue(na madriver); keyfb.child("telepondriver").setvalue (telepondriver); Intent i = new Intent(ListJobActivity.this, TrackActivityDriver.class); i.putextra("latuser",latitudess); i.putextra("longuser",longitudess); i.putextra("namauser",namauser); i.putextra("alamatuser",alamatuser); i.putextra("teleponuser",telponuser); i.putextra("namadriver",namadriver); //Intent a =new Intent(getApplicationContext(),GPS_SERVICE.class); //startservice(a); startactivity(i); ).setnegativebutton("tidak", new DialogInterface.OnClickListener() { public void onclick(dialoginterface dialog, int which) { dialog.cancel(); ); AlertDialog alert = a_builder.create(); alert.settitle("perhatian"); alert.show(); ); public void getprofiledriver() { mref1 = new Firebase(" 73b47.firebaseio.com/DaftarDriver"); Query driver = mref1.orderbychild(" ").equalto( ); AI

36 driver.addlistenerforsinglevalueevent(new ValueEventListener() { public void ondatachange(datasnapshot datasnapshot) { for(datasnapshot driv: datasnapshot.getchildren()){ namadriver = driv.child("nama").getvalue().tostring(); alamatdriver = driv.child("alamat").getvalue().tostring(); telepondriver = driv.child("telepon").getvalue().tostring(); public void oncancelled(firebaseerror firebaseerror) { ); TrackActivityDriver.java package com.example.finalprojectdriver; import android.content.broadcastreceiver; import android.content.context; import android.content.dialoginterface; import android.content.intent; import android.content.intentfilter; import android.content.pm.packagemanager; import android.graphics.color; import android.location.location; import android.location.locationmanager; import android.support.annotation.nonnull; import android.support.annotation.nullable; import android.support.v4.app.activitycompat; import android.support.v4.app.fragmentactivity; import android.os.bundle; import android.support.v7.app.alertdialog; import android.view.view; import android.widget.button; import android.widget.textview; import android.widget.toast; import com.akexorcist.googledirection.directioncallback; import com.akexorcist.googledirection.googledirection; import com.akexorcist.googledirection.constant.transportmode; import com.akexorcist.googledirection.model.direction; import com.akexorcist.googledirection.util.directionconverter; import com.firebase.client.childeventlistener; import com.firebase.client.datasnapshot; import com.firebase.client.firebase; import com.firebase.client.firebaseerror; import com.firebase.client.query; import com.google.android.gms.common.connectionresult; AJ

37 import com.google.android.gms.common.api.googleapiclient; import com.google.android.gms.location.fusedlocationproviderapi; import com.google.android.gms.location.locationlistener; import com.google.android.gms.location.locationrequest; import com.google.android.gms.location.locationservices; import com.google.android.gms.maps.cameraupdatefactory; import com.google.android.gms.maps.googlemap; import com.google.android.gms.maps.onmapreadycallback; import com.google.android.gms.maps.supportmapfragment; import com.google.android.gms.maps.model.latlng; import com.google.android.gms.maps.model.markeroptions; import java.util.arraylist; public class TrackActivityDriver extends FragmentActivity implements OnMapReadyCallback, GoogleApiClient.ConnectionCallbacks, GoogleApiClient.OnConnectionFailedListener, LocationListener { private GoogleMap mmap; private String a; private String b; private String c; private String d; private String e; private String f; private Double latuser; private Double longuser; private Double latitude1; private Double longitude1; private LatLng lokasiuser; private LatLng origin; private LatLng destination; private TextView tvnama; private TextView tvalamat; private TextView tvtelpon; private Button selesai; private BroadcastReceiver broadcastreceiver; private Firebase mref; private Query query; private String KEYID; private Firebase keyfb; private String latitudeee; private String longitudeee; private FusedLocationProviderApi locationprovider = LocationServices.FusedLocationApi; private GoogleApiClient googleapiclient; private LocationRequest locationrequest; private Double mylatitude; private Double mylongitude; protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_track_driver); SupportMapFragment mapfragment = (SupportMapFragment) getsupportfragmentmanager() AK

38 .findfragmentbyid(r.id.map); mapfragment.getmapasync(this); Firebase.setAndroidContext(this); Bundle bundle = getintent().getextras(); if (bundle!= null) { a = bundle.getstring("latuser"); b = bundle.getstring("longuser"); c = bundle.getstring("namauser"); d = bundle.getstring("alamatuser"); e = bundle.getstring("teleponuser"); f = bundle.getstring("namadriver"); googleapiclient = new GoogleApiClient.Builder(this).addApi(LocationServices.API).addConnectionCallbacks(TrackActivityDriver.this).addOnConnectionFailedListener(this).build(); locationrequest = new LocationRequest(); locationrequest.setinterval(20 * 1000); locationrequest.setfastestinterval(30 * 1000); locationrequest.setpriority(locationrequest.priority_balanced_po WER_ACCURACY); mref = new Firebase(" 73b47.firebaseio.com/DataToko"); query = mref.orderbychild("status").equalto("sedang di proses oleh driver " + f + ""); query.addchildeventlistener(new ChildEventListener() { public void onchildadded(datasnapshot datasnapshot, String s) { KEYID = datasnapshot.getkey(); String value = datasnapshot.getvalue().tostring().replace("{", "").replace("", "").replace(",", "\n"); public void onchildchanged(datasnapshot datasnapshot, String s) { public void onchildremoved(datasnapshot datasnapshot) { public void onchildmoved(datasnapshot datasnapshot, String s) { public void oncancelled(firebaseerror firebaseerror) { ); tvnama = (TextView) findviewbyid(r.id.txtname); tvalamat = (TextView) findviewbyid(r.id.txtaddress); tvtelpon = (TextView) findviewbyid(r.id.txtphone); tvnama.settext("nama Pembeli: " + c + ""); AL

39 tvalamat.settext("alamat Lengkap: " + d + ""); tvtelpon.settext("telepon Pembeli: " + e + ""); selesai = (Button) findviewbyid(r.id.btnfinish); public void onmapready(googlemap googlemap) { mmap = googlemap; latuser = Double.parseDouble(a); longuser = Double.parseDouble(b); LocationManager locationmanager = (LocationManager) getsystemservice(context.location_service); if (ActivityCompat.checkSelfPermission(this, android.manifest.permission.access_fine_location)!= PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this, android.manifest.permission.access_coarse_location)!= PackageManager.PERMISSION_GRANTED) { // TODO: Consider calling return; Location mylocation = locationmanager.getlastknownlocation(locationmanager.passive_provider); longitude1 = mylocation.getlongitude(); latitude1 = mylocation.getlatitude(); lokasiuser = new LatLng(latUser, longuser); String serverkey = "AIzaSyATk8ph2-yClUcaVaFH6IsxaHQ7jP4kYn0"; origin = new LatLng(latitude1, longitude1); destination = lokasiuser; mmap.movecamera(cameraupdatefactory.newlatlngzoom(origin, 17)); GoogleDirection.withServerKey(serverKey).from(origin).to(destination).transportMode(TransportMode.DRIVING).execute(new DirectionCallback() { public void ondirectionsuccess(direction direction, String rawbody) { if (direction.isok()) { mmap.addmarker(new MarkerOptions().position(origin)); mmap.addmarker(new MarkerOptions().position(destination)); ArrayList<LatLng> directionpositionlist = direction.getroutelist().get(0).getleglist().get(0).getdirectionpoint(); mmap.addpolyline(directionconverter.create Polyline(TrackActivityDriver.this, directionpositionlist, 2, Color.RED)); public void ondirectionfailure(throwable t) { ); public void buatpetabaru() { mmap.clear(); AM

40 String serverkey = "AIzaSyATk8ph2-yClUcaVaFH6IsxaHQ7jP4kYn0"; origin = new LatLng(myLatitude, mylongitude); destination = lokasiuser; mmap.movecamera(cameraupdatefactory.newlatlngzoom(origin, 17)); GoogleDirection.withServerKey(serverKey).from(origin).to(destination).transportMode(TransportMode.DRIVING).execute(new DirectionCallback() { public void ondirectionsuccess(direction direction, String rawbody) { if (direction.isok()) { mmap.addmarker(new MarkerOptions().position(origin)); mmap.addmarker(new MarkerOptions().position(destination)); ArrayList<LatLng> directionpositionlist = direction.getroutelist().get(0).getleglist().get(0).getdirectionpoint(); mmap.addpolyline(directionconverter.create Polyline(TrackActivityDriver.this, directionpositionlist, 2, Color.RED)); public void ondirectionfailure(throwable t) { ); public void btnfinish_click(view view) { Intent i = new Intent(TrackActivityDriver.this, GPS_SERVICE.class); stopservice(i); AlertDialog.Builder a_builder = new AlertDialog.Builder(TrackActivityDriver.this); a_builder.setmessage("apakah Orderan Sudah Selesai?").setCancelable(false).setPositiveButton("Ya", new DialogInterface.OnClickListener() { public void onclick(dialoginterface dialog, int which) { keyfb = mref.child(keyid); keyfb.child("status").setvalue("sudah diselesaikan oleh driver " + f + ""); Intent a = new Intent(TrackActivityDriver.this, ProfileDriverActivity.class); finish(); startactivity(a); ).setnegativebutton("tidak", new DialogInterface.OnClickListener() { public void onclick(dialoginterface dialog, int which) { AN

41 dialog.cancel(); ); AlertDialog alert = a_builder.create(); alert.settitle("perhatian"); alert.show(); public void onconnected(@nullable Bundle bundle) { requestlocationupdates(); private void requestlocationupdates() { if (ActivityCompat.checkSelfPermission(this, android.manifest.permission.access_fine_location)!= PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this, android.manifest.permission.access_coarse_location)!= PackageManager.PERMISSION_GRANTED) { // TODO: Consider calling return; LocationServices.FusedLocationApi.requestLocationUpdates(googleA piclient, locationrequest, this); public void onconnectionsuspended(int i) { public void onconnectionfailed(@nonnull ConnectionResult connectionresult) { public void onlocationchanged(location location) { mylatitude = location.getlatitude(); mylongitude = location.getlongitude(); keyfb = mref.child(keyid); keyfb.child("latdriver").setvalue(mylatitude); keyfb.child("longdriver").setvalue(mylongitude); buatpetabaru(); protected void onstart() { super.onstart(); googleapiclient.connect(); protected void onresume() { super.onresume(); if (googleapiclient.isconnected()) { requestlocationupdates(); protected void onpause() { AO

42 super.onpause(); LocationServices.FusedLocationApi.removeLocationUpdates(googleAp iclient, this); protected void onstop() { super.onstop(); googleapiclient.disconnect(); activity_daftar.xml <?xml version="1.0" encoding="utf-8"?> <android.support.constraint.constraintlayout xmlns:android=" xmlns:app=" xmlns:tools=" android:layout_height="match_parent" tools:context="com.example.finalprojectdriver.daftaractivity"> <EditText android:id="@+id/txt " android:layout_width="297dp" android:layout_height="65dp" android:ems="10" android:hint=" " android:inputtype="textpersonname" app:layout_constrainthorizontal_bias="0.0" app:layout_constraintright_torightof="parent" app:layout_constrainttop_totopof="parent" android:layout_margintop="8dp" android:layout_marginbottom="8dp" app:layout_constraintbottom_totopof="@+id/txtpassword" /> <EditText android:id="@+id/txtpassword" android:layout_width="301dp" android:layout_height="71dp" android:ems="10" android:hint="password" android:inputtype="textpassword" app:layout_constrainthorizontal_bias="0.0" app:layout_constraintright_torightof="parent" android:layout_marginbottom="11dp" app:layout_constraintbottom_totopof="@+id/txtusername" /> <Button AP

43 android:onclick="btnsubmit_click" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginbottom="34dp" android:text="submit" app:layout_constraintbottom_tobottomof="parent" app:layout_constraintright_torightof="parent" app:layout_constrainthorizontal_bias="0.457" /> <EditText android:layout_width="305dp" android:layout_height="65dp" android:ems="10" android:hint="username" android:inputtype="textpersonname" app:layout_constrainthorizontal_bias="0.0" app:layout_constraintright_torightof="parent" android:layout_marginbottom="8dp" /> <EditText android:layout_width="306dp" android:layout_height="67dp" android:ems="10" android:hint="telepon" android:inputtype="phone" app:layout_constrainthorizontal_bias="0.0" app:layout_constraintright_torightof="parent" android:layout_marginbottom="8dp" /> <EditText android:layout_width="306dp" android:layout_height="67dp" android:layout_marginbottom="83dp" android:ems="10" android:hint="alamat" android:inputtype="text" app:layout_constrainthorizontal_bias="0.0" app:layout_constraintright_torightof="parent" /> AQ

44 </android.support.constraint.constraintlayout> activity_main.xml <?xml version="1.0" encoding="utf-8"?> <android.support.constraint.constraintlayout xmlns:android=" xmlns:app=" xmlns:tools=" android:layout_height="match_parent" tools:context="com.example.finalprojectdriver.mainactivity"> <Button android:onclick="btndaftar_click" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginbottom="8dp" android:layout_margintop="76dp" android:text="daftar" app:layout_constraintright_torightof="parent" app:layout_constrainttop_totopof="parent" app:layout_constraintvertical_bias="0.115" /> <Button android:onclick="btnlogin_click" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="login" app:layout_constraintright_torightof="parent" tools:layout_editor_absolutey="198dp" /> </android.support.constraint.constraintlayout> login_activity.xml <?xml version="1.0" encoding="utf-8"?> <android.support.constraint.constraintlayout xmlns:android=" xmlns:app=" xmlns:tools=" android:layout_height="match_parent" tools:context="com.example.finalprojectdriver.loginactivity"> AR

45 <TextView android:layout_width="174dp" android:layout_height="36dp" android:text=" Address :" android:textsize="18sp" tools:ignore="hardcodedtext,missingconstraints" app:layout_constrainttop_totopof="parent" android:layout_margintop="8dp" /> <EditText android:layout_width="322dp" android:layout_height="42dp" android:ems="10" android:inputtype="text address" tools:ignore="labelfor,missingconstraints" android:layout_margintop="8dp" /> <TextView android:layout_width="173dp" android:layout_height="45dp" android:text="password :" android:textsize="18sp" tools:ignore="hardcodedtext,missingconstraints" android:layout_margintop="8dp" /> <Button android:onclick="btnloginuser_click" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="login" tools:ignore="hardcodedtext,missingconstraints" app:layout_constraintright_torightof="parent" android:layout_margintop="8dp" /> <EditText android:layout_width="322dp" android:layout_height="50dp" android:ems="10" android:inputtype="textpassword" tools:ignore="labelfor,missingconstraints" AS

46 android:layout_margintop="8dp" /> </android.support.constraint.constraintlayout> activity_list_job.xml <?xml version="1.0" encoding="utf-8"?> <android.support.constraint.constraintlayout xmlns:android=" xmlns:app=" xmlns:tools=" android:layout_height="match_parent" tools:context="com.example.finalprojectdriver.listjobactivity"> <ListView android:layout_width="375dp" android:layout_height="526dp" tools:layout_editor_absolutex="5dp" app:layout_constrainttop_totopof="parent" android:layout_margintop="-8dp" /> </android.support.constraint.constraintlayout> activity_track_driver.xml <LinearLayout xmlns:android=" xmlns:map=" xmlns:tools=" android:layout_height="match_parent" android:weightsum="1" android:orientation="vertical"> <fragment xmlns:android=" xmlns:map=" xmlns:tools=" android:name="com.google.android.gms.maps.supportmapfragment" android:layout_height="339dp" tools:context="com.example.finalprojectdriver.trackactivitydriver" android:layout_weight="0.49" /> <TextView android:layout_height="30dp" android:text="textview" /> <TextView AT

47 android:layout_height="30dp" android:text="textview" /> <TextView android:layout_height="30dp" android:text="textview" /> <Button android:onclick="btnfinish_click" android:layout_height="wrap_content" android:text="selesai Mengantar" /> </LinearLayout> build.gradle(project: FinalProjectDriver) buildscript { repositories { jcenter() dependencies { classpath 'com.android.tools.build:gradle:2.3.3' classpath 'com.google.gms:google-services:3.0.0' allprojects { repositories { jcenter() task clean(type: Delete) { delete rootproject.builddir build.gradle(module: app) apply plugin: 'com.android.application' android { compilesdkversion 25 buildtoolsversion "25.0.2" defaultconfig { applicationid "com.example.finalprojectdriver" minsdkversion 17 targetsdkversion 25 versioncode 1 versionname "1.0" AU

48 testinstrumentationrunner "android.support.test.runner.androidjunitrunner" packagingoptions { exclude 'META-INF/DEPENDENCIES.txt' exclude 'META-INF/LICENSE.txt' exclude 'META-INF/NOTICE.txt' exclude 'META-INF/NOTICE' exclude 'META-INF/LICENSE' exclude 'META-INF/DEPENDENCIES' exclude 'META-INF/notice.txt' exclude 'META-INF/license.txt' exclude 'META-INF/dependencies.txt' exclude 'META-INF/LGPL2.1' buildtypes { release { minifyenabled false proguardfiles getdefaultproguardfile('proguardandroid.txt'), 'proguard-rules.pro' dependencies { compile filetree(dir: 'libs', include: ['*.jar']) androidtestcompile('com.android.support.test.espresso:espressocore:2.2.2', { exclude group: 'com.android.support', module: 'supportannotations' ) compile 'com.android.support:appcompat-v7:25.3.1' compile 'com.android.support.constraint:constraint-layout:1.0.2' compile 'com.android.support:appcompat-v7:25.3.1' compile 'com.android.support.constraint:constraint-layout:1.0.2' compile 'com.google.firebase:firebase-auth:10.2.1' compile 'com.google.android.gms:play-services-maps:10.2.1' compile 'com.google.android.gms:play-services-auth:10.2.1' compile 'com.google.firebase:firebase-database:10.2.1' compile 'com.google.firebase:firebase-messaging:10.2.1' compile 'com.firebase:firebase-client-android:2.3.1' compile 'com.google.android.gms:play-services-location:10.2.1' compile 'com.akexorcist:googledirectionlibrary:1.0.4' compile 'com.android.support:recyclerview-v7:25.3.1' compile 'com.android.support:cardview-v7:25.3.1' testcompile 'junit:junit:4.12' apply plugin: 'com.google.gms.google-services' AV

49 Application Admin MainActivity.java package com.example.finalprojectadmin; import android.content.intent; import android.support.v7.app.appcompatactivity; import android.os.bundle; import android.view.view; import android.widget.button; public class MainActivity extends AppCompatActivity { protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); public void tampilorderdata_click(view view){ Intent i = new Intent(MainActivity.this, OrderActivity.class); startactivity(i); public void btntmbh_click(view view){ Intent i = new Intent(MainActivity.this, TambahActivity.class); startactivity(i); OrderActivity.java package com.example.finalprojectadmin; import android.support.v7.app.appcompatactivity; import android.os.bundle; import android.widget.arrayadapter; import android.widget.listview; import com.firebase.client.childeventlistener; import com.firebase.client.datasnapshot; import com.firebase.client.firebase; import com.firebase.client.firebaseerror; import com.firebase.client.query; import java.util.arraylist; public class OrderActivity extends AppCompatActivity { private Firebase mref; private ListView mlistview; private ArrayList<Object> datadetail = new ArrayList<>(); protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_order); Firebase.setAndroidContext(this); mref = new Firebase(" 73b47.firebaseio.com/DataToko"); mlistview = (ListView) findviewbyid(r.id.listorder); AW

50 final ArrayAdapter<Object> arrayadapter = new ArrayAdapter<>(this, android.r.layout.simple_list_item_1, datadetail); mlistview.setadapter(arrayadapter); Query ref = mref.orderbychild("tanggal"); ref.addchildeventlistener(new ChildEventListener() { public void onchildadded(datasnapshot datasnapshot, String s) { Object value = datasnapshot.getvalue().tostring().replace("{","").replace("","").replac e(",","\n"); datadetail.add(value); arrayadapter.notifydatasetchanged(); public void onchildchanged(datasnapshot datasnapshot, String s) { public void onchildremoved(datasnapshot datasnapshot) { public void onchildmoved(datasnapshot datasnapshot, String s) { public void oncancelled(firebaseerror firebaseerror) { ); TambahActivity.java package com.example.finalprojectadmin; import android.content.intent; import android.content.sharedpreferences; import android.support.v7.app.appcompatactivity; import android.os.bundle; import android.view.view; import android.widget.edittext; import android.widget.toast; import com.firebase.client.firebase; import java.util.hashmap; public class TambahActivity extends AppCompatActivity { private Firebase mref; private EditText txtbarangs; private EditText txthargas; protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_tambah); AX

51 Firebase.setAndroidContext(this); txtbarangs = (EditText) findviewbyid(r.id.txtbarang); txthargas = (EditText) findviewbyid(r.id.txtharga); mref = new Firebase(" 73b47.firebaseio.com/DaftarBarang"); public void btnsubmit_click(view view){ String NamaBarang = txtbarangs.gettext().tostring(); String HargaBarang = txthargas.gettext().tostring(); HashMap<String, String> databarang = new HashMap<>(); databarang.put("barang", NamaBarang); databarang.put("harga", HargaBarang); mref.push().setvalue(databarang); Toast.makeText(TambahActivity.this,"Barang Telah Ditambahkan", Toast.LENGTH_LONG).show(); activity_main.xml <?xml version="1.0" encoding="utf-8"?> <android.support.constraint.constraintlayout xmlns:android=" xmlns:app=" xmlns:tools=" android:layout_height="match_parent" tools:context="com.example.finalprojectadmin.mainactivity"> <Button android:id="@+id/tampilorderdata" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="tampil Order Data" android:onclick="tampilorderdata_click" app:layout_constraintright_torightof="parent" app:layout_constraintbottom_tobottomof="parent" android:layout_marginbottom="320dp" /> <Button android:id="@+id/btntmbh" android:onclick="btntmbh_click" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginbottom="8dp" android:layout_margintop="41dp" android:text="tambah Barang" app:layout_constraintbottom_totopof="@+id/tampilorderdata" AY

52 app:layout_constraintright_torightof="parent" app:layout_constrainttop_totopof="parent" /> </android.support.constraint.constraintlayout> activity_order.xml <?xml version="1.0" encoding="utf-8"?> <android.support.constraint.constraintlayout xmlns:android=" xmlns:app=" xmlns:tools=" android:layout_height="match_parent" tools:context="com.example.finalprojectadmin.orderactivity"> <ListView android:layout_width="368dp" android:layout_height="495dp" android:layout_margintop="5dp" app:layout_constraintright_torightof="parent" app:layout_constrainttop_totopof="parent" /> </android.support.constraint.constraintlayout> activity_tambah.xml <?xml version="1.0" encoding="utf-8"?> <android.support.constraint.constraintlayout xmlns:android=" xmlns:app=" xmlns:tools=" android:layout_height="match_parent" tools:context="com.example.finalprojectadmin.tambahactivity"> <EditText android:layout_width="0dp" android:layout_height="69dp" android:ems="10" android:inputtype="textpersonname" app:layout_constrainthorizontal_bias="0.0" app:layout_constraintright_torightof="parent" android:layout_marginbottom="8dp" android:layout_marginstart="8dp" android:layout_marginend="8dp" /> <EditText AZ

53 android:layout_width="365dp" android:layout_height="69dp" android:ems="10" android:inputtype="textpersonname" app:layout_constrainthorizontal_bias="0.666" app:layout_constraintright_torightof="parent" android:layout_marginstart="8dp" android:layout_marginend="8dp" android:layout_marginbottom="16dp" /> <TextView android:layout_width="196dp" android:layout_height="40dp" android:text="nama Barang" android:textsize="18sp" app:layout_constrainttop_totopof="parent" android:layout_margintop="16dp" app:layout_constraintright_torightof="parent" app:layout_constrainthorizontal_bias="0.0" android:layout_marginbottom="8dp" android:layout_marginstart="8dp" android:layout_marginend="8dp" /> <TextView android:layout_width="198dp" android:layout_height="46dp" android:text="harga" android:textsize="18sp" app:layout_constraintright_torightof="parent" app:layout_constrainthorizontal_bias="0.0" android:layout_marginstart="8dp" android:layout_marginend="8dp" android:layout_marginbottom="8dp" /> <Button android:onclick="btnsubmit_click" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="submit" app:layout_constraintright_torightof="parent" BA

54 app:layout_constraintbottom_tobottomof="parent" android:layout_marginbottom="168dp" app:layout_constrainthorizontal_bias="0.457" /> </android.support.constraint.constraintlayout> build.gradle(project: FinalProjectAdmin) buildscript { repositories { jcenter() dependencies { classpath 'com.android.tools.build:gradle:2.3.0' classpath 'com.google.gms:google-services:3.0.0' allprojects { repositories { jcenter() task clean(type: Delete) { delete rootproject.builddir build.gradle(module: app) apply plugin: 'com.android.application' android { compilesdkversion 25 buildtoolsversion "25.0.2" defaultconfig { applicationid "com.example.finalprojectadmin" minsdkversion 17 targetsdkversion 25 versioncode 1 versionname "1.0" testinstrumentationrunner "android.support.test.runner.androidjunitrunner" packagingoptions { exclude 'META-INF/DEPENDENCIES.txt' exclude 'META-INF/LICENSE.txt' exclude 'META-INF/NOTICE.txt' exclude 'META-INF/NOTICE' exclude 'META-INF/LICENSE' exclude 'META-INF/DEPENDENCIES' exclude 'META-INF/notice.txt' exclude 'META-INF/license.txt' exclude 'META-INF/dependencies.txt' BB

55 exclude 'META-INF/LGPL2.1' buildtypes { release { minifyenabled false proguardfiles getdefaultproguardfile('proguardandroid.txt'), 'proguard-rules.pro' dependencies { compile filetree(dir: 'libs', include: ['*.jar']) androidtestcompile('com.android.support.test.espresso:espressocore:2.2.2', { exclude group: 'com.android.support', module: 'supportannotations' ) compile 'com.android.support:appcompat-v7:25.3.1' compile 'com.android.support:appcompat-v7:25.3.1' compile 'com.android.support.constraint:constraint-layout:1.0.2' compile 'com.google.firebase:firebase-auth:10.2.1' compile 'com.google.android.gms:play-services-maps:10.2.1' compile 'com.google.android.gms:play-services-auth:10.2.1' compile 'com.google.firebase:firebase-database:10.2.1' compile 'com.google.firebase:firebase-messaging:10.2.1' compile 'com.firebase:firebase-client-android:2.3.1' compile 'com.google.android.gms:play-services-location:10.2.1' compile 'com.akexorcist:googledirectionlibrary:1.0.4' compile 'com.android.support:appcompat-v7:25.3.1' compile 'com.android.support.constraint:constraint-layout:1.0.2' compile 'com.google.firebase:firebase-auth:10.2.1' compile 'com.google.android.gms:play-services-maps:10.2.1' compile 'com.google.android.gms:play-services-auth:10.2.1' compile 'com.google.firebase:firebase-database:10.2.1' compile 'com.google.firebase:firebase-messaging:10.2.1' compile 'com.firebase:firebase-client-android:2.3.1' compile 'com.google.android.gms:play-services-location:10.2.1' compile 'com.akexorcist:googledirectionlibrary:1.0.4' testcompile 'junit:junit:4.12' apply plugin: 'com.google.gms.google-services' BC

56 BD

57 BE

ANDROID PROGRAMS DAY 3

ANDROID PROGRAMS DAY 3 ANDROID PROGRAMS DAY 3 //Android project to navigate from first page to second page using Intent Step 1: Create a new project Step 2: Enter necessary details while creating project. Step 3: Drag and drop

More information

APPENDIX. Application Store Admin. build.gradle. app/build.gradle

APPENDIX. Application Store Admin. build.gradle. app/build.gradle Application Store Admin build.gradle APPENDIX // Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { repositories { jcenter() dependencies { classpath

More information

Tabel mysql. Kode di PHP. Config.php. Service.php

Tabel mysql. Kode di PHP. Config.php. Service.php Tabel mysql Kode di PHP Config.php Service.php Layout Kode di Main Activity package com.example.mini.webandroid; import android.app.progressdialog; import android.os.asynctask; import android.support.v7.app.appcompatactivity;

More information

MAD ASSIGNMENT NO 3. Submitted by: Rehan Asghar BSSE AUGUST 25, SUBMITTED TO: SIR WAQAS ASGHAR Superior CS&IT Dept.

MAD ASSIGNMENT NO 3. Submitted by: Rehan Asghar BSSE AUGUST 25, SUBMITTED TO: SIR WAQAS ASGHAR Superior CS&IT Dept. MAD ASSIGNMENT NO 3 Submitted by: Rehan Asghar BSSE 7 15126 AUGUST 25, 2017 SUBMITTED TO: SIR WAQAS ASGHAR Superior CS&IT Dept. MainActivity.java File package com.example.tutorialspoint; import android.manifest;

More information

Coding Menggunakan software Eclipse: Mainactivity.java (coding untuk tampilan login): package com.bella.pengontrol_otomatis;

Coding Menggunakan software Eclipse: Mainactivity.java (coding untuk tampilan login): package com.bella.pengontrol_otomatis; Coding Menggunakan software Eclipse: Mainactivity.java (coding untuk tampilan login): package com.bella.pengontrol_otomatis; import android.app.activity; import android.os.bundle; import android.os.countdowntimer;

More information

1. Location Services. 1.1 GPS Location. 1. Create the Android application with the following attributes. Application Name: MyLocation

1. Location Services. 1.1 GPS Location. 1. Create the Android application with the following attributes. Application Name: MyLocation 1. Location Services 1.1 GPS Location 1. Create the Android application with the following attributes. Application Name: MyLocation Project Name: Package Name: MyLocation com.example.mylocation 2. Put

More information

Serious Gaming. Technical manual. This document is a collection of the code and installation process

Serious Gaming. Technical manual. This document is a collection of the code and installation process Serious Gaming Technical manual This document is a collection of the code and installation process Peter Elliott 02/04/2017 Contents Table of figures... 3 Introduction... 4 Installation instructions...

More information

Mobile Application Development Lab [] Simple Android Application for Native Calculator. To develop a Simple Android Application for Native Calculator.

Mobile Application Development Lab [] Simple Android Application for Native Calculator. To develop a Simple Android Application for Native Calculator. Simple Android Application for Native Calculator Aim: To develop a Simple Android Application for Native Calculator. Procedure: Creating a New project: Open Android Stdio and then click on File -> New

More information

Basic GUI elements - exercises

Basic GUI elements - exercises Basic GUI elements - exercises https://developer.android.com/studio/index.html LIVE DEMO Please create a simple application, which will be used to calculate the area of basic geometric figures. To add

More information

Intents. Your first app assignment

Intents. Your first app assignment Intents Your first app assignment We will make this. Decidedly lackluster. Java Code Java Code XML XML Preview XML Java Code Java Code XML Buttons that work

More information

Lampiran Program : Res - Layout Activity_main.xml

More information

M.A.D ASSIGNMENT # 2 REHAN ASGHAR BSSE 15126

M.A.D ASSIGNMENT # 2 REHAN ASGHAR BSSE 15126 M.A.D ASSIGNMENT # 2 REHAN ASGHAR BSSE 15126 Submitted to: Sir Waqas Asghar MAY 23, 2017 SUBMITTED BY: REHAN ASGHAR Intent in Android What are Intent? An Intent is a messaging object you can use to request

More information

EMBEDDED SYSTEMS PROGRAMMING Application Tip: Managing Screen Orientation

EMBEDDED SYSTEMS PROGRAMMING Application Tip: Managing Screen Orientation EMBEDDED SYSTEMS PROGRAMMING 2016-17 Application Tip: Managing Screen Orientation ORIENTATIONS Portrait Landscape Reverse portrait Reverse landscape ON REVERSE PORTRAIT Android: all four orientations are

More information

LAMPIRAN 1 LAMPIRAN 2 SCREENSHOOT LAMPIRAN 3 LISTING FILE JAVA CLASS 1. main_activity.java packagecom.example.sig.sigrs; import android.content.intent; import android.net.uri; import android.support.v7.app.appcompatactivity;

More information

android-espresso #androidespresso

android-espresso #androidespresso android-espresso #androidespresso Table of Contents About 1 Chapter 1: Getting started with android-espresso 2 Remarks 2 Examples 2 Espresso setup instructions 2 Checking an Options Menu items (using Spoon

More information

PENGEMBANGAN APLIKASI PERANGKAT BERGERAK (MOBILE)

PENGEMBANGAN APLIKASI PERANGKAT BERGERAK (MOBILE) PENGEMBANGAN APLIKASI PERANGKAT BERGERAK (MOBILE) Network Connection Web Service K Candra Brata andra.course@gmail.com Mobille App Lab 2015-2016 Network Connection http://developer.android.com/training/basics/network-ops/connecting.html

More information

Data Persistence. Chapter 10

Data Persistence. Chapter 10 Chapter 10 Data Persistence When applications create or capture data from user inputs, those data will only be available during the lifetime of the application. You only have access to that data as long

More information

Lab 6: Google Maps Android API v2 Android Studio 10/14/2016

Lab 6: Google Maps Android API v2 Android Studio 10/14/2016 Lab 6: Google Maps Android API v2 Android Studio 10/14/2016 One of the defining features of mobile phones is their portability. It's not surprising that some of the most enticing APIs are those that enable

More information

API Guide for Gesture Recognition Engine. Version 2.0

API Guide for Gesture Recognition Engine. Version 2.0 API Guide for Gesture Recognition Engine Version 2.0 Table of Contents Gesture Recognition API... 3 API URI... 3 Communication Protocol... 3 Getting Started... 4 Protobuf... 4 WebSocket Library... 4 Project

More information

M.A.D Assignment # 1

M.A.D Assignment # 1 Submitted by: Rehan Asghar Roll no: BSSE (7) 15126 M.A.D Assignment # 1 Submitted to: Sir Waqas Asghar Submitted by: M. Rehan Asghar 4/25/17 Roll no: BSSE 7 15126 XML Code: Calculator Android App

More information

Android Programs Day 5

Android Programs Day 5 Android Programs Day 5 //Android Program to demonstrate the working of Options Menu. 1. Create a New Project. 2. Write the necessary codes in the MainActivity.java to create OptionMenu. 3. Add the oncreateoptionsmenu()

More information

EMBEDDED SYSTEMS PROGRAMMING Application Basics

EMBEDDED SYSTEMS PROGRAMMING Application Basics EMBEDDED SYSTEMS PROGRAMMING 2015-16 Application Basics APPLICATIONS Application components (e.g., UI elements) are objects instantiated from the platform s frameworks Applications are event driven ( there

More information

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

<uses-permission android:name=android.permission.internet/> Chapter 11 Playing Video 11.1 Introduction We have discussed how to play audio in Chapter 9 using the class MediaPlayer. This class can also play video clips. In fact, the Android multimedia framework

More information

CSE 660 Lab 7. Submitted by: Arumugam Thendramil Pavai. 1)Simple Remote Calculator. Server is created using ServerSocket class of java. Server.

CSE 660 Lab 7. Submitted by: Arumugam Thendramil Pavai. 1)Simple Remote Calculator. Server is created using ServerSocket class of java. Server. CSE 660 Lab 7 Submitted by: Arumugam Thendramil Pavai 1)Simple Remote Calculator Server is created using ServerSocket class of java Server.java import java.io.ioexception; import java.net.serversocket;

More information

LAMPIRAN PROGRAM. public class ListArrayAdapterPost extends ArrayAdapter<ModelDataPost> {

LAMPIRAN PROGRAM. public class ListArrayAdapterPost extends ArrayAdapter<ModelDataPost> { 1 LAMPIRAN PROGRAM JAVA ListArrayAdapterPost.java package com.example.win.api.adapter; import android.content.context; import android.support.annotation.nonnull; import android.view.layoutinflater; import

More information

CSE 660 Lab 3 Khoi Pham Thanh Ho April 19 th, 2015

CSE 660 Lab 3 Khoi Pham Thanh Ho April 19 th, 2015 CSE 660 Lab 3 Khoi Pham Thanh Ho April 19 th, 2015 Comment and Evaluation: This lab introduces us about Android SDK and how to write a program for Android platform. The calculator is pretty easy, everything

More information

API Guide for Gesture Recognition Engine. Version 1.1

API Guide for Gesture Recognition Engine. Version 1.1 API Guide for Gesture Recognition Engine Version 1.1 Table of Contents Table of Contents... 2 Gesture Recognition API... 3 API URI... 3 Communication Protocol... 3 Getting Started... 4 Protobuf... 4 WebSocket

More information

Fragment Example Create the following files and test the application on emulator or device.

Fragment Example Create the following files and test the application on emulator or device. Fragment Example Create the following files and test the application on emulator or device. File: AndroidManifest.xml

More information

@Bind(R.id.input_ ) EditText EditText Button _loginbutton;

@Bind(R.id.input_ ) EditText EditText Button _loginbutton; package cyborg.pantaucctv; import android.app.progressdialog; import android.content.intent; import android.os.bundle; import android.support.v7.app.appcompatactivity; import android.util.log; import android.view.view;

More information

The Definitive Guide to Firebase

The Definitive Guide to Firebase The Definitive Guide to Firebase Build Android Apps on Google s Mobile Platform Laurence Moroney The Definitive Guide to Firebase Build Android Apps on Google s Mobile Platform Laurence Moroney The Definitive

More information

Android Apps Development for Mobile and Tablet Device (Level I) Lesson 2

Android Apps Development for Mobile and Tablet Device (Level I) Lesson 2 Workshop 1. Compare different layout by using Change Layout button (Page 1 5) Relative Layout Linear Layout (Horizontal) Linear Layout (Vertical) Frame Layout 2. Revision on basic programming skill - control

More information

05. RecyclerView and Styles

05. RecyclerView and Styles 05. RecyclerView and Styles 08.03.2018 1 Agenda Intents Creating Lists with RecyclerView Creating Cards with CardView Application Bar Menu Styles and Themes 2 Intents 3 What is Intent? An Intent is an

More information

Android - JSON Parser Tutorial

Android - JSON Parser Tutorial Android - JSON Parser Tutorial JSON stands for JavaScript Object Notation.It is an independent data exchange format and is the best alternative for XML. This chapter explains how to parse the JSON file

More information

Practical 1.ListView example

Practical 1.ListView example Practical 1.ListView example In this example, we show you how to display a list of fruit name via ListView. Android Layout file File : res/layout/list_fruit.xml

More information

Produced by. Mobile Application Development. Higher Diploma in Science in Computer Science. Eamonn de Leastar

Produced by. Mobile Application Development. Higher Diploma in Science in Computer Science. Eamonn de Leastar Mobile Application Development Higher Diploma in Science in Computer Science Produced by Eamonn de Leastar (edeleastar@wit.ie) Department of Computing, Maths & Physics Waterford Institute of Technology

More information

Press project on the left toolbar if it doesn t show an overview of the app yet.

Press project on the left toolbar if it doesn t show an overview of the app yet. #3 Setting up the permissions needed to allow the app to use GPS. Okay! Press project on the left toolbar if it doesn t show an overview of the app yet. In this project plane, we will navigate to the manifests

More information

MAD ASSIGNMENT NO 2. Submitted by: Rehan Asghar BSSE AUGUST 25, SUBMITTED TO: SIR WAQAS ASGHAR Superior CS&IT Dept.

MAD ASSIGNMENT NO 2. Submitted by: Rehan Asghar BSSE AUGUST 25, SUBMITTED TO: SIR WAQAS ASGHAR Superior CS&IT Dept. MAD ASSIGNMENT NO 2 Submitted by: Rehan Asghar BSSE 7 15126 AUGUST 25, 2017 SUBMITTED TO: SIR WAQAS ASGHAR Superior CS&IT Dept. Android Widgets There are given a lot of android widgets with simplified

More information

IEMS 5722 Mobile Network Programming and Distributed Server Architecture

IEMS 5722 Mobile Network Programming and Distributed Server Architecture Department of Information Engineering, CUHK MScIE 2 nd Semester, 2016/17 IEMS 5722 Mobile Network Programming and Distributed Server Architecture Lecture 12 Advanced Android Programming Lecturer: Albert

More information

TextView Control. EditText Control. TextView Attributes. android:id - This is the ID which uniquely identifies the control.

TextView Control. EditText Control. TextView Attributes. android:id - This is the ID which uniquely identifies the control. A TextView displays text to the user. TextView Attributes TextView Control android:id - This is the ID which uniquely identifies the control. android:capitalize - If set, specifies that this TextView has

More information

Create Parent Activity and pass its information to Child Activity using Intents.

Create Parent Activity and pass its information to Child Activity using Intents. Create Parent Activity and pass its information to Child Activity using Intents. /* MainActivity.java */ package com.example.first; import android.os.bundle; import android.app.activity; import android.view.menu;

More information

Dynamically Create Admob Banner and Interstitial Ads

Dynamically Create Admob Banner and Interstitial Ads Dynamically Create Admob Banner and Interstitial Ads activity_main.xml file 0 0 0

More information

EMBEDDED SYSTEMS PROGRAMMING Android NDK

EMBEDDED SYSTEMS PROGRAMMING Android NDK EMBEDDED SYSTEMS PROGRAMMING 2017-18 Android NDK WHAT IS THE NDK? The Android NDK is a set of cross-compilers, scripts and libraries that allows to embed native code into Android applications Native code

More information

// MainActivity.java ; Noah Spenser; Senior Design; Diabetic Breathalyzer

// MainActivity.java ; Noah Spenser; Senior Design; Diabetic Breathalyzer // MainActivity.java ; Noah Spenser; Senior Design; Diabetic Breathalyzer package com.noahspenser.seniordesign; import android.os.parcel; import android.os.parcelable; import android.support.v7.app.appcompatactivity;

More information

Arrays of Buttons. Inside Android

Arrays of Buttons. Inside Android Arrays of Buttons Inside Android The Complete Code Listing. Be careful about cutting and pasting.

More information

External Services. CSE 5236: Mobile Application Development Course Coordinator: Dr. Rajiv Ramnath Instructor: Adam C. Champion

External Services. CSE 5236: Mobile Application Development Course Coordinator: Dr. Rajiv Ramnath Instructor: Adam C. Champion External Services CSE 5236: Mobile Application Development Course Coordinator: Dr. Rajiv Ramnath Instructor: Adam C. Champion 1 External Services Viewing websites Location- and map-based functionality

More information

CITIZEN COP PRESENTED BY :- A CLOUD BASED CRIME REPORT APPLICATION. SOUVIK ROY - IT2014/066 AWSAF AMBAR - IT2014/067 SAYANI DUTTA - IT2014/089

CITIZEN COP PRESENTED BY :- A CLOUD BASED CRIME REPORT APPLICATION. SOUVIK ROY - IT2014/066 AWSAF AMBAR - IT2014/067 SAYANI DUTTA - IT2014/089 CITIZEN COP CITIZEN COP A CLOUD BASED CRIME REPORT APPLICATION. PRESENTED BY :- SOUVIK ROY - IT2014/066 AWSAF AMBAR - IT2014/067 SAYANI DUTTA - IT2014/089 1 CITIZEN COP A CLOUD BASED CRIME REPORTING APP

More information

EMBEDDED SYSTEMS PROGRAMMING Android NDK

EMBEDDED SYSTEMS PROGRAMMING Android NDK EMBEDDED SYSTEMS PROGRAMMING 2015-16 Android NDK WHAT IS THE NDK? The Android NDK is a set of cross-compilers, scripts and libraries that allows to embed native code into Android applications Native code

More information

Android Apps Development for Mobile and Tablet Device (Level I) Lesson 4. Workshop

Android Apps Development for Mobile and Tablet Device (Level I) Lesson 4. Workshop Workshop 1. Create an Option Menu, and convert it into Action Bar (Page 1 8) Create an simple Option Menu Convert Option Menu into Action Bar Create Event Listener for Menu and Action Bar Add System Icon

More information

1. Simple List. 1.1 Simple List using simple_list_item_1

1. Simple List. 1.1 Simple List using simple_list_item_1 1. Simple List 1.1 Simple List using simple_list_item_1 1. Create the Android application with the following attributes. Application Name: MySimpleList Project Name: Package Name: MySimpleList com.example.mysimplelist

More information

ITU- FAO- DOA- TRCSL. Training on. Innovation & Application Development for E- Agriculture. Shared Preferences

ITU- FAO- DOA- TRCSL. Training on. Innovation & Application Development for E- Agriculture. Shared Preferences ITU- FAO- DOA- TRCSL Training on Innovation & Application Development for E- Agriculture Shared Preferences 11 th - 15 th December 2017 Peradeniya, Sri Lanka Shahryar Khan & Imran Tanveer, ITU Experts

More information

EMBEDDED SYSTEMS PROGRAMMING Application Tip: Switching UIs

EMBEDDED SYSTEMS PROGRAMMING Application Tip: Switching UIs EMBEDDED SYSTEMS PROGRAMMING 2015-16 Application Tip: Switching UIs THE PROBLEM How to switch from one UI to another Each UI is associated with a distinct class that controls it Solution shown: two UIs,

More information

LAMPIRAN PROGRAM. public class Listdata_adiktif extends ArrayAdapter<ModelData_adiktif> {

LAMPIRAN PROGRAM. public class Listdata_adiktif extends ArrayAdapter<ModelData_adiktif> { 1 LAMPIRAN PROGRAM JAVA Listdata_adiktif.java package com.example.win.api.adapter; import android.content.context; import android.support.annotation.nonnull; import android.view.layoutinflater; import

More information

Our First Android Application

Our First Android Application Mobile Application Development Lecture 04 Imran Ihsan Our First Android Application Even though the HelloWorld program is trivial in introduces a wealth of new ideas the framework, activities, manifest,

More information

MyDatabaseHelper. public static final String TABLE_NAME = "tbl_bio";

MyDatabaseHelper. public static final String TABLE_NAME = tbl_bio; Page 1 of 5 MyDatabaseHelper import android.content.context; import android.database.sqlite.sqliteopenhelper; class MyDatabaseHelper extends SQLiteOpenHelper { private static final String DB_NAME = "friend_db";

More information

EMBEDDED SYSTEMS PROGRAMMING Application Tip: Saving State

EMBEDDED SYSTEMS PROGRAMMING Application Tip: Saving State EMBEDDED SYSTEMS PROGRAMMING 2016-17 Application Tip: Saving State THE PROBLEM How to save the state (of a UI, for instance) so that it survives even when the application is closed/killed The state should

More information

SMART VEHICLE TRACKING APPLICATION

SMART VEHICLE TRACKING APPLICATION SMART VEHICLE TRACKING APPLICATION Report submitted for the partial fulfillment of the requirements for the degree of Bachelor of Technology in Information Technology Submitted by Ritaman Baral (IT2014/008)

More information

TUTOR FINDER APP REPORT OF MAJOR PROJECT SUBMITTED FOR PARTIAL FULFILLMENT OF THE REQUIREMENT FOR THE DEGREE OF MASTERS OF COMPUTER APPLICATION

TUTOR FINDER APP REPORT OF MAJOR PROJECT SUBMITTED FOR PARTIAL FULFILLMENT OF THE REQUIREMENT FOR THE DEGREE OF MASTERS OF COMPUTER APPLICATION TUTOR FINDER APP REPORT OF MAJOR PROJECT SUBMITTED FOR PARTIAL FULFILLMENT OF THE REQUIREMENT FOR THE DEGREE OF MASTERS OF COMPUTER APPLICATION BISHAL MANDAL REGISTRATION NO: 151170510014 of 2015-2016

More information

Android HelloWorld - Example. Tushar B. Kute,

Android HelloWorld - Example. Tushar B. Kute, Android HelloWorld - Example Tushar B. Kute, http://tusharkute.com Anatomy of Android Application Anatomy of Android Application Java This contains the.java source files for your project. By default, it

More information

Create a local SQL database hosting a CUSTOMER table. Each customer includes [id, name, phone]. Do the work inside Threads and Asynctasks.

Create a local SQL database hosting a CUSTOMER table. Each customer includes [id, name, phone]. Do the work inside Threads and Asynctasks. CIS 470 Lesson 13 Databases - Quick Notes Create a local SQL database hosting a CUSTOMER table. Each customer includes [id, name, phone]. Do the work inside Threads and Asynctasks. package csu.matos; import

More information

Applied Cognitive Computing Fall 2016 Android Application + IBM Bluemix (Cloudant NoSQL DB)

Applied Cognitive Computing Fall 2016 Android Application + IBM Bluemix (Cloudant NoSQL DB) Applied Cognitive Computing Fall 2016 Android Application + IBM Bluemix (Cloudant NoSQL DB) In this exercise, we will create a simple Android application that uses IBM Bluemix Cloudant NoSQL DB. The application

More information

Android Application development for importing Vehicles to Ethiopia Tracking system. Zekir Ahmed Awol

Android Application development for importing Vehicles to Ethiopia Tracking system. Zekir Ahmed Awol Android Application development for importing Vehicles to Ethiopia Tracking system Zekir Ahmed Awol Thesis Business Information Technology 2016 Abstract 30/11/2016 Degree programme Author Zekir Ahmed Awol

More information

Database Development In Android Applications

Database Development In Android Applications ITU- FAO- DOA- TRCSL Training on Innovation & Application Development for E- Agriculture Database Development In Android Applications 11 th - 15 th December 2017 Peradeniya, Sri Lanka Shahryar Khan & Imran

More information

... 1... 2... 2... 3... 3... 4... 4... 5... 5... 6... 6... 7... 8... 9... 10... 13... 14... 17 1 2 3 4 file.txt.exe file.txt file.jpg.exe file.mp3.exe 5 6 0x00 0xFF try { in.skip(9058); catch (IOException

More information

DEPARTMENT OF COMPUTER SCIENCE THE UNIVERSITY OF HONG KONG. CSIS0801 Final Year Project. WhozzUp - A Novel Big Data App for HK (Individual Report)

DEPARTMENT OF COMPUTER SCIENCE THE UNIVERSITY OF HONG KONG. CSIS0801 Final Year Project. WhozzUp - A Novel Big Data App for HK (Individual Report) DEPARTMENT OF COMPUTER SCIENCE THE UNIVERSITY OF HONG KONG CSIS0801 Final Year Project WhozzUp - A Novel Big Data App for HK (Individual Report) Nundraj NARAYEN (2012518487) 4/17/2016 Page 2 Page 3 Page

More information

SMAATSDK. NFC MODULE ON ANDROID REQUIREMENTS AND DOCUMENTATION RELEASE v1.0

SMAATSDK. NFC MODULE ON ANDROID REQUIREMENTS AND DOCUMENTATION RELEASE v1.0 SMAATSDK NFC MODULE ON ANDROID REQUIREMENTS AND DOCUMENTATION RELEASE v1.0 NFC Module on Android Requirements and Documentation Table of contents Scope...3 Purpose...3 General operating diagram...3 Functions

More information

EMBEDDED SYSTEMS PROGRAMMING UI Specification: Approaches

EMBEDDED SYSTEMS PROGRAMMING UI Specification: Approaches EMBEDDED SYSTEMS PROGRAMMING 2016-17 UI Specification: Approaches UIS: APPROACHES Programmatic approach: UI elements are created inside the application code Declarative approach: UI elements are listed

More information

1.1 Why Foxit MobilePDF SDK is your choice Foxit MobilePDF SDK Key Features Evaluation License...

1.1 Why Foxit MobilePDF SDK is your choice Foxit MobilePDF SDK Key Features Evaluation License... TABLE OF CONTENTS 1 Introduction to Foxit MobilePDF SDK...1 1.1 Why Foxit MobilePDF SDK is your choice... 1 1.2 Foxit MobilePDF SDK... 2 1.3 Key Features... 3 1.4 Evaluation... 4 1.5 License... 4 1.6 About

More information

Android Specifics. Jonathan Diehl (Informatik 10) Hendrik Thüs (Informatik 9)

Android Specifics. Jonathan Diehl (Informatik 10) Hendrik Thüs (Informatik 9) Android Specifics Jonathan Diehl (Informatik 10) Hendrik Thüs (Informatik 9) Android Specifics ArrayAdapter Preferences Widgets Jonathan Diehl, Hendrik Thüs 2 ArrayAdapter Jonathan Diehl, Hendrik Thüs

More information

Developing For Android

Developing For Android Wirtschaftsuniversität Wien Developing For Android From 0 to 100 on Mobile and Wearable Devices Author: Gerald Urschitz Supervisor: Ronny G. Flatscher January 7, 2016 I, Gerald Urschitz, declare that this

More information

Android JSON Parsing Tutorial

Android JSON Parsing Tutorial Android JSON Parsing Tutorial by Kapil - Thursday, May 19, 2016 http://www.androidtutorialpoint.com/networking/json-parsing-tutorial-android/ YouTube Video JSON(JavaScript Object Notation), is a language

More information

1.1 Why Foxit MobilePDF SDK is your choice Foxit MobilePDF SDK Key Features Evaluation License...

1.1 Why Foxit MobilePDF SDK is your choice Foxit MobilePDF SDK Key Features Evaluation License... TABLE OF CONTENTS 1 Introduction to Foxit MobilePDF SDK...1 1.1 Why Foxit MobilePDF SDK is your choice... 1 1.2 Foxit MobilePDF SDK... 2 1.3 Key Features... 3 1.4 Evaluation... 4 1.5 License... 4 1.6 About

More information

Appendix A : Android Studio Code For Android

Appendix A : Android Studio Code For Android Appendix A : Android Studio Code For Android Monitoring : ` public Pubnub pubnub; public static final String PUBLISH_KEY = "pub-c-798bd0f6-540b-48af-9e98-7d0028a5132a"; public static final String SUBSCRIBE_KEY

More information

10.1 Introduction. Higher Level Processing. Word Recogniton Model. Text Output. Voice Signals. Spoken Words. Syntax, Semantics, Pragmatics

10.1 Introduction. Higher Level Processing. Word Recogniton Model. Text Output. Voice Signals. Spoken Words. Syntax, Semantics, Pragmatics Chapter 10 Speech Recognition 10.1 Introduction Speech recognition (SR) by machine, which translates spoken words into text has been a goal of research for more than six decades. It is also known as automatic

More information

Android tips. which simplify your life

Android tips. which simplify your life Android tips which simplify your life Android Studio beta gradle build system maven-based build dependencies build variants code completion, refactoring, templates graphical template editor Gradle apply

More information

Manifest.xml. Activity.java

Manifest.xml. Activity.java Dr.K.Somasundaram Ph.D Professor Department of Computer Science and Applications Gandhigram Rural Institute, Gandhigram, Tamil Nadu-624302, India ka.somasundaram@gmail.com Manifest.xml

More information

APPENDIX CODE TO STORE THE BUTTON MENU AND MOVE THE PAGE

APPENDIX CODE TO STORE THE BUTTON MENU AND MOVE THE PAGE APPENDIX FILE MainActivity.java CODE TO STORE THE BUTTON MENU AND MOVE THE PAGE package com.ste.sembakoapp; import Android.content.Intent; import Android.support.v7.app.AppCompatActivity; import Android.os.Bundle;

More information

Adapter.

Adapter. 1 Adapter An Adapter object acts as a bridge between an AdapterView and the underlying data for that view The Adapter provides access to the data items The Adapter is also responsible for making a View

More information

LAMPIRAN. Lampiran 1. Flow Chart Pelaksanaan Penelitian. Mulai. Analisis Kebutuhan. Perancangan Sistem. Observasi Lapangan. Implementasi Sistem

LAMPIRAN. Lampiran 1. Flow Chart Pelaksanaan Penelitian. Mulai. Analisis Kebutuhan. Perancangan Sistem. Observasi Lapangan. Implementasi Sistem LAMPIRAN Lampiran 1. Flow Chart Pelaksanaan Penelitian Mulai Analisis Kebutuhan Perancangan Sistem Observasi Lapangan Harga Komoditas Implementasi Sistem Uji Coba dan evaluasi Benar Salah Debugging (Perbaikan)

More information

Workshop. 1. Create a simple Intent (Page 1 2) Launch a Camera for Photo Taking

Workshop. 1. Create a simple Intent (Page 1 2) Launch a Camera for Photo Taking Workshop 1. Create a simple Intent (Page 1 2) Launch a Camera for Photo Taking 2. Create Intent with Parsing Data (Page 3 8) Making Phone Call and Dial Access Web Content Playing YouTube Video 3. Create

More information

MVC Apps Basic Widget Lifecycle Logging Debugging Dialogs

MVC Apps Basic Widget Lifecycle Logging Debugging Dialogs Overview MVC Apps Basic Widget Lifecycle Logging Debugging Dialogs Lecture: MVC Model View Controller What is an App? Android Activity Lifecycle Android Debugging Fixing Rotations & Landscape Layouts Localization

More information

Android DP SDK Integration Guide

Android DP SDK Integration Guide Android DP SDK Integration Guide Requirements Minimum Android Version : Android 4.1 'Jelly Bean' (API level 16) instant Run Removal. (Preferences -> Instant Run -> Unlock to Enable Instant Run) Step 1.

More information

Adaptation of materials: dr Tomasz Xięski. Based on presentations made available by Victor Matos, Cleveland State University.

Adaptation of materials: dr Tomasz Xięski. Based on presentations made available by Victor Matos, Cleveland State University. Creating dialogs Adaptation of materials: dr Tomasz Xięski. Based on presentations made available by Victor Matos, Cleveland State University. Portions of this page are reproduced from work created and

More information

User Interface Development in Android Applications

User Interface Development in Android Applications ITU- FAO- DOA- TRCSL Training on Innovation & Application Development for E- Agriculture User Interface Development in Android Applications 11 th - 15 th December 2017 Peradeniya, Sri Lanka Shahryar Khan

More information

COMP61242: Task /04/18

COMP61242: Task /04/18 COMP61242: Task 2 1 16/04/18 1. Introduction University of Manchester School of Computer Science COMP61242: Mobile Communications Semester 2: 2017-18 Laboratory Task 2 Messaging with Android Smartphones

More information

Text Properties Data Validation Styles/Themes Material Design

Text Properties Data Validation Styles/Themes Material Design Text Properties Data Validation Styles/Themes Material Design Sisoft Technologies Pvt Ltd SRC E7, Shipra Riviera Bazar, Gyan Khand-3, Indirapuram, Ghaziabad Website: Email:info@sisoft.in Phone: +91-9999-283-283

More information

Creating a Custom ListView

Creating a Custom ListView Creating a Custom ListView References https://developer.android.com/guide/topics/ui/declaring-layout.html#adapterviews Overview The ListView in the previous tutorial creates a TextView object for each

More information

Android Layout Types

Android Layout Types Android Layout Types Android Linear Layout Android LinearLayout is a view group that aligns all children in either vertically or horizontally. android:divider - This is drawable to use as a vertical divider

More information

Android Beginners Workshop

Android Beginners Workshop Android Beginners Workshop at the M O B IL E M O N D AY m 2 d 2 D E V E L O P E R D A Y February, 23 th 2010 Sven Woltmann, AndroidPIT Sven Woltmann Studied Computer Science at the TU Ilmenau, 1994-1999

More information

LIST PROGRAM SISTEM PAJAK TOL OTOMATIS DENGAN RFID DAN INFORMASI BERBASIS ANDROID

LIST PROGRAM SISTEM PAJAK TOL OTOMATIS DENGAN RFID DAN INFORMASI BERBASIS ANDROID L A M P I R A N LIST PROGRAM SISTEM PAJAK TOL OTOMATIS DENGAN RFID DAN INFORMASI BERBASIS ANDROID #include #include #include #include #include #define

More information

DSL. ~ dsl_slides * about::contacts(me)

DSL. ~ dsl_slides * about::contacts(me) DSL ~ dsl_slides * about::contacts(me) Aliaksandr Salnikau (Александр Сальников) Company: EPAM Position: Lead Software Engineer Primary skill: Android Contacts: email: aliaksandr_salnikau@epam.com skype:

More information

Android CardView Tutorial

Android CardView Tutorial Android CardView Tutorial by Kapil - Wednesday, April 13, 2016 http://www.androidtutorialpoint.com/material-design/android-cardview-tutorial/ YouTube Video We have already discussed about RecyclerView

More information

Android Apps Development for Mobile Game Lesson 5

Android Apps Development for Mobile Game Lesson 5 Workshop 1. Create a simple Environment Sensors (Page 1 6) Pressure Sensor Ambient Temperature Sensor Light Sensor Relative Humidity Sensor 2. Create a simple Position Sensors (Page 7 8) Proximity Sensor

More information

LAB MANUAL SITTTR KALAMASSERY SMART DEVICE PROGRAMMING LAB. SITTTR Smart Device Programming Manual Page 1

LAB MANUAL SITTTR KALAMASSERY SMART DEVICE PROGRAMMING LAB. SITTTR Smart Device Programming Manual Page 1 LAB MANUAL SMART DEVICE PROGRAMMING LAB 6138 by SITTTR KALAMASSERY SITTTR Smart Device Programming Manual Page 1 STATE INSTITUTE OF TECHNICAL TEACHERS TRAINING AND RESEARCH GENERAL INSTRUCTIONS Rough record

More information

Vienos veiklos būsena. Theory

Vienos veiklos būsena. Theory Vienos veiklos būsena Theory While application is running, we create new Activities and close old ones, hide the application and open it again and so on, and Activity can process all these events. It is

More information

Accelerating Information Technology Innovation

Accelerating Information Technology Innovation Accelerating Information Technology Innovation http://aiti.mit.edu India Summer 2012 Review Session Android and Web Working with Views Working with Views Create a new Android project. The app name should

More information

Android UI Development

Android UI Development Android UI Development Android UI Studio Widget Layout Android UI 1 Building Applications A typical application will include: Activities - MainActivity as your entry point - Possibly other activities (corresponding

More information