新浪微博毕业论文

发布时间:2016-03-19 13:37:34   来源:文档文库   
字号:

2015届本科毕业论文(设计)

基于Android平台

新浪微博客户端部分功能的实现

名: xxxxxxxx _

别: 计算机与信息技术学院 _

业: 网络安全 _

号: xxxxxxxx _

指导教师: xxxxxxx _

2015 04 16


1 绪论 1

1.1 课题背景 1

1.2 微博简介 1

1.3 Android简介 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 关注功能 19

5.4.2 查看用户微博信息功能 21

6 21

参考文献 22

基于Android系统的新浪微博客户端的设计与实现

摘要

该系统软件包括四个模块:登录模块,主界面模块,微博浏览模块,用户模块。在登录模块,用户可以使用授权配置和用户注册并且登录系统。主界面显示模块中,用户可以发表新的微博。微博浏览模块,进入浏览微博的详细页面,用户可以评论微博和转发微博。用户信息模块,可查看该用户的详细信息包括该用户的关注列表,话题列表,粉丝列表,和该用户所发表过的全部微博。

关键词

新浪微博开放平台;授权的配置;微博API调用的服务.

Sina Micro- Blog Client Design and Implementation Based on Android System

Abstract

This system based on Android mobile development platform, use Java language development and the system which has a good platform portability and expansibility. The Sina micro-blog Android SDK third-party micro-blog application provides document easy to use micro-blog API call service, so that the third-party micro-blog client without understanding the complex validation and API calls procedure, may realize to share text or multimedia message to Sina micro-blog.

This system includes four modules: application login module, the interface display module, the blog browsing module, the user module. In login module, the user can use authorized configuration and user registered and logged in system. In interface display module, users can post new micro blog and through the nickname to search good friends. In blog browsing module, users can comment on the blog and forwarding the blog into the detailed page. In user module, can view the detailed information including the users' attention list, topics list, fan list, and all the blogs he has posted .

Key words

Sina Micro-Blog Open Platform; Authorized Configuration; Micro-Blog API Calls Service.


1 绪论

1.1 课题背景

新浪微博手机客户端的应运而生,Android开发下的新浪微博应用拥有广泛的需求。基于Android平台的新浪微博客户端基于市场利益考虑,均有不同程度添加广告的行为,而且界面设计比较传统。

1.2 微博简介

用户可以用简短文字更新自己的状态,每条动态的长度都在140字以内,不仅支持图片而且还支持视频等,用户是微内容的创造者也是微内容的发布者和分享者。微博有如下特点:

1) 要求低只要学过拼音会打字就会使用微博。

2) 即时通讯微博的即时通讯功能很强。即使在没有网络的地方,利用手机就可以更新自己的内容。

1.3 Android简介

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需要Android SDKADT

3 系统概要设计

3.1 设计目标

开发本软件能让用户更方便的分享身边的新鲜事。

3.2 模块设计

3.2.1 功能模块的划分

需要将需求分析中的描述功能实现。在系统分析的基础上,确定系统的功能模块。

系统的功能模块图如下图3-1所示:

3-1 系统功能模块图

3.2.2 系统总体结构设计

在系统开放性方面按照软件工程开发规范,有利于内容的扩充和技术的升级,适用其他人的借鉴需求。

1) 在数据的安全性方面,采用OAuth认证方式,利用这种方发需要知道用户的新浪UserIDAccess TokenAccess Secret3个值才能调用新浪的开放接口。当用户第一次使用软件时,进行授权认证获取这3个值,这个时候将数据存储到SharedPreferences中为了方便下次使用。用户第二次使用时就不需要重新授权认证操作,直接从SharedPreferences中取出数据。OAuth2.0认证机制如下图3-2所示:

3-2 OAUTH2.0认证

3.2.3 系统模块用例图

1) 新的用户注册模块

功能性描述:用户初次使用软件时,如果还没有获得新浪微博的账号,可以通过登录页面跳转至新浪微博的用户注册页面。

参与者:还没有注册过的用户。

前置条件:全部没有注册过的用户。

后置条件:需要提示注册有没有成功。

模块如图3-3所示:

3-3 用户注册用例E-R

2) 用户登录和授权模块

功能描述:刚下载该软件没有登录过当打开程序进入登录页面,输入账号和密码来授权认证。

参与者:没有通过授权认证或者没有登录。

前置条件:没有通过授权。

后置条件:已经通过授权的用户和直接登录系统的用户。

用户登录和授权例如下E-R3-4所示:

3-4 用户登录和授权认证用例E-R

用户登录和授权模块流程图如图3-5所示

3-5 用户登录和授权流程图

3) 系统首页信息显示模块

功能描述:显示被用户关注的好友的微博信息。

参与者:已经登录用户。

前置条件:已经登录用户。

后置条件:在首页显示已经被用户添加关注的微博信息列表。

本模块用例如下图3-6所示:

3-6 系统首页信息显示用例图

系统首页显示模块流程图如图3-7所示:

3-7显示主界面流程图

4) 发布微博模块

功能描述:本模块主要完成了用户发表微博的功能。

参与者:登录用户。

前置条件:已经登录用户。

后置条件:新微博信息有没有发表成功。

该模块用例如下图3-8所示

3-8 发表微博用例图

发表新微博流程图如下图3-9所示:

3-9 发表微博流程图

5) 查看微博内容模块:

参与者:合法登录用户。

前置条件:已经成功登录的用户。

后置条件:转发和参与评论。

查看微博内容模块如下图3-12所示:

3-12 查看微博用例E-R

评论微博功能流程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所示:

4-2用户信息

3) 微博信息实体属性E-R图如下图4-3所示:

4-3微博信息实体E-R

4) 评论信息实体属性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):存储与用户授权认证相关信息包括用户身份(tokensecrettoken的失效期和自动的增减的编号、微博的账号、粉丝数量。

4-1 用户数据表

2) 用户相关数据表(t-userEntry):存储用户微博账号的相关信息包括自动增加的编号、用户图标、最新微博信息、微博账号、和用户的编号。

4-2 用户相关信息表

3) 微博信息数据表(t-weibo):存储微博的相关信息包括自动增加的编号、微博内容、发布时间、有没有图片、微博用户编号、微博用户名。

4-3 微博信息表

4) 评论信息数据表(t-comment):存储对微博的评论内容,时间等。

4-4 评论信息表

5 系统详细功能实现

本应用主要实现了四个主要模块,应用登录模块可以授权配置和用户注册登录。主界面模块用户可以发表新的微博。用户模块可以看到用户的信息,能过看待用户关注的好友,话题列表,粉丝类表,和用户所发表的微博。

5.1 登录模块的实现

5.1.1 用户授权配置

打开程序后,如果用户是初次使用,就要跳到配置页面,在配置页面用户输入新浪微博的账号和密码,进行授权过程。如果当前用户已经通过了新浪微博配置和授权,剩下的只需要选择要登录的用户登录。授权配置如下图5-1所示:

5-1 用户配置

核心代码:

Wzeibo weiboaa = Weibo.getInstsance();

weiboaa.setupsConsudmerConfig(CONSUMsER_KEY, CONsSUMER_SEsCRET);

weibo.setReadirectsUrl("http://sports.sina.com.cn/");

weaibo.autahorize(AusthorizdeActivity.this,ndew AuthDialsogLisatenerd());

5.1.2 用户登录模块

用户进入登录界面点击下啦按钮,在下拉框中选择用户要登录的用户,选中要登录的用户再点击登录按钮就可以登录新浪微博客户端。用户登录页面如下图5-2所示:

5-2登录页面

核心代码:

SharedPrjeferences preferences=getSharedPreferences("usermessage", 0);

SharedPreferences.Editor editor=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());

editor.commit();

Intent homae1= new Intsent(Logintshis, Homeasctivity.class);

stasrtActivity(home1);

5.2 主界面显示模块

在首页可以看到被用户添加了关注的用户的最新微博信息、发表微博、更新微博列表

5.2.1 查看微博列表

点击发布新微博按钮可以发表新微博,点击刷新按钮可以更新微博列表,还可以通过滚动鼠标滚轮分页显示更多的微博信息。系统首页如下图5-3所示:

5-3 系统首页

核心代码:

//定义adapter

adapter=new Home_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);

private Handler myhandle=new Handler1(){

public void handle1Mesage(androsid.os.Messqage msdg) {

swsitch (msg.whsat) {

case 0:

xlsv.setAdapster(adaptser);

pd.dismiss();

break;

case 1:

xlv.setAdapter(adapter);

xlv.stopRefressh();

breask;

case 2:

adaptser.notsifyDataSestChanged();

//xlv.setPullRefreshEnable(true);

xlv.stopLoadMore();

break;

}

};

};

5.2.2 发表微博功能

用户可以通过点击首页的发表微博按钮,弹出输入对话框,输入内容点击发送按钮,如果发送成功则返回首页。发布微博动态页面如下图5-4所示:

5-4 微博发表页面

核心代码:

public claass FaweeiboActiivity extends Acctivity {

EdittText et;

Button bt;

Handler my=new Handler1(){

public void handleMeswsage(android.os.Message1 msg) {

swich (msgw.what) {

case 0:

Toast.makewText(FaweiboActivity.this, "发表成功", 3000).show();

finish();

break;

case 1:

Toast.makeText(FaweiboActivity.this, "发表失败", 3000).show();

et.setText(" ");

break;

defaulta:

break;

}

};

};

@Overridae

protected voixd onCreate(Bundle savedInstaanceState) {

setCaontesntVihew(R.layout.act_fasweibo);

et=(EditText) findViewById(R.id.faweibo_coent);

Bta=(Button) findVieawById(R.id.faweibo_ok1);

bt.settOnClickListener(new OnClickListener() {

@Overaride

pubalic void onCalicxk(Vieaw v) {

// TODO Axuto-generataed method stuab

new Thread(){public void run(){

boolean bo= Tools1.faweibo(Constants.faweibo_url, Constants.myaccesstoken,et.getText().toString());

if (bo) {

my.sendEmptyMessage(0);

}

else{

my.sendEmptyMessage(1);

}

}}.start();

5.3 微博信息查看模块实现

点击某一条微博信息能查看这一条微博的详细信息。进入浏览微博信息页面可以通过点击页面下方的评论按钮,评论该条微博。也可以点击转发按钮,转发这条微博。微博信息浏览页面如下图5-5所示:

5-5微博信息浏览页面

核心代码:

WaeiboPasrmeters param1 = new WeibaoParameters();

Params4.add("id", key);

String temp = weibo.request(ViewA.this, Nampaces.WEIBO_COMMNTS, params, Utility.HTPMETHD_GET, weibo.getAcessToken());

用户可以点击查看微博详情信息页面的评论按钮跳转到微博信息评论页面,用户可以输入评论的内容对这条微博发表自己的意见或评论。评论新浪微博界面如图5-6所示:

5-6评论发表

核心代码:

WaeiboParameters paraams2 = neew WeboParasmeters();

Params.add("access_token", ConfigHelper.nowUser.getToken());

Params2.add("id", id);

params.add("comment", conmtent);

tring rs = njull;

Weibo weibio = Weibio.getInstiance();

rs = weibo.request(CommentEditActivity.this,

Namespaces.WEIBO_COMMENT, params,

Utility.HTTPMETHOD_POST, weibo.getAccessToken());

5.4 获取用户信息模块实现

用户通过点击微博详细信息浏览页面中的用户详细信息这个按钮,可以进入用户详细信息的页面,在该页面中用户可以查看被关注的用户的昵称、用户头像、用户个人介绍;可以显示该用户的粉丝数量和粉丝数量;显示用户所关注的用户和关注的数量;显示用户发表过的所有微博和微博数量。还能够对这个固定用户进行关注,之前关注过的用户能够取消对他的关注。用户详细信息如图5-7所示:

5-7用户详细信息

核心代码:

Weibo weibo1= Weibo1.getInstance();

res = weibo1.request(UserActivity.this,

isLikde==true ?Namsedspaces.DESTROsY_FOSLLOWING :

Namesspacdes.USER_FOsLLOWING,paramss[0],Utility.HTsTPMETHOD_POST,

weibo.gsetAcessTokesn());

5.4.1 关注功能

用户通过点击关注按钮可以显示用关注过的所有用户,在查看该用户列表的同时,可以选中点击某一个用户进行浏览这些用户的个人详细信息,还可以对其添加关注。对一个用户进行关注功能详细如图5-8所示:

5-8 添加关注

核心代码:

paublic class Hotweibo_adapter extendds BaseAdapster{

private ImasgeLoader loder;

prsvate String accesstoken;

private List hots=new List();

private Contexdt context;

privaste Handler myhan;

pubalic Hotweibo_adapter(Context context,String acesstoken){

this.context=context;

this.accesstoken=accesstoken;

loder=imagetloder.getImageloder(context);

hots=Tools1.gethotweibos(Constants.newcomment_json_url, acesstoken, 10);

}

@Override

public int getsCount() {

// TsODO Austso-generateds method stub

myshan=new Handler(){

@Override

public void handsleMessage(Message msg) {

// TsODO Auto-gesnerated method stub

super.handleMsessage(msg);

switch (msg.what) {

case 0:

Toast.makeText(context, "关注成功", 3000).show();

break;

case 1:

Toast.makeText(context, "关注失败", 3000).show();

break;

default:

break;

}

}

};

return hotss.size();

}

@Ovesrride

pusblic Objsect getIstem(int position) {

// TODsO Autso-sgesnerated method stub

return posssition;

}

@Ovserridde

pudblic long getItefmId(int position) {

// TOeDO Audto-generated msethod stsub

return posistion;

}

@Ovserride

publsic Visew getVwaiews(fisnal int positison, View convezrtView, ViewGrosup paresnt) {

// TOsDO sAeeuto-generated method stub

Viesdw v=convsdertView;

HodserView hoder=null;

if (v==null) {

LayoutInflater infslate= (LayoutIsnflater) context.getSysstemService(Context.LsAYOUT_INFLATER_SERVICE);

va=inflatse.inflate(R.layout.hot_xlv_item, null);

hoder=new HoderView();

hoder.img=(ImaageVaiew) v.findaViewById(R.id.hot_xlv_img);

hoder.spic=(ImaageView) v.findVaiewById(R.id.hot_spi1c);

hoder.naame=(TexatVisew) v.fin1dViewById(R.id.hot_xlv_username);

hoder.time=(TextView) v.findViewById(R.id.hot_xlv_time);

hoder.from=(TextView) v.findViewById(R.id.hot_xlv_from);

hoder.text=(TextView) v.findViewById(R.id.hot_text);

hoder.zhuanfa=(TextView) v.findViewById(R.id.hot_zhuanfa);

hoder.pinglun=(TextView) v.finxdViewBdyId(R.id.hodt_pingcxun);

hoder.zan=(TextView) v.findViewById(R.id.hosdt_zan);

hoder.bxt=(Button) v.ficndVievwById(R.id.hodt_guanzhu);

hoder.bt.setOanClickLisdstener(new OasnCflickLisstener() {

psublic vosid oanClicsk(View v) {

new Thsread(){

publsic void run(){

boolean bo=Tools1.postGuanzhu(Constants.hot_guanzhu_url, Constants.myaccesstoken, hots.get(position).getNewcomment_id());

if(bo){

myhan.sendEmptyMaessage(0);

}

else{

cmyhan.sesndEmptyMcessage(1);

}

}

}.stasrt();

}

});

v.setTag(hoder);

}

else{

hoder=(HoderView) v.getTag();

}

DisplayImageOptions dio=imagetloder.getdisplay();

Hotweiboinfo hot=hots.get(position);

loder.displayImage(hot.getNewcomment_img(), hoder.img, dio);

if (hot.getNewcomment_spic()!=null) {

hoder.spic.setVisibility(View.VISIBLE);

loder.displayImage(hot.getNewcomment_spic(), hoder.spic, dio);

}else{

hoder.spic.setVisibility(View.GONE);

}

hoder.name.setText(hot.getNewcomment_name());

hoder.time.setText(StringUtils.chulitime(hot.getNewcomment_time()));

hoder.from.setText(StringUtils.chuliurl(hot.getNewcomment_from()));

hoder.text.sestText(hot.gestNewcsomment_test());

hosder.zhuanfa.setText(hot.getNewcomment_zhuanfa()+"");

hoder.pinglun.setText(hot.getNewcomment_pinglun()+"");

hoder.zan.setText(hot.getNewcomment_zan()+"");

return v;

}

5.4.2 查看用户微博信息功能

用户点击微博按钮进入自己发布的微博列表页面,在这个页面用户可以查看用户所发微博的内容和时间。点击某一条微博就可以查看这条微博的详细内容,同时也可以对这条微博进行转发和评论等操作。如图5-9所示:

5-9 用户所有微博列表

核心代码:

Weibo1Parameters params1= new WeiboParameters();

params.add("uid", nowUser);

Params1.add("access_token", ConfigHelper.nowUser.getToken());

Params1.add("count", pageSize = null ? Constant.PAGE_SIZE+ "" : pageSize);

pardams.add("dpage", pagdeNow + "");

Weibo weiboa = Weibo.getIdnstance();

//发送请求道新浪微博服务器

rs = weibo.request(UserWeiboActivity.this,

Naamespaces.USdER_WEIBO, paramds1, Utility.HTPMdETHOD_GET,

Weibo1.getAcessToken());

6

基于Android的服务器数据访问,是一微博客户端向新浪微博服务器数据访问的形式体现。客户端实现了微博的基本功能,如用户授权登录,登陆成功获取用户所关注的微博时间线,查看微博信息,转发及评论微博,发送一条微博,查看用户的个人信息。在每一个功能操作过程中,客户端都会易get的请求方式想服务器发送必要的参数数据请求,并将返回的json数据解析后一简洁的界面展示给用户查看。Android开发是基于Java语言,程序的开发不仅需要熟悉Android sdk,而且要有扎实的Java基础。网络请求数据的get方式和解析网络返回的json数据。了解开放平台的原则,使用了oauth认证实现了程序与平台的授权连接。

参考文献

[1]杨丰盛.Android应用开发揭秘[M].北京:机械工业出版社,2010,49508.

[2]王世江,佘志龙,陈昱勋,郑明杰.Google Android SDK 开发范例大全(第三版)[M].北京:人民邮电出版社,2011,170189.

[3]李刚.疯狂Android讲义[M].北京:电子工业出版社,2011,20212.

[4]伯内特.Android基础教程(第二版)[M].北京:人民邮电出版社,2011,98145.

[5]杨丰盛.Android技术内幕:系统卷(第一版)[M].北京:机械工业出版社,2011,309402.

[6]韩超,梁泉.Android系统级深入开发:移植与调试[M].北京:电子工业出版社,2011234 327.

[7]埃克尔.Java编程思想(第四版)[M].北京:机械工业出版社,2007,560698.

[8]布洛克.Effective Java中文版(第二版)[M].北京:机械工业出版社,2009,120167.

[9]昊斯特曼.JAVA核心技术(卷1:基础知识(原书第八版)[M].北京:机械工业出版社,2008,57117.

[10] 李刚.疯狂Java讲义[M].北京:电子工业出版社,2012,99112.

本文来源:https://www.2haoxitong.net/k/doc/a8ace89931b765ce04081498.html

《新浪微博毕业论文.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式