freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

畢業(yè)論文-基于android系統(tǒng)的手機(jī)公交線路查詢系統(tǒng)設(shè)計(jì)-資料下載頁(yè)

2025-01-16 22:02本頁(yè)面
  

【正文】 含了一系列核心應(yīng)用程序,包括電子郵件、短信、日歷、地圖、瀏覽器、聯(lián)系人管理程序等,這些程序都以 java 程序語(yǔ)言編寫(xiě),你也可以用自己便攜的應(yīng)用程序來(lái)替換 Android 提供的應(yīng)用程序,這個(gè)替換的機(jī)制實(shí)際是由應(yīng)用程序框架來(lái)保證的。如圖 所示。 圖 應(yīng)用層 應(yīng)用程序框架 (APPLICATION FRAMEWORK) 應(yīng)用程序框架是我們進(jìn)行 Android 開(kāi)發(fā)的基礎(chǔ)應(yīng)用程序框架層包含了視圖系統(tǒng) ,內(nèi)容提供器,窗口管理器,活動(dòng)管理器,通知管理器,位置管理器,資源管理器,電話管理器和包管理器 9 大部分。如圖 所示。 圖 中間件層 湖南科技大學(xué)本科生畢業(yè)設(shè)計(jì)(論文) 23 Android 運(yùn)行時(shí) (RUNTIME) Android 雖然采取 Java 程序語(yǔ)言來(lái)編寫(xiě)應(yīng)用程序,但不使用 J2ME 執(zhí)行 Java 程序,而是用 Android自有的 Android運(yùn)行時(shí)( RunTime) .Android 運(yùn)行時(shí)包括核心庫(kù)和 Dalvik虛擬機(jī)兩部分。如圖 所示。 圖 核心庫(kù),虛擬機(jī) 系統(tǒng)庫(kù) (LIBRARIES) 應(yīng)用程序框架是貼近于應(yīng)用程序的軟件組件服務(wù),而更底層則是 Android的函數(shù)庫(kù),這一部分是應(yīng)用程序框架的支撐,其架構(gòu)如圖 所示。 圖 系統(tǒng)庫(kù) Linux Android 平臺(tái)是開(kāi)放,采用 Linux 內(nèi)核則是 Android 平臺(tái)開(kāi)放性的基礎(chǔ)。 Android平臺(tái)中的操作系統(tǒng)采用了 版的內(nèi)核,它包括了顯示驅(qū)動(dòng)、攝像頭驅(qū)動(dòng)、 Flash內(nèi)存驅(qū)動(dòng)、 Binder( IPC)驅(qū)動(dòng)、鍵盤(pán)驅(qū)動(dòng)、 wifi 驅(qū)動(dòng)、 Audio 驅(qū)動(dòng)以及電源管理部分。 Linux 內(nèi)核層為我們?cè)谲浖雍陀布咏⒘艘粋€(gè)抽象層,使得應(yīng)用程序開(kāi)發(fā)人員無(wú)需關(guān)心硬件細(xì)節(jié)。對(duì)于手機(jī)的開(kāi)發(fā)商而言,如果想要 Android 平臺(tái)運(yùn)行到自己的硬件平臺(tái)上就必須通過(guò)對(duì) Linux 層進(jìn)行修改,通常要做的工作就是為自己的硬件便攜驅(qū)動(dòng)程序。 實(shí)現(xiàn)客戶端數(shù)據(jù)庫(kù) SQL 語(yǔ)言 創(chuàng)建表請(qǐng)參考附錄 A。 湖南科技大學(xué)本科生畢業(yè)設(shè)計(jì)(論文) 24 創(chuàng)建數(shù)據(jù)庫(kù) 在 Android 平臺(tái)上,不能像 Mysql 一樣通過(guò)啟動(dòng) mysqld 來(lái)進(jìn)入數(shù)據(jù)庫(kù)進(jìn)行操作,Android 平臺(tái)上的數(shù)據(jù)庫(kù)操作只有通過(guò)執(zhí)行 Java 代碼,將有效的 SQL 語(yǔ)句傳入后臺(tái), 來(lái)進(jìn)行有效操作。這種訪問(wèn)數(shù)據(jù)庫(kù)的方式,是目前唯一在 Android 平臺(tái)上訪問(wèn)數(shù)據(jù)庫(kù)的途徑。數(shù)據(jù)庫(kù)創(chuàng)建代碼如下: public SQLiteDatabase DatabaseonCreate() { SQLiteDatabase db = null。 try { //數(shù)據(jù)庫(kù)名 arashmen,文件格式 .db db = (, MODE_WORLD_WRITEABLE,null)。 } catch (Exception e) { ()。 } return db。 } 客戶端數(shù)據(jù)庫(kù)操作 DBHelper 類(lèi),是數(shù)據(jù)庫(kù)操作類(lèi), onCreate()方法是創(chuàng) 建表, onUpgrade()方法是刪除所有表 , onRoutesInsert() 、 onDepartureTimeInsert() 、 onFareInsert() 、onStationsInsert()分別是對(duì)表 routes、 departuretime、 fare、 stations 進(jìn)行插入數(shù)據(jù)操作, DBHelper 類(lèi)及方法用于數(shù)據(jù)同步更新。 DBHelper 類(lèi)代碼如下: package 。 import 。 import 。 import 。 import 。 import 。 import 。 import 。 import 。 import 。 import 。 public class DBHelper extends SQLiteOpenHelper{ private static final String DATABASE_NAME=。 public static final int DATABASE_VERSION=2。 湖南科技大學(xué)本科生畢業(yè)設(shè)計(jì)(論文) 25 public static final String TABLE_Routes= routes。 public static final String TABLE_DepartureTime = departuretime。 public static final String TABLE_Fare = fare。 public static final String TABLE_Stations = stations。 public DBHelper(Context context) { super(context, DATABASE_NAME, null, DATABASE_VERSION)。 } public void onCreate(SQLiteDatabase db) { ()。 ()。 ()。 ()。 } public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { (DROP TABLE IF EXISTS routes。)。 (DROP TABLE IF EXISTS departuretime。)。 (DROP TABLE IF EXISTS fare。)。 (DROP TABLE IF EXISTS stations。)。 onCreate(db)。 } public void onRoutesInsert(ContentValues values,SQLiteDatabase db){ (TABLE_Routes, null, values)。 } public void onDepartureTimeInsert(ContentValues values,SQLiteDatabase db){ (TABLE_DepartureTime, null, values)。 } public void onFareInsert(ContentValues values,SQLiteDatabase db){ (TABLE_Fare, null, values)。 } public void onStationsInsert(ContentValues values,SQLiteDatabase db){ (TABLE_Stations, null, values)。 } } Table 類(lèi)是將所有要執(zhí)行創(chuàng)建過(guò)程的語(yǔ)句歸到該類(lèi)。 Table 類(lèi)代碼如下: package 。 湖南科技大學(xué)本科生畢業(yè)設(shè)計(jì)(論文) 26 public class Table { public static final String ARASHMEN_TABLE_RPOUTES= routes。 public static final String ARASHMEN_TABLE_DEIPARTURETIME =departuretime。 public static final String ARASHMEN_TABLE_FARE = fare。 public static final String ARASHMEN_TABLE_STATIONS = stations。 public static final String routesTB = create table routes(RouteName char(16) primary key,Content text)。 public static final String departuretimeTB=create table departuretime(id int primary key,RouteName char(16),FirstDepartureTime char(20),LastDepartureTime char(20))。 public static final String fareTB=create table fare(id int primary key,RouteName char(16),isFixedFare char(6),FullFare double)。 public static final String stationsTB=create table stations(id int primary key,Station varchar(50))。 } 客戶端功能模塊實(shí)現(xiàn) 線路查詢 用戶登錄手機(jī)公交線路查詢頁(yè)面,可以用按照站點(diǎn)查詢和按照線路名查詢兩個(gè)功能,線路查詢和站點(diǎn)查詢界面如圖 所示。 圖 (a) 圖 (b) 圖 線路查詢和站點(diǎn)查詢頁(yè)面 線路查詢和站點(diǎn)查詢功能代碼詳見(jiàn)附錄 B。 票價(jià)信息查詢和發(fā)車(chē)時(shí)間查詢界面如圖 所示。 湖南科技大學(xué)本科生畢業(yè)設(shè)計(jì)(論文) 27 圖 (a) 圖 (b) 圖 票價(jià)信息查詢和發(fā)車(chē)時(shí)間查詢頁(yè)面 票價(jià)信息和發(fā)車(chē)時(shí)間數(shù)據(jù)均為虛擬出的數(shù)據(jù),以實(shí)際的湘潭市公交信息為準(zhǔn),票價(jià)信息查詢和發(fā)車(chē)時(shí)間查詢功能代碼詳見(jiàn)附錄 C。 地圖功能 借助 GoogleMap 完成地圖查詢功能,地圖查詢結(jié)果界面如圖 所示。 圖 地圖查詢結(jié)果顯示 湖南科技大學(xué)本科生畢業(yè)設(shè)計(jì)(論文) 28 向 Google 服務(wù)器發(fā)出請(qǐng)求代碼如下: fromGeoPoint = getGeoByAddress(departure)。 toGeoPoint = getGeoByAddress(arrive)。 Intent intent = new Intent()。 ()。 /* 傳入路徑規(guī)劃所需要的地標(biāo)地址 */ (( + GeoPointToString(fromGeoPoint)+ amp。daddr=+GeoPointToString(toGeoPoint)+ amp。hl= + ))。 startActivity(intent)。 地址解 析方法代碼如下: private GeoPoint getGeoByAddress(String strSearchAddress) { GeoPoint gp = null。 try { if (strSearchAddress != ) { Geocoder mGeocoder01 = new Geocoder(, Locale .getDefault())。 ListAddress lstAddress = ( strSearchAddress, 1)。 if (!()) { Address adsLocation = (0)。 double geoLatitude = () * 1E6。 double geoLongitude = () * 1E6。 gp = new GeoPoint((int) geoLatitude, (int) geoLongitude)。 } } } catch (Exception e) { ()。 } return gp。 } private String GeoPointToString(GeoPoint gp) { String strReturn = 。 try { if (gp != null) { 湖南科技大學(xué)本科生畢業(yè)設(shè)計(jì)(論文) 29 double geoLatitude = (int) () / 1E6。 double geoLongitude = (int) () / 1E6。 strReturn = (geoLatitude) + , + (geoLongitude)。 } } catch (Exception e) { ()。 } return strReturn。 } Android 平臺(tái)是由 Google 公司推出的一個(gè)開(kāi)源的手機(jī)開(kāi)發(fā)平臺(tái), Google 公司將軟件 GoogleMap 集成在該平臺(tái)上了,調(diào)出地圖界面就是僅僅幾行代碼,在此所做的工作是,從本地?cái)?shù)據(jù)庫(kù)獲取到合法站點(diǎn)名,將地址解析成對(duì)應(yīng)的經(jīng)緯度,然后再將經(jīng)緯度傳入Google 服務(wù)器 ,Google 服務(wù)器便返回一段數(shù)據(jù)流,客戶端接收后加以處理,并以地圖的形式顯示。 數(shù)據(jù)更新 數(shù)據(jù)更新功能,從服務(wù)器獲得一段數(shù)據(jù)流,將該數(shù)據(jù)流解析,存入手機(jī)數(shù)據(jù)庫(kù),解析表 routes 內(nèi)容的代碼如下: URL url = new URL(“ URLConnection conn = ()。
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1