高錦琳
摘要:移動設備由于其輕巧、容易攜帶、功能廣泛等天生的優勢備受歡迎,成為傳媒新平臺,新聞客戶端也隨之興起,移動新聞端能夠攜帶大量的信息資源,有助于新聞信息的傳播,能夠讓用戶在第一時間接收到來自全球各地的信息。本系統力求簡潔明了并且容易操作和后期維護,在功能上很容易從界面了解到具體功能,結構清晰。
關鍵詞:客戶端;Android;新聞
中圖分類號:TP311 文獻標識碼:A
文章編號:1009-3044(2019)08-0042-03
1 系統概述
作為一個新聞平臺系統,在服務器端需完成如下幾個具體的任務:
1)新聞分類:管理員進入該任務模塊,有添加新聞、分類新聞、分類管理等子功能,添加過后的新聞會在新聞分類管理中出現,在新聞分類管理中,可以對新聞分類條目進行查看、修改和刪除。
2)新聞管理: 管理員進入該任務模塊,要有對新聞內容編輯等操作,比如刪除和修改,并且能將該新聞轉移到另外的分類中。
3)評價管理:評價管理是指用戶對于之前發布過的新聞內容的一個評價,管理員能對其進行刪除操作,如果有很多用戶進行評論的話,要有查詢功能,該查詢可以是查詢用戶,也可以是查詢新聞,該功能需要顯示新聞標題、評價用戶、評價內容、評價時間。
4)用戶管理:用戶管理是對注冊過的用戶信息的處理,要能刪除某個用戶或凍結某個用戶。
客戶端需實現如下幾個具體任務:
1)獲取新聞:服務器端發出的新聞需要客戶端接收并在對應新聞分類處進行展示,實現獲取服務器新聞。
2)登錄注冊:使用者首次使用該新聞平臺時,需要先注冊成為平臺的合法用戶,所以,需要根據注冊頁面的要求信息進入正確填入后,完成注冊。接下來根據所填寫的用戶名和密碼進行登錄,正確登錄后才能進行接下來的操作。
3)新聞評價:登錄的用戶可以對某個特定的新聞進行評價,評價后在我的評價欄目中可以看到并且用戶自己可以刪除,在管理員那邊也可以看到該用戶的評價并能刪除。
4)新聞收藏:登錄的用戶可以對某個特定的新聞進行收藏操作,收藏后在我的收藏欄目中可以看到并且用戶自己可以刪除。
2 系統核心功能設計與實現
2.1 新聞分類管理
2.2 新聞評價管理
2.3 新聞管理
2.4 用戶注冊與登錄
登錄的核心代碼如下:
//登錄按鈕響應函數
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中以參數(鍵值對)的形式存在,然后通過String response = HttpUtil.sendRequest(HttpUtil.login, ptr),將HashMap中保存到的用戶名和密碼發送到服務器里進行處理;并且同時接受服務端返回的信息 response,并且此時也將用戶名和密碼信息通過sharedpreference保存在本地,當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中的存儲信息拿到保存的用戶數據,目的確定是哪個用戶的收藏,然后得到新聞的對應數據,將其保存起來,并通知數據改變從而動態實現收藏列表的更新,最后發送http請求到服務器中將收藏內容添加到數據庫,從而在頁面也會有該收藏信息。
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中的用戶名數據,根據該數據進行對某個新聞評價的操作,包括id號、評價時間、標題id、評價內容、用戶昵稱,這些都將保存到集合中,然后將集合數據發送給服務器,該字段分別對應數據庫中評價表的各個屬性,最后通過適配器的設置數據變更提醒進行客戶端的評價數據更新。
3 結束語
本文以Android為客戶端,Web為服務器端設計并實現了新聞平臺管理系統,在服務端,管理員頁面采用動態網頁制作技術,采用SSH框架和數據庫MySQL。在客戶端,使用安卓模擬器模擬實際的安卓手機來運行和測試程序,客戶端和服務器端通過Http請求進行信息傳遞和數據傳遞。
參考文獻:
[1] 蓋索林. Android開發入門指南[M]. 2版.北京: 人民郵電出版社,2015.
[2] 靳巖,姚尚朗. Android 入門開發與實踐[M]. 北京: 人民郵件出版社,2016.
[3] 李佐彬. Android開發入門與實戰體驗[M].北京: 機械工業出版社,2014.
[4] 伯內特,田俊靜,張波,等. Android基礎教程[M].3版.北京: 人民郵電出版社, 2010.
[5] Bruce Eckel. Thinking in Java[M]. Upper Saddle River, New Jersey, USA: Prentice Hall, 2015.
[6] 于志龍,鄭名杰.Android SDK 開發范例大全[M].北京:人民郵電出版社, 2014.
[7] 凌方.基于Java的圖書管理系統的設計與實現[J].計算機光盤軟件與應用, 2014,21: 290+292.
[8] 傅志紅,陳興璐. 深入淺出Google Android [M]. 北京: 人民郵電出版社, 2014.
[9] 李亮. 基于Android系統的小型店鋪輔助管理軟件的設計[J]. 企業科技與發展, 2015(10): 48-50.
[10] DiMarzio. J F Android a programmer's Guide[M]. McGraw.Hill, 2016.
[11] 韓超,粱泉. Android 系統原理開發要點詳解[M]. 北京: 電子工業出版社, 2015.
【通聯編輯:張薇】