å¿«éã åç¡®å°ééåçæ§å°å·¥å°ä¸å¡å¼èµ·éæº(ç®ç§°å¡æº)ç工使°æ®ä¿¡æ¯å¨å»ºçå·¥ç¨é¢åæä¸ºéè¦ã使¯ï¼ ç±äºåå°ç°åºç¯å¢çå½±å以念éå·¥å ·çéå¶ï¼ ææ¾å卿°æ®ä¿¡æ¯ä¼ ééåº¦æ ¢ã å确度ä½åè¡¥ææªæ½å®æ½æ ¢ç缺ç¹ï¼ å¾å®¹æé æç´§æ¥äºä»¶å¤çç延误ãå æ¤ï¼ å·¥ä½äººå叿坹塿ºç工使°æ®è¿è¡æ´ä¸ºæ¹ä¾¿çè¿ç¨çæ§ï¼ å¦åºäºéç¨åç»æ 线æå¡ææ¯(General Packet Radio Serviceï¼ GPRS)ã ç½é¡µåä¸ªäººè®¡ç®æº(Personal Computerï¼ PC)客æ·ç«¯ç塿ºçæ§ææ¯ææ®µãç¶èè¿ç§çæ§æ¹å¼ä¹è®©å·¥ä½äººåçå·¥ä½å°ç¹ä» ä» å±éå¨åå ¬å®¤çå®¤å æè®¡ç®æºçå°æ¹ãæ¬æè®¾è®¡äºä¸ç§åºäº Android æä½ç³»ç»çæºè½ç§»å¨ç»ç«¯ä¿¡æ¯çæ§ç³»ç»ï¼ å åå©ç¨ææºçä¾¿å©æ§ï¼ åªè¦è½ä¸ç½ï¼ å°±è½éæ¶éå°è§æµå°å ¨å½åå°æ¯å°å¡æºç工使°æ®ã
1.çæ§ç³»ç»æ¹æ¡è®¾è®¡
便æºå¼ 塿ºçæ§ç³»ç» åºäºç¡¬ä»¶çæ°æ®ééåè½ï¼å ¶å·¥ä½æ¥éª¤æ¯:å å°è£ æä¼ æå¨çééçµè·¯æ¿ééå°çåä¸ªæ°æ®ä¿¡æ¯(é«åº¦ã å¹ åº¦ã è§åº¦åè½½éç)åéå°å¤çå¨ ARM9 ä¸;ç¶åå°è¿äºæ°æ®ä» ARM9 å¤çå¨éè¿ä¸²å£åéå° GPRS 模åï¼ éè¿è¿ä¸ªæ¨¡åå°æ°æ®åéå°æå¡å¨çæ°æ®åº(MySQL)ä¸;æåå¨ç½é¡µå Android æä½ç³»ç»çé¢ä¸å¯ä»¥æ¹ä¾¿å°è§æµééå°çæ°æ®ä¿¡æ¯ã便æºå¼å¡æºçæ§ç³»ç»çæ»ä½æ¡æ¶å¦å¾ 1 æç¤ºã
2.硬件åºç¡ç»¼è¿°
å¨ä¾¿æºå¼å¡æºçæ§ç³»ç»ä¸ï¼ç¡¬ä»¶é¨å主è¦è´è´£æ°æ®çééååéï¼å ¶æ ¸å¿æ¨¡åå æ¬:å¤ç卿¨¡åãåä¸ªåæ°çæ°æ®é鿍¡ååGPRS模åãå ¶ä¸ï¼å¤çå¨è¯çéç¨ä¸æå ¬å¸ç²¾ç®æä»¤éå¾®å¤çå¨(Advanced RISC Ma-chinesï¼ ARM9)ç³»åä¸çS3C2440 å¾®å¤çå¨ï¼è¯¥è¯çä¸ä» è½å¤åµå ¥ç¸å ³æä½ç³»ç»ï¼å¯¹æ§å¶èµ·å°ç®¡ççä½ç¨ï¼å¹¶ä¸å ·æè¾é«çå·¥ä½é¢çåç¬ç«çç¡¬ä»¶èµæºã
æ°æ®é鿍¡åå¸åºä¸æå¾å¤ç§ï¼åºæ¬åç齿¯å©ç¨ä¼ æå¨æ¥è¿è¡æ¨¡æ/æ°å(A/D)转æ¢ï¼ å°ééå°ç模æä¿¡å·è½¬åææ°åä¿¡å·ï¼åéç»ARM9å¾®å¤çå¨ï¼å¯¹äºè¿äºä¼ æå¨çéæ©ï¼éç¹åèå ¶æ§ä»·æ¯å精确度ã
卿´ä¸ªçæ§ç³»ç»ç硬件é¨åï¼GPRSæ¨¡åæ¯æå ³é®çï¼å 为å®å³å®çæ°æ®å¨ç½ç»ä¸ä¼ è¾çæçãæ¬ç³»ç»éæ©è¥¿é¨åMC37i åé¢GSM/GPRS模åï¼å®å ·æééè½»ãåèä½çç¹ç¹ï¼ 并䏿¯ç®åå¸åºä¸å°ºå¯¸æå°çåé¢GSM/GPRS模åï¼å ¶ä¼å¿å¨äºæ°¸ä¹ å¨çº¿è¿æ¥ãå¿«éæ°æ®åå¨åæ´å¿«çæ°æ®ä¸è½½é度ãå¨è½¯ä»¶æ¹é¢ï¼éè¿ATæä»¤æ§å¶GPRS模åMC37iãATæä»¤ä¸è¬ç¨äºç»ç«¯è®¾å¤ä¸PCåºç¨ä¹é´çè¿æ¥åéä¿¡ï¼å®æ¯ä»ç»ç«¯è®¾å¤ææ°æ®ç»ç«¯è®¾å¤ãåç»ç«¯éé å¨ææ°æ®çµè·¯ç»ç«¯è®¾å¤åéçã
æ¤å¤ï¼éè¿PPPåè®®å®ç°GPRS模åä¸GPRSç½ç»çè¿æ¥ï¼è¿ç§è¿æ¥æ¹å¼æ¹ä¾¿å°æ¥ä¸ Internetç¸è¿å¹¶å°æ°æ®åéå°PCæå¡å¨ç«¯çæ°æ®åºMySQLä¸ï¼è¿æ ·ï¼æ¢å¯ä»¥å°æ°æ®åºä¸çæ°æ®å¨ç½ç«çæ¾ç¤ºçé¢ä¸çæ§ï¼ä¹å¯ä»¥å¨ Android æä½ç³»ç»å¹³å°ç»ç«¯ççé¢ä¸è¿è¡è§æµãç½é¡µä¸ççæ§æ°æ®çé¢å¦å¾2 æç¤ºï¼ä¸é¢ï¼é对åè åé¨å设计åçåæµç¨è¿è¡è¯¦ç»ä»ç»ã
è¦æ³å®ç°æ¬ç³»ç»å¨ Android æä½ç³»ç»å¹³å°ç»ç«¯ä¸çåºç¨ï¼æ»ä½ä¸å¯åWebæå¡å¨ç«¯çæ¶ææå»ºåAndroid æä½ç³»ç»å¹³å°å®¢æ·ç«¯åºç¨è½¯ä»¶ç设计ãå ¶ä¸æå¡å¨ç«¯è´è´£æ°æ®æ¥æ¶ååå¨ï¼å®¢æ·ç«¯è½¯ä»¶(峿ºè½ææº)è´è´£ä¿¡æ¯çæ¥æ¶ä»¥åç颿¾ç¤ºã
3.æå¡å¨ç«¯è®¾è®¡
3.1 SSH æ´åæ¡æ¶æ¦å¿µ
塿ºçæ§ç³»ç» ä¸çæå¡å¨ç«¯Web æ¶æä½¿ç¨äºSSHæ´åæ¡æ¶ãæè°SSHæ´åæ¡æ¶å°±æ¯:Web 屿æç稳å®çææ¯Struts +ä¸å¡å±æ¡æ¶Spring+ååæ°æ®åºçè§£å³æ¹æ¡Hibernateãæ¬ç³»ç»ä¸SSHæ´åæ¡æ¶ä¸º:Hibernate +Struts2 +Springï¼å ¶ä¸2æäº§åççæ¬ä»£å·ãä¸é¢éè¿°åä¸ªæ¡æ¶çæ¦å¿µä»¥åæ´åçç¹ç¹ã
ï¼1ï¼Hibernate æ¡æ¶
Hibernate æ¯ä¸ä¸ªåè½å¼ºå¤§ç弿ºå¯¹è±¡å ³ç³»æ å°(Object Relational Mappingï¼ORM)æ¡æ¶å·¥å ·ï¼å 许å¼åè 使ç¨å¸¸è§çJava è¯è¨ç¹æ§å®ç°å¯¹è±¡æ¨¡åå°å ³ç³»æ°æ®åºçæ å°ï¼å®å©ç¨åå°æºå¶å¨è¿è¡æ¶å®ç°æä¹ åä¸ä¸ªå¯¹è±¡çåç§æä½ï¼ä¿è¯äºæºç çç®ç»åå®å ¨å°é¢åå¯¹è±¡é£æ ¼ãåæ¶ï¼Hibernate乿¯ä¸ä¸ªé常æµè¡çã弿ºçãæäºé ç½®åè¿è¡çä¸åºäº Java æ°æ®åºè¿æ¥æ å(Java DataBase Connectivity Standardï¼JDBC)ç对象- å ³ç³»æ å°(JORM)å¼æï¼æ¯æ OracleãDB2ãSQL Server åMySQL çä¸»æµæ°æ®åºç³»ç»ãæ¤å¤ï¼Hibernateå¯ä»¥ç¨å¨ä»»ä½éè¦å°Javaå¯¹è±¡åæ°æ®åºè¡¨æ ¼ä¸çæ°æ®è¿è¡æä½çJavaåºç¨ä¸ã
Hibernateå æ¬ä¸¤ç±»é ç½®æä»¶ã第ä¸ç±»é ç½®æä»¶ä¸ºhibernateï¼cfgï¼xmlã卿å¡å¨å¯å¨æ¶ï¼Hibernate æ¥è¯¢ç¬¬ä¸ç±»é ç½®æä»¶éé¢ç屿§æ¥è¿è¡æä½ï¼ä¾å¦æ°æ®åºè¿æ¥å符串åå¯ç 第äºç±»é ç½®æä»¶æ¯æ å°æè¿°æä»¶(æä»¶æ©å±å为* ï¼ hbmï¼ xml)ï¼å®å°åè¯ Hibernateå¦ä½å°ç¹å®çJavaç±»åä¸ä¸ªæè å¤ä¸ªæ°æ®åºè¡¨æ ¼ä¸çæ°æ®è¿è¡æ å°ã
ï¼2ï¼Struts2 æ¡æ¶
Struts æ¯åºäºMVC(Modelï¼Viewï¼Controller)ä½ç³»ç»æçWebåºç¨ç¨åºæ¡æ¶ï¼MVC设计模å¼ç±æ¨¡å(M)ãè§å¾(V)åæ§å¶å¨(C)ä¸é¨åç»æãStruts æå¤§çç¨éå°±æ¯èªå¨è·å表ååæ°(FormBean)ï¼ä»¥åå°æ§å¶å¨ä¸è§å¾å离ï¼å°åºç¨ç¨åºå解为ä¸å¡é»è¾ãæ§å¶é»è¾å表ç°é»è¾ï¼éä½äºåé»è¾å±ä¹é´çè¦ååº¦ï¼æé«äºåºç¨ç¨åºçå¼åé度以åå¯ç»´æ¤æ§åå¯éç¨æ§ã
æ¬ç³»ç»ä¸ç¨å°çæ¯Struts2æ¡æ¶ï¼å ¶ä»£ç åStruts1ç代ç å¹¶ä¸å ¼å®¹ï¼å æ¬çå æä»¶åé ç½®æä»¶é½ä¸ä¸æ ·ï¼Struts1 çç¨åºå¿ é¡»å ä»¥ä¿®æ¹æè½è¿è¡äºStruts2 ä¹ä¸ï¼å¯ä»¥è®¤ä¸ºå®ä»¬æ¯ä¸¤ä¸ªä¸åçæ¡æ¶ãä¸Struts1ç¸æ¯ï¼Struts2 å¨Actionç±»ãçº¿ç¨æ¨¡å¼ãServlet ä¾èµå坿µæ§æ¹é¢é½æå ¶ç¬ç¹çä¼ç¹ã
Struts2 çæ§è¡æµç¨ä¸º: Web æå¡å¨å¯å¨è§£æstrutsï¼xmlãåå§åæ¶æ¯æä»¶åActionè·¯å¾æ å°çèµæºï¼åå§åæ¡æ¶âç¨æ·è¯·æ±(ï¼action)âStruts2è¿æ»¤å¨ä½¿ç¨å¯¹è±¡å·¥å(Object Factoryï¼å¯ä»¥æ¯èªå¸¦æè æ¯Spring æ¡æ¶)å建 Action ç±»ç示ä¾âæ§è¡è½»éçº§çæ§å¶å转(IOC)忦æªå¨(å æ¬è§£æè¡¨ååæ°ï¼æä»¶ä¸ä¼ ï¼å°è§£æç»ææ³¨å ¥ Action 对象)âè°ç¨ Action ä¸ç¨æ·ç¼åçä¸å¡æ¹æ³âæ ¹æ®è¿åçç»æ(Result)è·¯å¾è½¬åè§å¾å±ã
æ¬æçè¿åç»æè®¾ä¸ºJsonåè¡¨æ ¼å¼ï¼å¹¶ä¸ç´æ¥Android ç»ç«¯(客æ·ç«¯)çåºç¨ç¨åºè¯»åã
ï¼3ï¼Spring æ¡æ¶
Springæ¯åºäºä¼ä¸é´Javaç¯å¢(Java 2 Enterprise Editionï¼J2EE)å¹³å°ä¸åå±çåºç¨ç¨åºæ¡æ¶ãç®åæ¥è¯´ï¼å®æ¯ä¸ä¸ªè½»éçº§çæ§å¶å转(IOC) åé¢ååé¢(AOP)ç容卿¡æ¶ã
é¦å ï¼Spring çIOCå æ¬æ§å¶å转åä¾èµæ³¨å ¥ãæ§å¶å转就æ¯ç±å®¹å¨æ¥æ§å¶ç¨åºä¹é´ç(ä¾èµ)å ³ç³»ï¼èéä¼ ç»å®ç°ä¸ï¼ç±ç¨åºä»£ç ç´æ¥ææ§;ä¾èµæ³¨å ¥å°±æ¯ç»ä»¶ä¹é´çä¾èµå ³ç³»ç±å®¹å¨å¨è¿è¡æå³å®ï¼ç±å®¹å¨å°æç§ä¾èµå ³ç³»å¨æå°æ³¨å ¥å°ç»ä»¶ä¹ä¸ã
å ¶æ¬¡ï¼Springå°±æ¯å ¶AOPåºç¨ãSpring 容å¨éæäºTransactionTemplate å¤çæ¹å¼ï¼å®å°è£ äºææå¯¹äºå¡å¤ççåè½ï¼å æ¬å¼å¸¸æ¶äºå¡åæ»ãæä½æåæ¶çæ°æ®æäº¤ç夿ä¸å¡åè½ãè¿äºåè½é½ç±Spring 容卿¥ç®¡çï¼å¤§å¤§åå°äºç¨åºåç代ç éï¼ä¹è½å¯¹äºå¡è¿è¡å¾å¥½ç管çåæ§å¶ã
ï¼4ï¼SSH æ¡æ¶çæ´å
卿¬ç³»ç»å¼åä¸ï¼Struts2ãSpring åHibernateè¿ä¸ä¸ªå¼æºæ¡æ¶å¨Webåºç¨ä¸åèªçä¾§é ç¹ä¸åãStruts2主è¦ä¾§éæè¡¨ç°å±åé»è¾å±åå¼;Spring ä¸»è¦æ¯å¯¹ä¸å¡å±ç屿¬¡ç»åï¼å³æ´æ·±å±æ¬¡çéä½è¦åç¨åº¦;Hibernate主è¦è´è´£Java对象åå ³ç³»æ°æ®åºä¹é´çæ å°ãSSH æ´åæ¡æ¶æ£ç»åäºè¿ä¸ä¸ªæ¡æ¶åèªçç¹ç¹åWebåºç¨å屿æ³ï¼å¹¶ä¸ºWeb åºç¨å屿ä¾äºç¸åºçæ´åçç¥ãWebåºç¨ä¸SSHæ´åæ¡æ¶çå屿¶æå¾å¦å¾3 æç¤ºã
3.2æå¡å¨ç³»ç»è®¾è®¡
ï¼1ï¼æ°æ®åºè®¾è®¡
æå¡å¨ç³»ç»ä¸çæ°æ®åºä½¿ç¨çæ¯ MySQLï¼ç¨æ¥åå¨å¡æºçæ§è®¾å¤ä¸çGPRS模ååéè¿æ¥çééå°çæ°æ®ä¿¡æ¯(è½½éãå¹ åº¦åé«åº¦ç)ï¼ä»¥åææºå®¢æ·ç«¯åºç¨ç¨åºä¸éè¦æ¾ç¤ºçå ³äºè®¾å¤ç详ç»ä¿¡æ¯(æ¯å¦:æå¨çå¸ã设å¤ç¼å·ãæ¥ææ¶é´ï¼ä»¥åç¸åºçæåå¾ç)ï¼è¿äºä¿¡æ¯é½è¦æ¾ç¤ºå¨ç½é¡µä¸å Android æä½ç³»ç»çé¢ä¸ï¼ä»¥ä¾¿å·¥ä½äººåè§æµãæä»¥ï¼æå¿ è¦æ°å»ºä¸ä¸ªæ°æ®è¡¨æ ¼towerï¼å¹¶æ°å¢Idãcityçåæ®µæ¥åæ¾ç¸åºçæ°æ®ï¼é¨åSQL代ç å¦ä¸:
CREATE TABLE 'tower' ('Id' int(11) NOT NULL AUTO_INCREMENTï¼/ /è®¾ç½®è¡¨æ ¼Idçèªå¢æ¹å¼' province' varchar(20) DEFAULT NULLï¼/ /为towerå建province 屿§
'city' varchar(20) DEFAULT NULLï¼/ /å建 city 屿§â â âåå¸î
'pic' varchar(20) DEFAULT NULLï¼/ /å建 pic 屿§â â âå¾ç
'dir' varchar(20) DEFAULT NULLï¼/ /å建 dir 屿§
PRIMARY KEY ('Id') / /å°æ¬è¡¨ç Id ä½ä¸ºä¸»é®) ENGINE = MyISAMAUTO_INCREMENT = 1 DEFAULT CHAR-SET = utf8/ /设置å符éç¼ç 为utf8
ï¼2ï¼æ°æ®æä¹ å±è®¾è®¡
æ°æ®æä¹ 屿¯éè¿Hibernateæ¡æ¶æ¥å®æçãæ ¹æ®æ¬æç¬¬ï¼1ï¼è䏿éè¿°çæ°æ®åºè¡¨æ ¼ towerç设计ï¼å¯ä»¥ä¸ºMyEclipse ç¼è¯ç¯å¢çWebå·¥ç¨æ·»å Hi-bernateåè½æ¥å建ç¸åºçé ç½®æä»¶hibernateï¼cfgï¼xmlï¼ç¶åé ç½®è¿æ¥æ°æ®åºåææä½å®ä½ç±»å¯¹åºé ç½®æä»¶ä¿¡æ¯ç
Hibernateåæ°ï¼å©ç¨MyEclipse çâååå·¥ç¨ææ¯âçæç¸åºå®ä½ç±»åå®ä½æ å°æä»¶ towerï¼hbmï¼xmlï¼æ¤æ¶ï¼å®ä½ç±»åå®ä½å ³ç³»è¡¨ä¸ä¸å¯¹åºï¼èå®ä½æ å°æä»¶æè¿°äºè¿ç§å¯¹åºå ³ç³»ã
ï¼3ï¼ä¸å¡å±è®¾è®¡
ä¸å¡å±çè®¾è®¡ä¸»è¦æ¯éè¿ Spring æ¡æ¶æ¥å®æçã为äºå°æ§å¶å±åä¸å¡å±åå¼ï¼åå¯å°ä¸å¡å±å为Daoå±ãä¸å¡é»è¾å±ä»¥åWebå±ãDaoå±å®æå¯¹æä¹ å对象ç交äº;ä¸å¡é»è¾å±æ¯ä»¥ Daoå±ä¸ºåºç¡ï¼éè¿å¯¹Daoç»ä»¶çè°ç¨ï¼å°è£ 宿ä¸å¡é»è¾å±çå·¥ä½;Web å±å æ¬ MVC 模å¼ä¸çæ§å¶å±å表ç°å±ï¼éç¨Struts2 宿ãå æ¤ï¼å¨æ¬é¡¹ç®ä¸éè¿å¨æºä»£ç æä»¶å¤¹(src)ä¸å建以ä¸çâå ç±»âæ¥å®ç°ã
1ï¼comï¼towerï¼actionå ä¸ç RiverActionï¼javaç±»è´è´£ååºææºç«¯ååºç请æ±ã该类继æ¿comï¼opensym-phonyï¼xwork2ï¼ActionSupport ç±»ï¼è¿æ ·æå¤§å°ç®åäºStruts2 çAction å¼åã
2ï¼comï¼twoerï¼biz å ä¸çTowerBizï¼javaè´è´£å¤çè·åâå ³æ³¨è®¾å¤âçåè¡¨æ¹æ³ getTowerImpList()以åè·ååç份å类设å¤å表 getTowerListByType()ã
3) comï¼twoerï¼daoå ä¸çTowerDAOï¼javaè´è´£ç¼åæ°æ®å¤ççæ¹æ³ï¼ç±TowerBizï¼java è·åã
4)å¨ webï¼xmlåstrutsï¼xmlè¿ä¸¤ä¸ªé ç½®æä»¶ä¸åå«è®¾ç½®Struts2çè¿æ»¤å¨åè¿åJson æ ¼å¼å表:
ï¼action name = " towerAction" class = " comï¼twoerï¼actionï¼TowerAc-tion"ï¼ï¼result type = "json" /ï¼ï¼/actionï¼
4.Android 客æ·ç«¯åºç¨è®¾è®¡
1.Android æä½ç³»ç»
Android æ¯Googleå ¬å¸å¼åçåºäºLinux弿ºçç§»å¨è®¾å¤ç»ç«¯å¹³å°ï¼å®å æ¬æä½ç³»ç»ã ç¨æ·çé¢ãä¸é´ä»¶ååºç¨ç¨åºï¼åæ¶å ¶å¼æ¾æ§ä¸åå¨ä»»ä½ä»¥é»ç¢ç§»å¨äº§ä¸åæ°ç䏿æéç¢ã
é¦å ï¼Androidçæä½ç³»ç»æ¶æéç¨äºåå±çå½¢å¼å ¶æ¶æå¾å¦å¾4æç¤ºãä»å¾4æç¤ºå¯ä»¥çåºï¼Androidæä½ç³»ç»å为åå±ï¼ä»é«å±å°ä½å±å嫿¯åºç¨ç¨åºå±ãåºç¨ç¨åºæ¡æ¶å±ã ç³»ç»è¿è¡åºå±åLinux æ ¸å¿å±ã
å ¶æ¬¡ï¼Android æä½ç³»ç»åºç¨æä¸ºå¹¿æ³ï¼å®çä¼ç¹å¦ä¸ã1)å ¶ç®åæ§ä½¿å¾è½¯ä»¶è§£å³æ¹æ¡å¾å®¹ææ¾å°å¹¶å®æ½ï¼ä¸ºå¼æºè½¯ä»¶å¼å人åæä¾æ¹ä¾¿çæ¡æ¶åå¹³å°ã2)å ¶å¼æ¾æ§è®©è½¯ä»¶æ¬èº«ççµæ´»æ§æ¯ä¸æè½¯ä»¶äº§åå ·ææ´å¤§çèªç±å个æ§åã3)Androidæä½ç³»ç»ç±Google å ¬å¸ä¸»å¯¼ç åï¼åºç¨æ¹é¢æ¥æå ¶ä»ç³»ç»æ 坿¯æçä¼å¿ãç¨æ·å¨ä½¿ç¨ Android çå¨çº¿è½¯ä»¶æ¶ï¼å¯ä»¥ä¸æ¬ç³»ç»å¨è®¡ç®æºä¸ä½¿ç¨çGoogleæå¡è¿è¡çæ£çæ ç¼è¿æ¥ï¼å®ç°Googleæå¡çå®å ¨åæ¥ã
Androidæä½ç³»ç»ä¸å»ºç«çæ¯Android SDK + Java JDK 6 + Eclipse 3.5çå¼åç¯å¢ï¼è¯¥ç¯å¢æ¯åºäºAndroid 2.3.3çæ¬çæ¨¡æå¨å¼åçã
2æ°æ®çæ§åºç¨å¼å
ï¼1ï¼å®¢æ·ç«¯åºç¨ç»æ
ææºå®¢æ·ç«¯åºç¨ç¨åºçæä½ä¸»è¦å æ¬å·æ°è®¾å¤åè¡¨åæ¥ç设å¤åæ°ä¸¤ä¸ªæ¥éª¤ï¼ è¿ä¸¤ä¸ªæ¥éª¤é½éè¿æºä»£ç ä¸çä¸ç±»(客æ·ç«¯å·¥å ·ç±»ã å®ä½ç±»åçé¢ç¸å ³ç±»)æ¥å®ç°ï¼ 客æ·ç«¯åºç¨ç¨åºç»æå¾å¦å¾ 5 æç¤ºã
Y7KLEPW@~T)M9U8~JEZWUA3.jpg
ï¼2ï¼å®¢æ·ç«¯æä½æµç¨
ç¨æ·ä½¿ç¨ Android æä½ç³»ç»æå ¶ç®åï¼ è¿è¡è½¯ä»¶åè¿å ¥è®¾å¤éæ©ç主çé¢ï¼ å¨ä¸»çé¢å¯ä»¥çå°æä¸é¢ä¸æ æåä¸ªå¾æ ï¼ åå«ä»£è¡¨åç±»å±æ§ç设å¤ï¼ å³å ³æ³¨è®¾å¤ã æ±è设å¤ã å®å¾½è®¾å¤åæµæ±è®¾å¤ï¼ ç¶åæ ¹æ®ç¨æ·æè¦çæ§è®¾å¤æå¨ç屿§/åå¸ç¹å»ç¸åºç徿 ï¼ å°å ¶æå¯¹åºçåæ° âtypeâ åéç»æå¡å¨ç«¯ï¼ 并读åæå¡å¨è¿åçæ°æ®å表(æ ¼å¼ä¸º Json å表)ï¼ å¨ Activity çé¢ä¸æ¾ç¤ºï¼ 设å¤å表ç»é¢å¦å¾6a æç¤ºã读å Json å表è¿é¨å代ç å¨å·¥å ·ç±» ConnetWebï¼ java ä¸å®ç°ãJson å表é¨å代ç å¦ä¸:
String str = connWeb(url);/ /æ ¹æ®è¯·æ±çå°ååæ° url è·åè¿åç»æ
JSONObject job = new JSONObject(str);/ /è½¬æ¢ JsonObject 对象
JSONArray jay = jobï¼ getJSONArray ( " sblist");/ /è·å JsonArray对象
for (int i = 0;i ï¼ jayï¼ length();i + = 1) {JSONObject temp = (JSONObject) jayï¼ get(i);â¦â¦/ /卿¤è®¾ç½®å¡æºè®¾å¤åæ°å¹¶æ·»å å°å表ä¸}
ç±äºå±å¹ç©ºé´é®é¢ï¼ å¨å表ä¸åªååºäºè®¾å¤çå°ååç¼å·ï¼ æä»¥ï¼ 卿¯æ¡å表æ¡ç®ä¸è®¾ç½®äºçå¬å¨æ¥è·³è½¬å°å¦ä¸ä¸ª Activity çé¢ï¼ æ¥çç¸åºè®¾å¤ç详ç»ä¿¡æ¯ï¼ 跳转代ç å¦ä¸:tripListViewï¼ setï¼ OnItemClickListener(new OnItemClickListener()) / /设置çå¬å¨ä»£ç
ç¨æ·è¿å ¥è®¾å¤å表åï¼ ç¹å»å表ä¸ç设å¤å³å¯è§æµå°ç¸åºè®¾å¤ç详ç»ä¿¡æ¯ï¼ 设å¤è¯¦ç»ä¿¡æ¯ç»é¢å¦å¾ 6b æç¤ºãæ¤æ¶å·²ç»å°è®¾å¤ééå°ç峿¶æ°æ®å ¨é¨å¿«éã åç¡®å°æ¾ç¤ºå¨ææºä¸ï¼ 并䏿¯æ¬¡å·æ°é½è½éæ°è·åææ°æ°æ®ã塿ºçæ§ç³»ç»ææºæ¾ç¤ºç»é¢å¦å¾6 æç¤ºã mani� �<��[ z="" an="" style="mso-bidi-font-size:14px">Googleå ¬å¸å¼åçåºäºLinux弿ºçç§»å¨è®¾å¤ç»ç«¯å¹³å°ï¼å®å æ¬æä½ç³»ç»ã ç¨æ·çé¢ãä¸é´ä»¶ååºç¨ç¨åºï¼åæ¶å ¶å¼æ¾æ§ä¸åå¨ä»»ä½ä»¥é»ç¢ç§»å¨äº§ä¸åæ°ç䏿æéç¢ã
é¦å ï¼Androidçæä½ç³»ç»æ¶æéç¨äºåå±çå½¢å¼å ¶æ¶æå¾å¦å¾4æç¤ºãä»å¾4æç¤ºå¯ä»¥çåºï¼Androidæä½ç³»ç»å为åå±ï¼ä»é«å±å°ä½å±å嫿¯åºç¨ç¨åºå±ãåºç¨ç¨åºæ¡æ¶å±ã ç³»ç»è¿è¡åºå±åLinux æ ¸å¿å±ã
å ¶æ¬¡ï¼Android æä½ç³»ç»åºç¨æä¸ºå¹¿æ³ï¼å®çä¼ç¹å¦ä¸ã1)å ¶ç®åæ§ä½¿å¾è½¯ä»¶è§£å³æ¹æ¡å¾å®¹ææ¾å°å¹¶å®æ½ï¼ä¸ºå¼æºè½¯ä»¶å¼å人åæä¾æ¹ä¾¿çæ¡æ¶åå¹³å°ã2)å ¶å¼æ¾æ§è®©è½¯ä»¶æ¬èº«ççµæ´»æ§æ¯ä¸æè½¯ä»¶äº§åå ·ææ´å¤§çèªç±å个æ§åã3)Androidæä½ç³»ç»ç±Google å ¬å¸ä¸»å¯¼ç åï¼åºç¨æ¹é¢æ¥æå ¶ä»ç³»ç»æ 坿¯æçä¼å¿ãç¨æ·å¨ä½¿ç¨ Android çå¨çº¿è½¯ä»¶æ¶ï¼å¯ä»¥ä¸æ¬ç³»ç»å¨è®¡ç®æºä¸ä½¿ç¨çGoogleæå¡è¿è¡çæ£çæ ç¼è¿æ¥ï¼å®ç°Googleæå¡çå®å ¨åæ¥ã
ï¼3ï¼æ¥è¦éç¥
æ¥è¦æ¯ä¾¿æºå¼å¡æºçæ§ç³»ç»çä¸ä¸ªéè¦ç»æé¨åï¼ åæ¶æ¥è¦å¯ä»¥å¸®å©å·¥ä½äººååæ¶äºè§£å¡æºè®¾å¤ç°åºçç¶åµãç°æææ¯ä¸ç»å¸¸ä¼ç¨å°è鏣卿¥è¦ï¼ 使¯ï¼ 妿æäºææºçæ§çå å ¥ï¼ å¯ä»¥æ·»å ææºçä¿¡æ¥è¦åè½(çä¿¡æ¯éè¿ç¡¬ä»¶ç³»ç»ä¸ç GPRS è¯ç MC37iåé)ï¼ éè¿çä¿¡æ¥è¦å®ç°è´è´£äººä¸å¨ç°åºä¹è½åæ¶æç¤ºå·¥ä½äººå对系ç»è¿è¡ä¿®å¤ï¼ èµ·å°äºå¤éçç£çä½ç¨ï¼ 鲿¢å¯¹è®¾å¤é ææå以åä¸å ªçåæã
æ¥è¦çä¿¡ç¨åºå¦ä¸:
if(WEIGHTH ï¼ 6000ï¼ 00 | | HEIGHTH ï¼ 120ï¼ 00 | | RANGE ï¼50ï¼ 00 | | ANGLE ï¼ 120ï¼ 00 | | LIJU ï¼ 300000ï¼ 00 ){beep(â¦) ;sentsms (â¦);}elseendif