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

正文內(nèi)容

基于android平臺(tái)的新聞客戶端的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文(編輯修改稿)

2025-07-25 03:46 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 于接口錯(cuò)誤或者網(wǎng)絡(luò)錯(cuò)誤時(shí)或者返回錯(cuò)誤信息時(shí),請(qǐng)求數(shù)據(jù)時(shí)將會(huì)執(zhí)行onfailure()方法。2) 訪問接口成功后,會(huì)從服務(wù)器得到一個(gè)json數(shù)據(jù),我們要做的就是解析它,然后將之填充到我們的頁(yè)面顯示,需要導(dǎo)入json包的支持,代碼見附錄A。3) 加載更多新聞按鈕,是訪問getSpeCatNews這個(gè)接口,點(diǎn)擊按鈕的時(shí)候只是傳的第二個(gè)參數(shù)變成了我們需要加載的新聞個(gè)數(shù),這是一個(gè)變量由我們自己定義出來(lái)的,getSpeCatNews(cid, (), false)。 ()新聞數(shù)目的size就是自己定義出來(lái)的變量。實(shí)現(xiàn)的代碼如下:(new OnClickListener() {public void onClick(View v) {getSpeCatNews(cid, (), false)。}})。  4) 關(guān)于界面的退出,是重寫了onKeyDown()的方法,判斷是否按了后退鍵,然后在界面上提示再按一次退出鍵退出程序,兩次退出操作的時(shí)間間隔超過(guò)兩秒退出無(wú)效,兩秒以內(nèi)完成退出操作,具體界面退出的代碼見附錄 新聞詳細(xì)頁(yè)面的設(shè)計(jì)與實(shí)現(xiàn): 1)頁(yè)面初始化首先要初始化變量一些控件和變量的信息,如上一頁(yè)按鈕newsdetails_titlebar_previous,下一頁(yè)按鈕newsdetails_titlebar_next,評(píng)論的按鈕newsdetails_titlebar_ments,以及手指觸摸屏幕時(shí)記錄的坐標(biāo)StartX起點(diǎn)坐標(biāo)X,float StartY起點(diǎn)坐標(biāo)Y等等相關(guān)的控件及變量。 2)發(fā)送評(píng)論評(píng)論按鈕newsdetails_titlebar_ments會(huì)通過(guò)intent對(duì)象把新聞的nid穿到評(píng)論頁(yè)面,這里是實(shí)現(xiàn)按鈕的監(jiān)聽,實(shí)現(xiàn)代碼:(newOnClickListener() {public void onClick(View v) {Intent intent = new Intent(,)。(nid, mNid)。startActivity(intent)。}})。根據(jù)用戶的體驗(yàn)感,顯示詳細(xì)新聞信息的時(shí)候希望能夠不用返回主新聞界面查看下一條或者上一條新聞,所以在詳細(xì)新聞頁(yè)面添加手勢(shì)判斷功能,手指觸摸屏幕實(shí)現(xiàn)上一條或者是下一條,然后添加動(dòng)畫效果,讓用戶用起來(lái)更加舒服,更加人性化,動(dòng)畫效果的配置在res/anim目錄下。 評(píng)論界面的設(shè)計(jì)與實(shí)現(xiàn) 1)初始化變量首先定義頁(yè)面控件和一些變量,首先定義出評(píng)論界面的控件和變量,如發(fā)表按鈕news_reply_post,LinearLayout news_reply_edit_layout。//評(píng)論的編輯區(qū)域,LinearLayout news_reply_img_layout。//評(píng)論的圖形區(qū)域 2)獲得評(píng)論信息獲得評(píng)論信息,訪問評(píng)論的接口,以get方式傳遞新聞的id,然后從json的格式數(shù)據(jù)中獲得返回的評(píng)論信息,要是沒有網(wǎng)絡(luò)或者傳遞的參數(shù)不正確會(huì)彈出toast框提示錯(cuò)誤信息。獲得評(píng)論的接口地址是:url=:8080/News/getComments?nid=+nidamp。startnid=0amp。count=10。里面的三個(gè)參數(shù)分別是:nid新聞ID,startnid評(píng)論的起始ID和count每次需要獲得的數(shù)目,參數(shù)的作用就是讓我們每次訪問時(shí),只獲取10個(gè)數(shù)據(jù),這樣的好處就是節(jié)省數(shù)據(jù)流量,并且無(wú)需占用手機(jī)額外的內(nèi)存。 3)發(fā)送評(píng)論信息以post方式請(qǐng)求數(shù)據(jù),通過(guò)Requestparams對(duì)象傳遞參數(shù)信息,發(fā)送評(píng)論的接口地址是:String url = :8080/News/postComment,需要傳遞的參數(shù)是:nid新聞ID,region發(fā)送人的地址,content發(fā)送內(nèi)容,訪問的方法是采用異步訪問框架的post方法訪問成功會(huì)返回發(fā)送成功了信息,失敗也會(huì)有相應(yīng)提示,核心代碼參見附錄A。Eclipse Standard服務(wù)器端開發(fā)部分1)首先導(dǎo)入測(cè)試類和mysql的jar包如下圖312。 圖312 測(cè)試類和mysql的jar包2) 3),包括數(shù)據(jù)庫(kù)主機(jī)地址、數(shù)據(jù)庫(kù)名、數(shù)據(jù)庫(kù)端口、數(shù)據(jù)庫(kù)密碼、連接字符串、連接對(duì)象。配置資源文件和JDBC的驅(qū)動(dòng)類型,代碼如下: private static SqlManager manager = null。 // 靜態(tài)變量,支持單態(tài)模式 private PropertyResourceBundle bundle。 // 配置資源文件 private static String jdbcDrive = null。 // JDBC驅(qū)動(dòng)類型 private String DBhost = 。 // 數(shù)據(jù)庫(kù)主機(jī)地址 private String DBname = 。 // 數(shù)據(jù)庫(kù)名 private String DBprot = 。 // 數(shù)據(jù)庫(kù)端口 private String DBuser = 。 // 數(shù)據(jù)庫(kù)用戶名 private String DBpasswd = 。 // 數(shù)據(jù)庫(kù)密碼 private String strcon = null。 // 連接字符串 private Connection conn = null。 // 連接對(duì)象 private PreparedStatement pstm = null。 private CallableStatement cstm = null。 私有的成員變量只是定義出來(lái),并沒有進(jìn)行初始化,用來(lái)配置連接數(shù)據(jù)的各項(xiàng)配置參數(shù)。:DBpassword=123456 ,用new 一個(gè)屬性資源的bundle,參數(shù)是得到一個(gè)配置文件的輸入流,構(gòu)造方法如下:private SqlManager() throws IOException{bundle = new PropertyResourceBundle(getResourceAsStream())。 = getString(DBhost)。 // 讀取主機(jī)名 = getString(DBname)。 // 讀取用戶名 = getString(DBport)。 // 讀取端口 = getString(DBuser)。 // 讀取用戶 = getString(DBpassword)。 // 讀取密碼// 設(shè)置mysql數(shù)據(jù)庫(kù)的驅(qū)動(dòng)程序和連接字符jdbcDrive = 。strcon = jdbc:mysql:// + DBhost + : + DBprot + / + DBname。} 我們對(duì)數(shù)據(jù)庫(kù)的增、刪、改、,在sql語(yǔ)句對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作的時(shí)候會(huì)根據(jù)sql語(yǔ)句的不同,參數(shù)也會(huì)不同,所以要在這里設(shè)置PrepareStatement對(duì)象中sql語(yǔ)句中的參數(shù)的方法,配置參數(shù)的代碼如下:private void setPrepareStatementParams(String sql, Object[] params)throws SQLException{pstm = (sql)。 // 獲取對(duì)象if (params != null){for (int i = 0。 i 。 i++) // 遍歷參數(shù)列表填充參數(shù) {(i + 1, params[i])。 } } }執(zhí)行查詢操作是數(shù)據(jù)庫(kù)操作的核心功能,代碼如下:public ResultSet executeQuery(String sql, Object[] params)throws SQLException{ // 執(zhí)行查詢數(shù)據(jù)庫(kù)接口ResultSet rs = null。(sql, params)。 // 填充參數(shù)rs = ()。 // 執(zhí)行查詢操作return rs。}更新數(shù)據(jù)庫(kù)的代碼如下:public boolean executeUpdate(String sql, Object[] params)throws SQLException {boolean result = false。(sql, params)。 // 填充參數(shù)()。 // 執(zhí)行更新()。result = true。return result。} 4)服務(wù)器端的核心功能就是接收手機(jī)客戶端發(fā)過(guò)來(lái)的指令,獲得參數(shù)對(duì)數(shù)據(jù)進(jìn)行操作,然后返回json格式的數(shù)據(jù)給手機(jī)客戶端,這里面的數(shù)據(jù)交互所用到的技術(shù)是servlet技術(shù)。 ,進(jìn)行說(shuō)明,因?yàn)槠渌牟僮髦噶铑愃疲瑓^(qū)別在于參數(shù)的獲得和json數(shù)據(jù)的生成,下面進(jìn)行詳細(xì)代碼的介紹。 (iso88591)因?yàn)閺氖謾C(jī)客戶端傳過(guò)來(lái)的參數(shù)的編碼是“iso88591”,所以服務(wù)器端接收數(shù)據(jù)是設(shè)置格式編碼為一致。發(fā)送評(píng)論的時(shí)候手機(jī)客戶端會(huì)向服務(wù)器傳遞三個(gè)參數(shù),所以我們要接收者三個(gè)參數(shù):String nidStr = (nid)。 String region = (region)。String content = (content)。接收到的三個(gè)參數(shù)都是String類型的數(shù)據(jù),因?yàn)閚id是int類型,所以要對(duì)其進(jìn)行轉(zhuǎn)換,: int nid = (nidStr)。參數(shù)content代表的發(fā)表評(píng)論內(nèi)容,參數(shù)region代表的是地域,它們都有可能是中文、英文以及數(shù)字,因?yàn)椤癷so88591”并不支持中文,所以這里要將它們轉(zhuǎn)換成“utf8”的編碼格式,這樣才不會(huì)出現(xiàn)亂碼的情況,轉(zhuǎn)換如下:region = (region)。 content = (content)。在獲得參數(shù)以后,將參數(shù)添加進(jìn)去。public void addComment(int nid,String ptime,String region,String content) throws SQLException{sql = INS
點(diǎn)擊復(fù)制文檔內(nèi)容
電大資料相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1