CÀ IT PHÍA CLIENT 48

Một phần của tài liệu Xây dựng hệ thống phần mềm điểm danh ứng dụng nhận diện giọng nói tiếng việt (Trang 58)

M C LC v 

3.4.1CÀ IT PHÍA CLIENT 48

Cài đ t phía client có nh ng ch c n ng chính là l y t a đ GPS t thi t b , g i và nh n d li u t server, nh n di n gi ng nói sinh viên.

Hình 3.7 Mô hình ho t đ ng bên phía Client

L y t a đ đ nh v toàn c u (GPS) c a thi t b

Tìm ki m m t Provider theo tiêu chí :

S d ng l p Criteria đ yêu c u thi t b x lý chính xác nh ng s li u có s n nh : v

đ và kinh đ , t c đ , đ cao, chi phí và yêu v c u n ng l ng đi n. Criteria criteria = new Criteria();

criteria.setAltitudeRequired(false); criteria.setBearingRequired(false); criteria.setSpeedRequired(false); criteria.setCostAllowed(true);

Chúng ta có th dùng getBestProvider là s k t h p t t nh t tr đ v cho Location Provider ho c dùng getProvider, s d ng getBestProvider nhà cung c p s tr l i các tiêu chí t t nh t, s d ng Boolean cho phép h n ch nh ng k t qu t nhà cung c p đang đ c ho t đ ng.

String bestProvider = locationManager.getBestProvider(criteria, true);

List<String> matchingProviders = locationManager.getProviders(criteria,false);

Tìm t o đ GPS:

M c đích c a d ch v đ nh v là tìm ra v trí v t lý c a thi t b .

truy c p vào Location Manager th c hi n các yêu c u LOCATION_SERVICES ta s d ng ph ng th c getSystemService:

String serviceString = Context.LOCATION_SERVICE; LocationManager locationManager;

locationManager = (LocationManager)getSystemService(serviceString);

Tr c khi s d ng Location Manager thì c n thêm m t ho c nhi u th uses- permission trong file mainfest đ truy c p vào các ph n c ng c a LBS trong đó bao g m c fine coarse nh sau:

<uses-permission Android:name=”Android.permission.ACCESS_FINE_LOCATION”/> <uses-permission Android:name=”Android.permission.ACCESS_COARSE_LOCATION”/>

Chúng ta có th tìm th y v trí b ng cách xác đnh m t Location Provider s d ng ph ng th c getKnowLocation và đ a vào tên c a Location Provider.

Theo dõi s di chuy n (Tracking Movement):

S d ng ph ng th c requestLocationUpdate đ c p nh t b t k m t v trí, khi v trí hi n t i thay đ i chúng ta s d ng m t LocationListener.LocationListener th c hi n và

đ ng ký đ nh n thông tin.LocationListener r t linh ho t và nhi u tính n ng cho phép ch n nhi u lo i s ki n v v trí d a trên đ c tính khác nhau.

Ph ng th c requestLocationUpdate ch p nh n m t Location Provider ho c Criteria

đ xác đnh nhà cung c p đ c s d ng.

o n code sau s th hi n m t yêu c u c p nh t th ng xuyên d a trên m c t i thi u v th i gian và kho ng cách.

String provider = LocationManager.GPS_PROVIDER; int t = 5000; // milliseconds

int distance = 5; // meters

LocationListener myLocationListener = new LocationListener() { public void onLocationChanged(Location location) {

// Update application based on new location. }

public void onProviderDisabled(String provider){ // Update application if provider disabled.

}

public void onProviderEnabled(String provider){ // Update application if provider enabled.

}

public void onStatusChanged(String provider, int status,Bundle extras){ // Update application if provider hardware status changed.

} };

locationManager.requestLocationUpdates(provider, t, distance, myLocationListener);  Giao ti p gi a client Android và Server :

ng d ng s d ng th vi n m KSOAP2 h tr h đi u hành Android đ k t n i web service client và Server. ây là m t th vi c soap hi u qu cho nên t ng android v i nhi u tính n ng c i ti n và phát tri n thêm các phiên b n sau.

KSOAP2 là gì ?

KSOAP2 là m t th vi n m cho các SOAP web service client trong môi tr ng Java nh Applet hay ng d ng J2ME. KSOAP2 đ c thi t k l i hoàn toàn d a trên nh ng th c nghi m t phiên b n đ u tiên ksoap1.x. KSOAP2-Android là m t nhánh trong th vi n KSOAP2 đ c thêm vào đ h tr cho n n t ng Android.

S d ng KSOAP2 đ l y d li u t Server :

th c hi n các ch c n ng chính c a ng d ng, ph n m m s k t n i đ n server và yêu c u tr v các d li u khác nhau. Nh ng k thu t đ g i, nh n d li u t server là t ng t nhau và theo m t quy đnh chung:

+ Kh i t o m t đ i t ng SoapObject đ g i yêu c u đ n server v i các tham s truy n vào là NAMESPACE và METHOD_NAME

+ Truy n vào giá tr c a tham s b ng cách dùng ph ng th c addProperty có s n c a

đ i t ng soapObject.

+ S d ng Soap Envelope dùng đ trao đ i gi a các client và webservice server. + X lý k t qu tr v b ng k thu t trong ngôn ng java và hi n th các thông tin c n thi t.

Ví d : Ki m tra Sinh viên có đang trong c c h c hay không B c 1 : kh i T o h ng s

private static final String SOAP_ACTION = "http://tempuri.org/XuLy"; private static final String OPERATION_NAME = "XuLy";

private static final String WSDL_TARGET_NAMESPACE = "http://tempuri.org/";

private static final String SOAP_ADDRESS = "http://androidws.somee.com/DD_WebService.asmx"; B c 2: Kh i t o SoapObject và các tham s truy n vào

SoapObject request = new SoapObject(WSDL_TARGET_NAMESPACE, OPERATION_NAME); PropertyInfo propertyInfo = new PropertyInfo();

request.addProperty("kinhDo",viDo); request.addProperty("viDo",viDo);

B c 3. : G i d li u lên Server

SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11); envelope.dotNet = true;

envelope.setOutputSoapObject(request); B c 4 : Nh n giá tr tr v t server.

HttpTransportSE httpTransport = new HttpTransportSE(SOAP_ADDRESS); SoapObject response=null;

try {

httpTransport.call(SOAP_ACTION, envelope); response =(SoapObject) envelope.getResponse(); } catch (Exception exception){ … }

return response;

Cài đ t Google Maps API:

V i Google Map API, chúng ta có th thêm m t t m b n đ vào ng d ng d a trên d li u đ s c a Google Maps. API t đ ng qu n lý vi c truy xu t đ n server Google Map, t i các d li u v , hi n th b n đ , g i ph n h i đ n các thao tác trên b n đ . Ngoài

ra Google Maps còn có th thêm các đi m đánh d u, đánh d u các khu v c và che ph b n đ c b n b ng các tu ch nh c a riêng ng i dùng.

cài đ t đ c Google Map API lên ng d ng Android đ u tiên chúng ta c n cài đ t Google Play Service SDK. Sau đó đ ng kí mã API đ c cung c p mi n phí. Sau khi đã có mã API, chúng ta c n khai báo mã API trong d án Android, c th là trong t p tin AndroidManifest.xml nh sau:

<meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="(Mã API đ c Google cung c p)" />

T đó chúng ta đã có Google Maps nhúng vào d án và có th l p trình đ ng d ng thông qua các ch c n ng mà Google Maps cung c p.

Một phần của tài liệu Xây dựng hệ thống phần mềm điểm danh ứng dụng nhận diện giọng nói tiếng việt (Trang 58)