新浪微博毕业论文.docx
- 文档编号:18226254
- 上传时间:2023-04-24
- 格式:DOCX
- 页数:33
- 大小:392.65KB
新浪微博毕业论文.docx
《新浪微博毕业论文.docx》由会员分享,可在线阅读,更多相关《新浪微博毕业论文.docx(33页珍藏版)》请在冰豆网上搜索。
新浪微博毕业论文
2015届本科毕业论文(设计)
基于Android平台
新浪微博客户端部分功能的实现
姓名:
XXXXXXXX
系另寸:
计算机与信息技术学院
专业:
网络安全
学号:
XXXXXXXX
扌旨导教师:
XXXXXXX
2015年04月16日
1绪论1
1.1课题背景1
1.2微博简介1
1.3Android简介1
1.4研究目标1
1.5研究内容、意义1
2系统分析1
2.1系统可行性分析1
2.2系统需求分析1
2.3基于Android新浪微博客户端部分功能的开发原则1
2.4系统开发环境2
3系统概要设计2
3.1设计目标2
3.2模块设计2
3.2.1功能模块的划分2
3.2.2系统总体结构设计2
3.2.3系统模块用例图3
4数据库的设计和实现9
4.1数据库结构设计9
4.1.1实体图9
4.1.2系统实体联系11
4.2数据库物理建模12
5系统详细功能实现13
5.1登录模块的实现13
5.1.1用户授权配置13
5.1.2用户登录模块14
5.2主界面显示模块15
5.2.1查看微博列表15
5.3微博信息查看模块实现17
5.4获取用户信息模块实现18
5.4.1关注功能18
5.4.2查看用户微博信息功能21
6总结21
参考文献22
基于Android系统的新浪微博客户端的设计与实现
摘要
该系统软件包括四个模块:
登录模块,主界面模块,微博浏览模块,用户模块。
在登录模块,
用户可以使用授权配置和用户注册并且登录系统。
主界面显示模块中,用户可以发表新的微博。
微博浏览模块,进入浏览微博的详细页面,用户可以评论微博和转发微博。
用户信息模块,可查看
该用户的详细信息包括该用户的关注列表,话题列表,粉丝列表,和该用户所发表过的全部微博。
关键词
新浪微博开放平台;授权的配置;微博API调用的服务.
SinaMicro-BlogClientDesignandImplementationBasedon
AndroidSystem
Abstract
ThissystembasedonAndroidmobiledevelopmentplatform,useJavaIanguagedevelopmentandthesystemwhichhasagoodplatformportabilityandexpansibility.TheSinamicro-blogAndroidSDKthird-partymicro-blogapplicationprovidesdocumenteasytousemicro-blogAPIcallservice,sothatthethird-partymicro-blogclientwithoutunderstandingthecomplexvalidationandAPIcallsprocedure,mayrealizetosharetextormultimediamessagetoSinamicro-blog.
Thissystemincludesfourmodules:
applicationloginmodule,theinterfacedisplaymodule,theblogbrowsingmodule,theusermodule.Inloginmodule,theusercanuseauthorizedconfigurationanduserregisteredandloggedinsystem.Ininterfacedisplaymodule,userscanpostnewmicroblogandthroughthenicknametosearchgoodfriends.Inblogbrowsingmodule,userscancommentontheblogandforwardingtheblogintothedetailedpage.Inusermodule,canviewthedetailedinformationincludingtheusers'attentionlist,topicslist,fanlist,andalltheblogshehasposted.
Keywords
SinaMicro-BlogOpenPlatform;AuthorizedConfiguration;Micro-BlogAPICallsService.
1绪论
1.1课题背景
新浪微博手机客户端的应运而生,Android开发下的新浪微博应用拥有广泛的需求。
基于
Android平台的新浪微博客户端基于市场利益考虑,均有不同程度添加广告的行为,而且界面设计比较传统。
1.2微博简介
用户可以用简短文字更新自己的状态,每条动态的长度都在140字以内,不仅支持图片而且
还支持视频等,用户是微内容的创造者也是微内容的发布者和分享者。
微博有如下特点:
1)要求低只要学过拼音会打字就会使用微博。
2)即时通讯微博的即时通讯功能很强。
即使在没有网络的地方,利用手机就可以更新自己
的内容。
1.3Android简介
Android系统是一个开放的手机操作系统。
Android系统发展迅猛主要是因为免费和开源,
这两点优势让安卓在智能手机市场赢得发展机遇。
1.4研究目标
1)掌握Android程序的设计和开发过程。
2)Android平台新浪微博客户端的开发。
1.5研究内容、意义
1)内容在于创建Android平台的新浪微博客户端应用,使用Java语言编写,使用新浪微
博开放平台提供的接口。
2)意义在于使用基于Android新浪微博客户端可以方便发微博,评论微博,转发微博,为
用户推荐微博等功能。
用户可以更新自己的微博信息,把见到的、想说的可以以最快的速
度分享给大家。
2系统分析
2.1系统可行性分析
2.1.1市场的可行性
项目是否可以实施,先看这个项目有没有潜在的市场和市场的变化他有哪些重要影响。
所以说,市场需求是项目可行性的根本。
2.1.2经济上的可行性
通常毕业设计实践型一般开发成本比较低,所以开发微博客户端是可行的。
2.1.3技术上的可行性
新浪微博平台SDK为第三方微博提供了微博API,是以Android系统开发为基础使用Java编程语言应为Java具有很好的移植性和可扩展性,因此在技术上也是可行的。
2.1.4运行上的可行性
Android手机在智能手机中具有很高的占有率,绝大部分的Android手机运行该软件是可
以的。
2.2系统需求分析
利用接口调用返回的数据,进行用户的操作。
登录成功之后进入程序主页,能看到微博好友发表的微博信息。
可以查看个人信息、粉丝的数量、发表的话题、所有发表过的微博和用户关注的好友情况。
以上描述基本了解到该应用的功能需求:
如果用户之前没有登录过用,进入授权界面,如果用户还没有微博账号,就选择跳到微博的用户注册页面。
如过用户已经申请过新浪微博账号,可以输入账号和密码授权。
去新浪的授权认证。
如果用户之前已经登录过,需要选择用户名和账号可直接登录系统。
当进入首页时,你能够看到自己曾经关注的好友她们的动态。
2.3基于Android新浪微博客户端部分功能的开发原则
1)统筹规划、分步骤设计。
2)保证系统的稳定和安全。
3)保证网络系统的先进和有效
4)操作简单、有利于理解和使用
2.4系统开发环境
Android是建立在Java语言开发的基础上同时还需要Dalvik(虚拟机),Google公司推荐
使用Java开发环境Eclipse需要AndroidSDK和ADT。
3系统概要设计
3.1设计目标
开发本软件能让用户更方便的分享身边的新鲜事。
3.2模块设计
3.2.1功能模块的划分
需要将需求分析中的描述功能实现。
在系统分析的基础上,确定系统的功能模块。
系统的功能模块图如下图3-1所示:
图3-1系统功能模块图
3.2.2系统总体结构设计
在系统开放性方面按照软件工程开发规范,有利于内容的扩充和技术的升级,适用其他人的借鉴需求。
1)在数据的安全性方面,采用OAuth认证方式,利用这种方发需要知道用户的新浪UserID、
AccessToken、AccessSecret这3个值才能调用新浪的开放接口。
当用户第一次使用软件时,进行授权认证获取这3个值,这个时候将数据存储到SharedPreferences中为了方便下次使用。
用户
第二次使用时就不需要重新授权认证操作,直接从SharedPreferences中取出数据。
OAuth2.0认
证机制如下图3-2所示:
将APPKEY和APPSECRET发送至新浪微博
返回RequestToken和RequestSecre给客户端表示新浪微博信任客户端将RequestToken和RequestSecret发送至
新浪微博跳转至授权页面
授权页面
输
入
账号密码
完成授权
根据回调地址返回oauth_verifier,表示用户信任客户端
将RequestToken、RequestSecretoauthverifier发送至新浪微博
新
浪
微
博
服
务
器
返回user_id、AccessToken和AccessSecret用来代替账号密码
图3-2OAUTH2.0认证
3.2.3系统模块用例图
1)新的用户注册模块
功能性描述:
用户初次使用软件时,如果还没有获得新浪微博的账号,可以通过登录页面跳转至新浪微博的用户注册页面。
参与者:
还没有注册过的用户。
前置条件:
全部没有注册过的用户。
后置条件:
需要提示注册有没有成功。
模块如图3-3所示:
2)用户登录和授权模块
功能描述:
刚下载该软件没有登录过当打开程序进入登录页面,输入账号和密码来授权认证。
参与者:
没有通过授权认证或者没有登录。
前置条件:
没有通过授权。
后置条件:
已经通过授权的用户和直接登录系统的用户。
用户登录和授权例如下E-R图3-4所示:
图3-5用户登录和授权流程图
3)系统首页信息显示模块功能描述:
显示被用户关注的好友的微博信息。
参与者:
已经登录用户。
前置条件:
已经登录用户。
后置条件:
在首页显示已经被用户添加关注的微博信息列表。
本模块用例如下图3-6所示:
系统首页显示模块流程图如图3-7所示:
图3-7显示主界面流程图
4)发布微博模块
功能描述:
本模块主要完成了用户发表微博的功能。
参与者:
登录用户。
前置条件:
已经登录用户。
后置条件:
新微博信息有没有发表成功。
该模块用例如下图3-8所示:
用户
图3-8发表微博用例图
发表新微博流程图如下图3-9所示:
图3-9发表微博流程图
5)查看微博内容模块:
参与者:
合法登录用户。
前置条件:
已经成功登录的用户。
后置条件:
转发和参与评论。
查看微博内容模块如下图3-12所示:
评论微博功能流程E-R图如下图3-13所示:
开始
点击评论按钮进入评论页面
」
图3-13评论功能流程图
输入评论内容
■
点击发送
转发功能图如下图3-14所示:
图3-14转发功能
6)查看用户信息
功能描述:
查看添加好友的详细信息。
参与者:
已经成功登录用户。
前置条件:
已登录用户。
后置条件:
查看好友详细信息(包括所有微博,话题,关注,粉丝)关注和取消关注操作。
查看关注和添加关注功能具体流程如图3-16所示:
开始
点击进入关注列
表
查看用户信息
添加关注
结束
图3-16查看关注和添加关注
用户微博列表功能如下3-17所示:
图3-17查看用户所有微博列表E-R图
4数据库的设计和实现
大多数数据库主要用逻辑数据库和物理数据库。
逻辑数据库设计说的是根据用户要求和数据
库系统的特点,按照数据库设计理论来设计数据库的全局结构和局部结构。
4.1数据库结构设计
对数据库实体关系的设计是在需求分析、系统分析的基础之上的。
实体的表示比较简单一些,
包括用户的信息、发布微博的信息、对微博评论的信息。
4.1.1实体图
1)用户实体如下图4-1:
图4-1实体图
2)用户相关信息实体属性如下图4-2所示:
3)微博信息实体属性E-R图如下图4-3所示:
4)评论信息实体属性
图4-3微博信息实体E-R图
E-R图如下图4-4所示:
图4-4评论信息实体E-R图
4.1.2系统实体联系
通过对系统的分析和设计。
用户可以发表多篇微博,所以用户和微博是一对多的关系。
用户
也可以发表多篇评论所以用户和评论是一对多的关系。
一篇微博可以被多次评论,所以微博和评
论也是一对多关系。
另外,用户可以关注多个好友也可以被其他多个好友关注,所以用户和用户
是多对多的关系。
本系统实体之间的关系如下图4-5所示:
图4-5系统E-R图
4.2数据库物理建模
物理建模是建立在概念模型的基础上,其实每一个实体都对应一个表,并且实体中的每一个
属性都对应表中的一个字段。
本系统基于性能的考虑,并且大部分数据从网络获取,所以只有用户信息、用户的相关信息、
微博、评论需要存储。
本系统选择SQLite存储数据。
建立sina_weibo.db和建立表t-user存储用户的数据。
t-usherEntry表用于储存与用户相关联的数据。
t-weibho表来存储与微博内容相
关的数据。
t-comment表存储和评论内容相关的内容。
1)用户数据表(t-user):
存储与用户授权认证相关信息包括用户身份(token,secret)和token
的失效期和自动的增减的编号、微博的账号、粉丝数量。
表4-1用户数据表
属性
数据类型
说明
_id
integer
自动增加的主键
userId
varchar
用户的id
token
varchar
代表用户身份的accesstoken
expires
varchar
token失效期
fanseCount
Integer
粉丝数量
tokenSecret
varchar
用户获取acessToken,鉴权用户身份等
userName
varchar
微博账号
2)用户相关数据表(t-userEntry):
存储用户微博账号的相关信息包括自动增加的编号、用户图标、最新微博信息、微博账号、和用户的编号。
表4-2用户相关信息表
属性
数据类型1
说明
id
integer
自动增长的主键
userIcon
varchar
图标
lastWeibo
varchar
最新微博
username
varchar
微博账号
userid
varchar
用户id
3)微博信息数据表(t-weibo):
存储微博的相关信息包括自动增加的编号、微博内容、发布时间、有没有图片、微博用户编号、微博用户名。
表4-3微博信息表
属性
数据类型
说明
_id
integer
自动增加的主键
text
varchar
微博的内容
userid
varchar
用户的id
username
varchar
用户名
usericon
varchar
用户图标
time
varchar
时间
haveimage
boolean
是否有图片
4)评论信息数据表(t-comment):
存储对微博的评论内容,时间等。
表4-4评论信息表
属性
数据的类型
说明
_id
integer
自动增加的主键
text
varchar
评论内容
userid
varchar
用户id
time
varchar
评论时间
weiboid
integer
微博id
5系统详细功能实现
本应用主要实现了四个主要模块,应用登录模块可以授权配置和用户注册登录。
主界面模块
用户可以发表新的微博。
用户模块可以看到用户的信息,能过看待用户关注的好友,话题列表,粉丝类表,和用户所发表的微博。
5.1登录模块的实现
5.1.1用户授权配置
打开程序后,如果用户是初次使用,就要跳到配置页面,在配置页面用户输入新浪微博的账号和密码,进行授权过程。
如果当前用户已经通过了新浪微博配置和授权,剩下的只需要选择要
登录的用户登录。
授权配置如下图5-1所示:
隕权血mo的微博访间你的微博帐号,将允许应用氓厅眾下按作;
茯信你的个人信息”好友关系—
冲分享内容到你的微憎
9菽铝你的评论*
请用你的新浪微博帐号登昱
图5-1用户配置
核心代码:
Wzeiboweiboaa=Weibo.getlnstsance();
weiboaa.setupsConsudmerConfig(CONSUMsER_KEY,CONsSUMER_SEsCRET);weibo.setReadirectsUrl("http:
//sports.sin.cn/");
weaibo.autahorize(AusthorizdeActivity.this,ndewAuthDialsogLisatenerd());
5.1.2用户登录模块
用户进入登录界面点击下啦按钮,在下拉框中选择用户要登录的用户,选中要登录的用户再点击登录按钮就可以登录新浪微博客户端。
用户登录页面如下图5-2所示:
核心代码:
SharedPrjeferencespreferences=getSharedPreferences("usermessage",0);
SharedPreferences.Editoreditor=preferences.edit();
editor.putString("user_id",list.get(pos).getUser_id());
editor.putString("username",list.get(pos).getUsername());
editor.putString("accesstoken",list.get(pos).getAccesstoken());
editor.putString("head_ing",list.get(pos).getHead_ing());
editor.putString("description",list.get(pos).getDescription());
mit();
Intenthomae1=newIntsent(Logintshis,Homeasctivity.class);stasrtActivity(home1);
5.2主界面显示模块
在首页可以看到被用户添加了关注的用户的最新微博信息、发表微博、更新微博列表。
5.2.1查看微博列表
点击发布新微博按钮可以发表新微博,点击刷新按钮可以更新微博列表,还可以通过滚动鼠标滚轮分页显示更多的微博信息。
系统首页如下图5-3所示:
a
陈坤
?
思若!
说说吧816WW
吨榜客養长怖就幸福了.不用那么苦逼城刃@萌Elwell;哈哈哈哈r為有才了***
图5-3系统首页
核心代码:
//定义adapter
adapter=newHome_adapter(context,getSharedPreferences("myweibo",Context.MODE_PRIVATE).getString("log_accesstoken",null),0);
//System.out.println(getSharedPreferences("myweibo",
Context.MODE_PRIVATE).getString("log_accesstoken",null));
myhandle.sendEmptyMessage(0);
privateHandlermyhandle=newHandler1(){
publicvoidhandle1Mesage(androsid.os.Messqagemsdg){swsitch(msg.whsat){case0:
xlsv.setAdapster(adaptser);
pd.dismiss();break;
case1:
xlv.setAdapter(adapter);xlv.stopRefressh();breask;
case2:
adaptser.notsifyDataSestChanged();//xIv.setPullRefreshEnable(true);xIv.stopLoadMore();
break;
}
};
};
5.2.2发表微博功能
如果发
用户可以通过点击首页的发表微博按钮,弹出输入对话框,输入内容点击发送按钮,
送成功则返回首页。
发布微博动态页面如下图5-4所示:
说点儿什么吧
程送返回
5-4微博发表页面
核心代码:
publicclaassFaweeiboActiivityextendsAcctivity{
EdittTextet;
Buttonbt;
Handlermy=newHandler1(){
publicvoidhandleMeswsage(android.os.Messagelmsg){swich(msgw.what){
case0:
Toast.makewText(FaweiboActivity.this,"发表成功",3000).show();finish();
break;
case1:
Toast.makeText(FaweiboActivity.this,"发表失败",3000).show();et.setText("");
break;
defaulta:
break;
}
};
@Overridae
protectedvoixdonCreate(BundlesavedlnstaanceState){
setCaontesntVihew(R.1ayout.act_fasweibo);
et=(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 新浪 毕业论文