高錦琳
摘要:移動設(shè)備由于其輕巧、容易攜帶、功能廣泛等天生的優(yōu)勢備受歡迎,成為傳媒新平臺,新聞客戶端也隨之興起,移動新聞端能夠攜帶大量的信息資源,有助于新聞信息的傳播,能夠讓用戶在第一時間接收到來自全球各地的信息。本系統(tǒng)力求簡潔明了并且容易操作和后期維護,在功能上很容易從界面了解到具體功能,結(jié)構(gòu)清晰。
關(guān)鍵詞:客戶端;Android;新聞
中圖分類號:TP311 文獻標識碼:A
文章編號:1009-3044(2019)08-0042-03
1 系統(tǒng)概述
作為一個新聞平臺系統(tǒng),在服務(wù)器端需完成如下幾個具體的任務(wù):
1)新聞分類:管理員進入該任務(wù)模塊,有添加新聞、分類新聞、分類管理等子功能,添加過后的新聞會在新聞分類管理中出現(xiàn),在新聞分類管理中,可以對新聞分類條目進行查看、修改和刪除。
2)新聞管理: 管理員進入該任務(wù)模塊,要有對新聞內(nèi)容編輯等操作,比如刪除和修改,并且能將該新聞轉(zhuǎn)移到另外的分類中。
3)評價管理:評價管理是指用戶對于之前發(fā)布過的新聞內(nèi)容的一個評價,管理員能對其進行刪除操作,如果有很多用戶進行評論的話,要有查詢功能,該查詢可以是查詢用戶,也可以是查詢新聞,該功能需要顯示新聞標題、評價用戶、評價內(nèi)容、評價時間。
4)用戶管理:用戶管理是對注冊過的用戶信息的處理,要能刪除某個用戶或凍結(jié)某個用戶。
客戶端需實現(xiàn)如下幾個具體任務(wù):
1)獲取新聞:服務(wù)器端發(fā)出的新聞需要客戶端接收并在對應(yīng)新聞分類處進行展示,實現(xiàn)獲取服務(wù)器新聞。
2)登錄注冊:使用者首次使用該新聞平臺時,需要先注冊成為平臺的合法用戶,所以,需要根據(jù)注冊頁面的要求信息進入正確填入后,完成注冊。接下來根據(jù)所填寫的用戶名和密碼進行登錄,正確登錄后才能進行接下來的操作。
3)新聞評價:登錄的用戶可以對某個特定的新聞進行評價,評價后在我的評價欄目中可以看到并且用戶自己可以刪除,在管理員那邊也可以看到該用戶的評價并能刪除。
4)新聞收藏:登錄的用戶可以對某個特定的新聞進行收藏操作,收藏后在我的收藏欄目中可以看到并且用戶自己可以刪除。
2 系統(tǒng)核心功能設(shè)計與實現(xiàn)
2.1 新聞分類管理
2.2 新聞評價管理
2.3 新聞管理
2.4 用戶注冊與登錄
登錄的核心代碼如下:
//登錄按鈕響應(yīng)函數(shù)
public void login_mobile_system(View v) {
String un = login_user_edit.getText().toString();
String pd = login_passwd_edit.getText().toString();
Map
ptr.put("un", un);
ptr.put("pd", pd);
String response = HttpUtil.sendRequest(HttpUtil.login, ptr);
if(response==null){
Toast.makeText(LoginActivity.this,"錯誤", Toast.LENGTH_LONG).show();
}else if("fail".equals(response)){
Toast.makeText(LoginActivity.this,"錯誤", Toast.LENGTH_LONG).show();
}else {
MYSharedPreferences = getSharedPreferences("SharedPreferences",
Context.MODE_PRIVATE);
mEditor = mSharedPreferences.edit();
mEditor.putString("un", un);
mEditor.commit();
Intent it=new Intent();
it.setClass(LoginActivity.this, MainActivity.class);
startActivityForResult(it, 1);
Toast.makeText(LoginActivity.this,"ok", Toast.LENGTH_LONG).show();
}
}
先通過String un = login_user_edit.getText().toString();String pd = login_passwd_edit.getText().toString();得到TextView中輸入的用戶名和密碼,將其保存在HashMap中以參數(shù)(鍵值對)的形式存在,然后通過String response = HttpUtil.sendRequest(HttpUtil.login, ptr),將HashMap中保存到的用戶名和密碼發(fā)送到服務(wù)器里進行處理;并且同時接受服務(wù)端返回的信息 response,并且此時也將用戶名和密碼信息通過sharedpreference保存在本地,當(dāng)response==fail時登錄失敗,并且如果response==null則說明沒有該用戶信息,即該用戶名沒有注冊,此時也是登錄失敗,否則將顯示登錄成功。
2.5 新聞收藏
核心代碼如下:
void initData() {
list.clear();
Map
ptr.put("un", un);
String result = HttpUtil.sendRequest(HttpUtil.shoucanglist, ptr);
try {
JSONArray tables = new JSONArray(result);
for (int i = 0; i < tables.length(); i++) {
JSONObject obj_tmp = tables.getJSONObject(i);
Shoucang bean = new Shoucang();
bean.setId(obj_tmp.getInt("id"));
bean.setCtime(obj_tmp.getString("ctime"));
bean.setXid(obj_tmp.getString("xid"));
bean.setXtitle(obj_tmp.getString("xtitle"));
list.add(bean);
}
adapter.setLists(list);
adapter.notifyDataSetChanged();
}
首先通過HashMap中的存儲信息拿到保存的用戶數(shù)據(jù),目的確定是哪個用戶的收藏,然后得到新聞的對應(yīng)數(shù)據(jù),將其保存起來,并通知數(shù)據(jù)改變從而動態(tài)實現(xiàn)收藏列表的更新,最后發(fā)送http請求到服務(wù)器中將收藏內(nèi)容添加到數(shù)據(jù)庫,從而在頁面也會有該收藏信息。
2.6 新聞評價
核心代碼如下:
void initData() {
list.clear();
……
String result = HttpUtil.sendRequest(HttpUtil.pingjialist2, ptr);
try {
JSONArray tables = new JSONArray(result);
for (int i = 0; i < tables.length(); i++) {
JSONObject obj_tmp = tables.getJSONObject(i);
Pingjia bean = new Pingjia();
bean.setId(obj_tmp.getInt("id"));
bean.setCtime(obj_tmp.getString("ctime"));
bean.setXid(obj_tmp.getString("xid"));
bean.setXtitle(obj_tmp.getString("xtitle"));
bean.setPneirong(obj_tmp.getString("pneirong"));
bean.setUser(obj_tmp.getString("nichen"));
list.add(bean);
}
adapter.setLists(list);
adapter.notifyDataSetChanged();
}
用戶評價時首先取出HashMap中的用戶名數(shù)據(jù),根據(jù)該數(shù)據(jù)進行對某個新聞評價的操作,包括id號、評價時間、標題id、評價內(nèi)容、用戶昵稱,這些都將保存到集合中,然后將集合數(shù)據(jù)發(fā)送給服務(wù)器,該字段分別對應(yīng)數(shù)據(jù)庫中評價表的各個屬性,最后通過適配器的設(shè)置數(shù)據(jù)變更提醒進行客戶端的評價數(shù)據(jù)更新。
3 結(jié)束語
本文以Android為客戶端,Web為服務(wù)器端設(shè)計并實現(xiàn)了新聞平臺管理系統(tǒng),在服務(wù)端,管理員頁面采用動態(tài)網(wǎng)頁制作技術(shù),采用SSH框架和數(shù)據(jù)庫MySQL。在客戶端,使用安卓模擬器模擬實際的安卓手機來運行和測試程序,客戶端和服務(wù)器端通過Http請求進行信息傳遞和數(shù)據(jù)傳遞。
參考文獻:
[1] 蓋索林. Android開發(fā)入門指南[M]. 2版.北京: 人民郵電出版社,2015.
[2] 靳巖,姚尚朗. Android 入門開發(fā)與實踐[M]. 北京: 人民郵件出版社,2016.
[3] 李佐彬. Android開發(fā)入門與實戰(zhàn)體驗[M].北京: 機械工業(yè)出版社,2014.
[4] 伯內(nèi)特,田俊靜,張波,等. Android基礎(chǔ)教程[M].3版.北京: 人民郵電出版社, 2010.
[5] Bruce Eckel. Thinking in Java[M]. Upper Saddle River, New Jersey, USA: Prentice Hall, 2015.
[6] 于志龍,鄭名杰.Android SDK 開發(fā)范例大全[M].北京:人民郵電出版社, 2014.
[7] 凌方.基于Java的圖書管理系統(tǒng)的設(shè)計與實現(xiàn)[J].計算機光盤軟件與應(yīng)用, 2014,21: 290+292.
[8] 傅志紅,陳興璐. 深入淺出Google Android [M]. 北京: 人民郵電出版社, 2014.
[9] 李亮. 基于Android系統(tǒng)的小型店鋪輔助管理軟件的設(shè)計[J]. 企業(yè)科技與發(fā)展, 2015(10): 48-50.
[10] DiMarzio. J F Android a programmer's Guide[M]. McGraw.Hill, 2016.
[11] 韓超,粱泉. Android 系統(tǒng)原理開發(fā)要點詳解[M]. 北京: 電子工業(yè)出版社, 2015.
【通聯(lián)編輯:張薇】