亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Android的社團管理APP設計

        2018-06-29 06:00:42張晏齊楊樹媛
        物聯(lián)網技術 2018年6期
        關鍵詞:適配器帖子社團

        張晏齊,田 菲,楊 潔,楊樹媛

        (新疆農業(yè)大學 計算機與信息工程學院,新疆 烏魯木齊 830052)

        0 引 言

        隨著互聯(lián)網技術的飛速發(fā)展和智能手機的廣泛應用,APP作為基于Android平臺開發(fā)的第三方應用,在智能手機的使用過程中扮演著越來越重要的角色。社團是大學生開展活動、認識新朋友的主要組織[1-3],但社團的繁雜性和隨意性使得社團的管理并不順利,雖然目前通過各種主流通信工具在一定程度上改善了此種狀況,但隨著“互聯(lián)網+”的提出,是否能夠實現(xiàn)一款專門將社團與互聯(lián)網緊密結合,以社團服務為目的的APP成為了人們關注的焦點。因此,研究傳統(tǒng)社團管理模式,利用互聯(lián)網技術和Android技術結合傳統(tǒng)社團管理模式和互聯(lián)網技術的新型社團管理模式將成為現(xiàn)代社團管理的新方向[4,5]。

        1 新農大社團管理APP設計

        1.1 總體架構設計

        系統(tǒng)采用模塊化設計方法,由社團展示、帖子管理和成員管理3個模塊組成,權限用戶包括社長、管理員和普通成員。系統(tǒng)功能模塊如圖1所示。

        (1)社團展示模塊。該模塊主要實現(xiàn)社團介紹、社團展示、社團活動點贊、社團活動時間軸等功能,社團可通過這四個功能展示社團的各個方面,吸引新成員。

        (2)成員管理模塊。該模塊主要實現(xiàn)申請入團、申請退團、分配職務、設置管理員、設置群組等功能,可對社團內成員進行有效管理聯(lián)系。

        (3)帖子管理。該模塊主要實現(xiàn)管理員發(fā)帖、刪帖、刪回復和成員瀏覽帖子、帖子回復等功能,可以實時更新社團活動和意見反饋等信息。

        在系統(tǒng)實現(xiàn)中,前臺頁面展示部分采用Java語言和XML語言以及Android Studio開發(fā)工具,后臺采用Java語言,數據庫采用SQLite。

        圖1 系統(tǒng)功能模塊圖

        1.2 數據庫設計

        根據新農大社團管理APP的調研需求,進行數據庫的邏輯設計,系統(tǒng)主要包含9個數據表:

        (1)user(用戶表):用于管理用戶權限、角色信息。

        (2)tb(社團表):用于管理各社團信息,如社團名、社團貼子數等。

        (3)huifu(回復表):用于管理各帖子下回復的內容、所屬帖子、回復人等信息。

        (4)tiezi(帖子表):用于管理各社團的帖子主題、內容、發(fā)帖人、所屬社團等信息。

        (5)tieba_user(社團用戶關系表):用于建立各社團與用戶之間的關系。

        (6)time (社團活動時間軸表):用于管理社團活動的日期、活動內容等信息。

        (7)zhanshi(社團活動展示表):用于管理社團名、簡介等信息。

        (8)join_tb(申請入團表):用于建立申請者與申請社團之間的聯(lián)系。

        (9)quit_tb(申請退團表):功能同上。

        1.3 設計與實現(xiàn)

        1.3.1 界面設計

        新農大社團管理APP的界面設計主要采用Android Studio自帶的TextView,EditView,Button,Listview等布局,其中Listview在功能實現(xiàn)中起著重要作用。Listview是Android應用開發(fā)中常用的組件,其通過列表形式展示數據,具有較強的可擴展性,通常還會給每一項綁定一個點擊時間,用于處理相應請求。該部分由item,適配器和數據三部分組成,根據適配器的不同可分為以下三類:

        (1)ArrayAdapter。使用最為簡單,以數據集合為基礎,只顯示一行文本。

        (2)BaseAdapter。具有較好的擴種行,可自定義出各樣式的布局。

        (3)SimpleAdapter??煞奖愕貙祿熘械膬热萃ㄟ^列表形式展現(xiàn)出來。

        本設計主要使用ArrayAdapter和繼承BaseAdapter的自定義適配器,可根據需要靈活動態(tài)地展示所需內容。

        本設計中使用適配器的主要步驟如下:

        (1)確定Listview所顯示的數據類型,根據不同的數據類型選擇相應的適配器。

        (2)如果顯示的數據類型為單一的文本或列表,可使用固定的適配器,使用規(guī)定好的方法顯示數據:

        listView.setAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, ls)

        (3)若要求顯示的數據多樣,則可選擇自定義適配器。自定義適配器繼承BaseAdapter,在使用時需要重寫:

        @Override

        public int getCount() {}

        @Override

        public Object getItem(int position) {}

        @Override

        public long getItemId(int position) {}

        @Override

        public View getView(int position, View convertView, final

        ViewGroup parent) {}

        在這四種方法中,最主要的是對第四種方法的重寫,其是實現(xiàn)自定義適配器的關鍵部分。

        (4)重寫getView()方法需要確定添加在item中的元素,并將其逐一添加:

        public View getView(int position, View convertView, final

        ViewGroup parent)

        {

        database = s.openDatabase(mContext);

        LayoutInflater inflater = LayoutInflater.from(mContext);

        ViewHolder holder = null;

        if (convertView == null)

        {

        convertView = inflater.inflate(R.layout.item_listview,

        null);

        holder = new ViewHolder();

        holder.button = (Button) convertView.findViewById(R.id.

        dianzan);

        holder.count = (TextView) convertView.findViewById(R.id.

        count);

        holder.info = (TextView) convertView.findViewById(R.id.

        info);

        holder.shetuan = (TextView) convertView.findViewById(R.id.

        shetuan);

        holder.title = (TextView) convertView.findViewById(R.id.title);

        convertView.setTag(holder);

        }

        else

        {

        holder = (ViewHolder) convertView.getTag();

        }

        holder.updateposition(position);

        final ViewHolder finalHolder = holder;

        holder.button.setOnClickListener(new View.OnClickListener()

        {

        @Override

        public void onClick(View v)

        {

        count = finalHolder.bt(mContext,iid,count);

        notifyDataSetChanged();

        }

        });

        holder.title.setText(title.get(position));

        holder.shetuan.setText(shetuan.get(position));

        holder.info.setText(info.get(position));

        holder.count.setText(count.get(position));

        holder.button.setTag(position);

        return convertView;

        };

        (5)當需要對item進行點擊、長按等操作時可以在Java文件中定義:

        //長按item響應事件

        list View.set OnItemLong ClickListener(new

        OnItemLong ClickListener()

        {

        @Override

        public boolean onItemLongClick(final AdapterView<> parent,

        View view, final

        int

        position, long id) {

        AlertDialog.Builder builder = new AlertDialog.Builder(shetuan_

        guanli.this);

        builder.setTitle("選擇以下操作")

        .setItems(new String[]{"刪除數據 "}, new

        DialogInterface.OnClickListener()

        {

        @Override

        public void onClick(DialogInterface dialog,

        int which) {

        switch (which) {

        case ACTION_DELETE:

        //取出ls2中的id的值

        String tiezi_id = ls2.get(position);

        String a[] = {tiezi_id};

        //在huifu表中刪除帖子的回復

        database.delete("huifu", "post_id=?", a);

        //在tiezi表中刪除這條信息

        database.delete("tiezi", "id=?", a);

        //查找tb表中的tz_num將其-1

        String b[] = {String.valueOf(tbid)};

        cursor = database.rawQuery("select * from tb where

        id=?", b);

        if (cursor.moveToFirst())

        {

        tznum = cursor.getInt(cursor.getColumnIndex("tz_num")) - 1;

        }

        //在tb表中修改tz_num

        ContentValues values = new

        ContentValues();values.put("tz_num", tznum);database.update("tb", values, "id

        =?", b);

        ls2.remove(parent);

        mBaseAdapter.remove(position);

        //調用適配器的刪除方法break;

        }

        }

        });

        AlertDialog dialog = builder.create();

        dialog.show();

        return true;

        }

        })

        1.3.2 服務器設計

        部分服務器使用Java語言開發(fā),其中網絡通信使用HTTP協(xié)議。

        超文本傳輸協(xié)議是互聯(lián)網應用最廣泛的一種網絡協(xié)議。HTTP協(xié)議是客戶端和服務器請求和應答的標準,采用了請求/響應模型。由客戶端向服務器發(fā)送請求,包含請求的方法,URL,協(xié)議版本,請求修飾符,客戶信息等。服務器以某狀態(tài)行為響應,響應的內容包括消息協(xié)議版本,成功或錯誤編碼,服務器信息,實體元信息以及可能的實體內容等。本項目考慮到安全性、數據長度及類型,采用POST請求。

        數據交換格式采用JSON。JSON是一種輕量級數據交換格式,其鍵值對可同時傳輸多個數值,且方便區(qū)分使用。在本項目服務器與客戶端交換數據過程中,有數組與列表的傳輸,通過JSON的傳輸方式可方便地交換較復雜的數據類型。

        {"content":["說的真好","很期待啊 ","進入這個社團是正確的 "],

        "username":["admin","admin","admin"],"id":["1","2","4"]}

        1.3.3 結果展示

        將社團信息和社團成員集中管理是本文研究的重點。社團信息管理可極大地凸顯社團的優(yōu)勢,吸引成員加入;社團成員可對社團的發(fā)展現(xiàn)狀有直觀的了解。登錄界面如圖2所示,主界面如圖3所示,群組展示界面如圖4所示,社團展示界面如圖5所示。

        圖3 主界面

        圖2 登錄界面

        圖4 群組展示界面

        圖5 社團展示界面

        2 結 語

        本文設計并完成了基于Android的新農大社團管理APP,實現(xiàn)了各社團基本信息以及活動內容的管理與展示,同時實現(xiàn)了對社團成員基本信息、退團、入團、回復帖子等功能的管理,達到了社團管理簡潔化的目的。

        [1]滕佶祺,陳霖,鐘谷朋,等.社團與活動系統(tǒng)的安全設計與實現(xiàn)[J].信息安全與技術,2017,8(6):26-29.

        [2]李錦康.基于Android的智慧校園生活互動[J].通訊世界,2016 (9):280.

        [3]李盼.高校學生社團的功能研究[D].重慶:西南大學,2016.

        [4]胡月,王以寧,徐鵬,等.互聯(lián)網時代教育類APP開發(fā)——美國《教育技術開發(fā)人員指南》手冊解讀及啟示[J].中國電化教育,2015(12):41-48.

        [5]常青.高校學生社團問題研究[D].長春:東北師范大學,2012.

        [6]彭林,于國龍,宋敏,等.高校社團管理系統(tǒng)設計與實現(xiàn)[J].物聯(lián)網技術,2017,7(2):113-114.

        [7]陳振起.某高校社團管理系統(tǒng)設計與實現(xiàn)[D].廈門:廈門大學,2014.

        [8]董彩華,梁敏健,郭振銘.高校社團管理系統(tǒng)的設計與實現(xiàn)[J].電腦與電信,2017(1-2):28-30.

        猜你喜歡
        適配器帖子社團
        繽紛社團
        最棒的健美操社團
        軍事文摘(2017年16期)2018-01-19 05:10:15
        適配器模式及其應用
        電子測試(2017年11期)2017-12-15 08:57:45
        新型水文測驗GPS適配器設計與應用
        暴力老媽
        K-BOT拼插社團
        中學生(2016年13期)2016-12-01 07:03:51
        基于藍牙串口適配器的GPS接收機與AutoCAD的實時無線通信
        地礦測繪(2015年3期)2015-12-22 06:27:26
        美國麥格普公司新型M—LOK相機三腳架適配器
        輕兵器(2015年20期)2015-09-10 07:22:44
        情事圈點
        女性天地(2012年11期)2012-04-29 00:44:03
        高手是這樣拍馬屁的
        小品文選刊(2009年7期)2009-05-25 09:59:52
        欧美性高清另类videosex| 日本女优一区二区在线免费观看 | 秀人网嫩模李梓熙大尺度| 日韩精品极品系列在线免费视频| 最新日本女优中文字幕视频| 亚洲精品国产精品乱码在线观看| 国产高清一区二区三区视频 | 成激情人妻视频| 日本a一区二区三区在线| 穿着白丝啪啪的av网站| 久久精品欧美日韩精品| 亚洲欧美日韩国产一区| 中国少妇和黑人做爰视频| 亚洲av无一区二区三区久久蜜桃 | 丰满老熟女性生活视频| 国产乱子轮xxx农村| 一本色道久久综合狠狠躁| 国产免费三级三级三级| 久久人妻精品免费二区| 国产乱子伦精品无码专区 | 俺也去色官网| 亚洲高清一区二区三区视频| 国产不卡在线视频观看| 蜜桃无码一区二区三区| 伊人久久一区二区三区无码| 久久午夜一区二区三区| 国产成人亚洲综合| 无码国产激情在线观看| 黑人巨大亚洲一区二区久| 亚洲丝袜美腿在线视频| 欧美极品色午夜在线视频| 99精品免费视频| 日本啪啪视频一区二区| 国产精品9999久久久久仙踪林| 精品久久久久久久久午夜福利| 国产精品综合色区av| 国产精品蝌蚪九色av综合网| 又爽又黄又无遮挡的激情视频| 亚洲色www无码| 亚洲第一区二区精品三区在线| 粗大的内捧猛烈进出视频|