自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

對(duì)于Android導(dǎo)航說明介紹

移動(dòng)開發(fā) Android
學(xué)習(xí)Android導(dǎo)航時(shí),經(jīng)常會(huì)遇到Android導(dǎo)航問題,這里將介紹Android導(dǎo)航問題的解決方法,Android導(dǎo)航有很多值得學(xué)習(xí)的地方。

當(dāng)然Android導(dǎo)航對(duì)ahuaxuan這類剛剛跨出java世界的人來說有些不爽的地方,因?yàn)榛谶M(jìn)程的東東共享數(shù)據(jù)比較麻煩,比如寫一個(gè)ip查詢的組件,希望大家學(xué)習(xí)思考。

最復(fù)雜功能***大的還是freemarker,支持jsp tag的嵌入讓我們可以重用很多已經(jīng)存在的組件,這一點(diǎn)我在之前的文章中也有過比較詳細(xì)的描述(強(qiáng)強(qiáng)聯(lián)手,看freemarker和displaytag的結(jié)合)。由于了解,才有發(fā)言權(quán),django的模板可以說是為互連網(wǎng)應(yīng)用而誕生的,簡(jiǎn)潔及快速開發(fā)的特點(diǎn)讓人情不自禁的喜歡。大多數(shù)模板語言的基本語法都是類似的。

比如在Android導(dǎo)航中顯示值是${},而在django是{{}},freemarker中if判斷為<#if></#if>,而django中是:Django有兩種form。一種是自己定義form class,還有一種是通過我們定義的model自動(dòng)form class。 由于ahuaxuan只做 了一個(gè)信息發(fā)布的小例子。

所以并不能全面的了解或者理解django中form的所有細(xì)節(jié),不過從我涉及到的部分來講,我對(duì)django的從模型創(chuàng)建表單的做法確實(shí)感到有比較大的局限。因?yàn)楹芏鄷r(shí)候,model中的數(shù)據(jù) 并不是從頁面上來的,在這種情況下,form對(duì)象被構(gòu)造出來之后,ahuaxuan還沒有找到修改form中值的方法。

而自定義form類也比較麻煩,就是要寫自己的model,這個(gè)和我們之前的做法比較不一樣,這里的form代表我們java中的value object,model是domain object,在我們的ssh框架中我們通常把value object繼承我們的domain object。

雖然一堆又一堆的人提出了反對(duì)意見,說要把這兩個(gè)對(duì)象分開,因?yàn)樗麄兲幵诓煌膶哟沃?,但是從?shí)踐經(jīng)驗(yàn)中,我們可以看到,這樣做沒有什么不好。而在django中自定義form和model分開的行為可能比較符合一些人的心理。 不過自定義forms也有比較讓人稱道的地方,在form中我們可以自定義驗(yàn)證規(guī)則,同時(shí)我們可以根據(jù)form對(duì)象直接生成頁面中的內(nèi)容,不過這一點(diǎn)其實(shí)也有比較麻煩的地方。

就是如果要改變樣式的時(shí)候就比較麻煩。不過總的來說django的form還是比較有特點(diǎn)的,而且一定程度上給我們帶來了方便。 Django的url轉(zhuǎn)發(fā)是基于正則表達(dá)式的,有的人叫好,有的人叫差,我就是叫差的那一撥人之一。url轉(zhuǎn)發(fā)應(yīng)該是一個(gè)非常清楚。

非常明亮的事情,可是用上這個(gè)正則表達(dá)式匹配的東西之后,我郁悶了,所以我只能回到遙遠(yuǎn)的過去去繞過這個(gè)東東,我不用總可以了吧。 從目前目前掌握的知識(shí)來看,django的views里的東西其實(shí)是controller,為什么叫views?不得而知,不過一直這么沿用下來了。

即使是在自然界,很多表面上去不太一樣得東西,其實(shí)內(nèi)部的原理是一樣的,我就覺得django的views就是struts1.x中的action,為什么這樣說呢,讓我們來看看兩段比較的代碼,***段是django的,第二段是struts1.x。

在這部分開始之前我也想聊聊之前我們一直在講,而且將來還一直會(huì)講下去的一個(gè)話題――狀態(tài)。 之前我們一直在討論,把用戶的狀態(tài)保存在一個(gè)集中的地方,尤其是大規(guī)模集群部署的情況下。

同樣,對(duì)于Android導(dǎo)航來說亦是如此,可以說這條金科玉律不只是針對(duì)某種針對(duì)某個(gè)語言,某個(gè)框架,它應(yīng)該是更高層次的一種理念。那么我們可以把狀態(tài)放到什么地方呢,目前一些流行的選擇是DB(內(nèi)存表,或?qū)嶓w表)。

Android導(dǎo)航,或者cookie,但這幾種選擇并不是可以隨便互換的,比如業(yè)務(wù)數(shù)據(jù)較多的情況下,放在cookie中不是很合適,因?yàn)橛锌赡艹鯿ookie大小的限制,那么放在memcached中。

很遺憾,memcached(使用slab的情況下)中也有它自己的限制,如果狀態(tài)數(shù)據(jù)大小跨度較大,那么丟數(shù)據(jù)的情況有可能發(fā)生,ahuaxuan很久之前在測(cè)試環(huán)境下就碰到過這種情況,由于線上memcached開得較大,所以沒有出現(xiàn)這種情況,關(guān)于這種事件發(fā)生得內(nèi)部原因在ahuaxuan的另外一篇文章中已經(jīng)有了非常詳細(xì)的描述。

【編輯推薦】

  1. Android應(yīng)用程序組建原理深入剖析 
  2. Android SMS短信服務(wù)相關(guān)概念簡(jiǎn)述 
  3. PythonAndroid數(shù)據(jù)庫(kù)相關(guān)代碼解讀 
  4. PythonAndroid安裝卸載程序具體操作方法解析 
  5. Android應(yīng)用程序的四個(gè)關(guān)鍵點(diǎn) 
責(zé)任編輯:chenqingxiang 來源: 人民郵電出版社
相關(guān)推薦

2010-03-03 17:29:30

Android程序

2010-01-19 17:54:47

C++程序

2009-12-22 15:08:46

ADO控件

2010-02-01 18:23:54

Python

2010-02-23 15:04:45

Python 集成開發(fā)

2009-12-21 14:39:09

ADO.NET技巧

2009-12-24 15:42:01

ADO類庫(kù)

2009-12-23 14:07:09

ADO.NET實(shí)例對(duì)象

2009-12-03 11:20:42

Visual Stud

2009-12-24 13:38:07

ADO.NET技術(shù)

2010-02-04 09:55:46

Android DEX

2010-02-04 14:16:45

Android平臺(tái)

2010-02-07 13:55:39

Android圖形

2010-03-03 13:56:24

2009-12-07 17:46:52

WCF框架

2010-02-04 16:37:40

Android程序

2010-02-06 17:43:51

Android應(yīng)用

2010-03-03 17:50:45

Android圖形界面

2010-02-23 17:35:46

Python

2009-12-15 15:13:07

.NET Framew
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)