第03章 掌上杭州【重要】

本软件功能齐全,能成功运行,涉及功能百度地图和分享微博需要修改设置才能使用。
运行本程序前,需重新申请百度地图的key值,添加在AndroidManifest.xml中的meta-data属性中。

所需资源文件以特定的格式压缩为数据包加载到应用中,如果将数据包替换为其他城市的数据包,即可灵活通用。

在加载页面,所有需要的资源文件将被解压到SD卡中指定位置。后续运行不再进行加载,提高速度。

在libs目录下,存放百度地图和邮件开发需要的jar包和so动态库。

assets下存放项目所需资源数据包、百度导航所需文件以及字体库。
其中BaiduNaviSDK_Resource_v1_0_0.png和Channel文件必须存在,用于百度导航。
zshz.zip是项目资源文件。

新浪微博功能开发的准备工作:
1.微博开放平台,注册,完善信息。
2.创建微博应用,微连接。
3.上一步得到创建的app_key,对包名和Android签名注册。
4.下载微博开发所需资料包。
5.Android签名的获取和注册,首先将自己的项目apk安装到手机上,然后选择下载资料包中app_signatures.apk安装到手机,打开填入自己的Android包名,点击生成,获得Android签名后填入注册应用程序页面中的Android签名中。
6.下面介绍注册微博应用中的授权回调页的设置。点击“我的应用”选择“应用信息”,选择“高级信息”,必须要设置高级信息设置中的微博回调页,建议使用默认的。
7.下面介绍WeiboSDK工程导入。从下载的资料包中打开demo-src,选择WeiboSDK复制到与项目同在的工作区,打开eclipse的import导入WeiboSDK工程。
8.下面介绍WeiboSDK的设置。右击工程,点击properties,点击Android,勾选Is Library,点击apply,确定。
9.在微博开放平台下载的WeiboSDK工程包里默认包含一个jar包android-support-v4.jar,此包与本项目中包含的android-support-v4.jar冲突,所以需要在WeiboSDK工程中把这个包删掉。
10.下面介绍对WeiboSDK的挂载。在自己的项目中添加WeiboSDK工程的引用,右击properties点击Android点击add,选择WeiboSDK工程,点击apply,确定。
11.下面介绍debug.keystore的修改。把Android默认的debug.keystore替换成读者下载的资料包中的debug.keystore。位置在eclipse的Window的preferences的Android的build查看。

strings.xml项目所需字符串资源
styles.xml项目界面所需风格样式
colors.xml颜色资源

辅助工具类:com.cn.util
可被项目其他Java文件多次调用,避免重复性开发。
Constant.java常量类,避免重复定义常量,满足许多地方重复调用。
BitmapIOUtil图片获取类,从SD卡中加载指定图片。
ZipUtil解压文件类,程序在初次运行时调用该类,用于将assets中的.zip文件解压到SD卡中供程序中获取资源使用。
PubMethod读取文件类,获取各个界面中所需要的文本信息。
FontManager自定义字体类,将各个界面中的字体设置为用户所需字体。

辅助功能实现:
LoadingActivity加载界面中自定义动画的实现。
WaitAnmiSurfaceView加载动画是用画笔完成的,绘制图形类。
MainActivityGroup主界面,继承了自己写的MZActivityGroup类,这个类有深度,没看懂。
百度地图模块,参考官方文档学习,在com.cn.map包下有个别例子可以参考。

美食模块实现:
美食主界面自定义滚动菜单控件实现SlidingSwitcherView。(封装类,很好的动态控件效果)
介绍美食界面DetailsActivity。

景点功能开发:
景点主界面JDMainAvtivity,包括地图的展示、功能选项、将景点显示在地图中。
当前景点界面JDNewActivity,展现景点的风景图片及文本介绍、调整字体大小。
所有景点界面JDAllActivity,展现所有景点的简略介绍,可点击查看详细信息。
新浪微博功能接受微博登录授权WBMainActivity。
微博分享编辑界面功能WBShareActivity,编辑分享文字或图片并发送到微博。(微博开发中,将本项目的app_key替换成微博开发平台中申请的app_key。目录在com.cn.weibo下的constants.java)
搜索兴趣点功能JDSearchActivity。
LanguageSelectDialog语言选择功能。(改变系统语言的设置需要添加android.permission.CHANGE_CONFIGURATION权限)
建议反馈界面JDJYActivity。

其他模块实现:
娱乐版块的滑动主界面(界面可以滚动切换,该效果取决于ViewPager控件,使用这个控件需要导入相应jar包),该控件需要构造器YuLeActivity实现。
YiLiaoActivity医疗版块。
ZhuSuActivity住宿版块主界面。
ZyActivity住宿版块次界面(包含联网功能)。
搜索模块实现SouSuoActivity,界面是sousuo.xml(其中包含一个AutoCompleteTextView控件,用于搜索框的设置,具有联想功能。还有一个自定义控件,用于设置常见搜索内容的布局),自定义控件类KeywordsView是一个封装的类,可以拿来直接复用。
设置模块SheZhiZiTiActivity实现自定义设置字体。

第04章 BN理财助手【重要】

理财助手几大功能:日常记账--理财常识--计算器--股票行情查看--备忘录。

数据库设计(Sqlite),包括4张表,com.bn.util包下DBUtil.java有建库、建表sql语句、数据库增删改查操作。

理财常识中涉及到的文本信息资源在\res\raw目录下。

辅助工具类:
常量类Constant
自定义字体类FontManager
数据库工具类DBUtil.java

欢迎功能模块:
首次启动时的欢迎页和引导页。
欢迎界面:WelcomePageActivity包含一个界面由明逐渐变暗的效果。
引导页面:在布局guide.xml中包含了一个android.support.v4.view.ViewPager页卡控件,可以用来实现屏幕间的切换。其中包含四个imageview,每个都加载了drawable目录下的dot.xml文件。其适配器是ViewPagerAdapter。GuideActivity是实现包括如何初始化整个引导页以及引导页的相关功能、底部小点标志效果的实现。

各个功能模块:
主界面:MainActivity
日常记账:AccountActivity,主要有一个viewpager和两个子界面。
账单明细界面:布局主要是由一个ListView列表构成,account_paylist的子布局list_item.xml。其实现是PayListActivity,用于显示所有的账单项目,列表中显示的是账单的简略信息,单击其中一项可以查看该项账单全部信息。
自选股界面:activity_stock_main.xml的子布局stock_row.xml。向用户展示已被添加进数据库的股票的最新行情,实现是StockMainActivity。
自选股界面下方搜索添加:StockSearchActivity实现新股票的查询和添加功能。
股票详情界面:StockDetailActivity里面涉及到查看选中的股票详细信息,通过抽拉屏幕左侧隐藏的抽屉查看选中股票的走势图。其中,抽屉的自定义适配器实现是MyAdapter。
股票模块下工具类中的方法:ToolClass。为便于修改,避免代码冗余,将使用频率较高的工具方法写在工具类中,可以便于维护与调用。
理财常识首页实现:KnowledgeActivity首页功能包括理财常识所含内容的展示及各个文档的查看。
理财首页切换后的阅读界面:KnowledgeDetailActivity实现显示首页上点击的任意图书文档,下方的拖拉条能调整字体大小。
阅读界面中查看功能中使用的方法TxtReader.getText(),该方法实现TxtReader,以字节流读取内容,再把字节流转换成字符流返回输出,用于按行读取资源文件中的文本文件,并以字符串的形式返回。
备忘录功能:NotepadActivity实现备忘录的查看、删除、添加,ListView的每一行只显示备忘录内容的前20个字(在DBUtil中获取数据)。
备忘录添加编辑界面:NotepadEditActivity实现把数据添加进数据库的操作。
计算器功能:CalculatorActivity实现简单的加减乘除四则运算。Judge辅助类里包含按钮按下后在TextView文本框里显示的判断以及对String字符处理的相关方法。
关于助手模块:SprcificationActivity实现。

第05章 LBS公交助手【重要-可运行-百度地图二次开发】
LBS交通软件--公交助手

选择城市-线路查询-换乘查询-定位附近站点(线路信息界面,换乘方案界面,步行导航界面,地图显示界面)
支持语音导航,资源文件城市单独建成数据库便于二次开发。

本项目libs目录结构下,是百度地图开发所需jar包和So动态库。
assets目录下,存储资源是本项目所支持的城市公交线路数据和百度导航所需文件。

数据库表设计:该应用包括2张表,公交类型表和公交线路表。

进入百度地图LBS开放平台,点击获取密钥,创建应用,选择Android SDK,输入SHA1码(eclipse生成的),即可获取百度地图的api-key值。

百度地图的显示:在应用的AndroidManifest.xml中添加相应的开发密钥以及相应的权限,在地图布局xml文件中添加地图控件即可。
(添加开发密钥--Android权限--地图控件)

res/values目录下,string.xml存放项目字符串资源,colors.xml颜色资源,style.xml对话框的样式。

辅助工具类:
常量类Constant。
工具类ConstantTool。
换乘路径规划类,GetBusLineChange提供步行路段信息、乘车路段信息。
定位和获取附近公交站工具类,GetBusStationData实现先定位,通过百度提供的POI检索接口,获取附近公交站,然后通过文字和地图的方式反馈给用户。

各个功能模块:
选择城市界面:CityActivity。
主界面:MainActivity实现线路、换乘、站点按钮切换,或者通过左右滑动(ViewPager控件)切换到相应功能。
线路查询界面:BusLineActivity通过poi检索获得用户想要查询的公交线路的各站点信息以及首末发车时间。
在地图上显示当前线路:BusLineMap可以查看当前线路和具体站点。
换乘方案查询界面:SearchLineChangeActivity实现用户输入起点和终点信息完成后点击查询按钮,将列出所有换乘方案。
换乘方案查询界面的子界面:ChangePlanActivity展示具体的换乘方案信息。
创建导航视图并实时更新类:BNavigatorActivity包含语音播报功能。
定位附近站点:MainActivity类中initNearStation实现定位附近站点界面初始化方法。
站点信息界面:SetActivity显示通过当前站点的所有公交路线,可将当前站点设为换乘查询的起点或终点。
定位附近站点地图界面:PoiSearchStationMap。

第06章 天气课程表【重要】

学生辅助软件-天气课程表(目前程序有个bug,点击切换城市后会闪退)

以天气预报和课程表为目标,由天气课程表和桌面小挂件widget组成。实现显示全国主要城市的天气情况以及查看课程安排功能。小挂件widget实现了呈现已选择城市的当天天气情况和查看当天课程安排的功能。

输入学期开始时间--查看天气单日课程--添加、查看、编辑课程信息--查看整周课程--显示桌面小挂件

数据库设计:SQLiteUtil创建3张表,存储课程名称表、存储课程时间表、记录学期开始时间表。

天气预报ak值的申请,利用百度LBS开放平台,创建应用,选择服务端,获取ak(调用车联网API),写入JSonInfoUtil类中。

资源目录下dimens.xml是自定义字体大小资源。

辅助工具类:
常量类Constant。
天气预报工具类:JSonInfoUtil实现如何从百度车联网API获得天气预报的相关数据,并处理成需要的信息。
本地数据库开发:SQLiteUtil将涉及到的课程信息保存到本地,实现对课程信息的增删改查。
获得整周显示日期工具类:DateUtil提供查看整周课程界面所需的周一至周日所对应的日期。
各个功能模块:
输入学期开始时间模块:LandingActivity实现输入学期开始时间,点击下一步进入主界面。
主界面:OddDaysActivity实现切换城市获得天气、添课按钮、整周按钮、选择周数、左右滑动切换、点击周一至周七切换功能。
添加到ViewPager中的七个主类:其中之一是周一MondayActivity。
给ViewPager添加适配器:MyBaseAdapter。
添加课程界面:AddCourseActivity。
查看显示选择课程详细信息界面:OddListSelectedActivity。
编辑课程信息界面:EditCourseActivity。
查看显示当前选择周数的所有课程(整周界面):WholeWeekActivity。
给整周界面的ListView添加的自定义适配器类:WholeWeekAdapter。
桌面widget模块:将信息显示到桌面是通过添加小挂件的设置将天气课程表中的widget—挂件显示到桌面,可通过点击该widget所属屏幕的任一区域进入到天气课程表主界面。widgetlayout.xml是显示城市及天气信息的布局文件。显示桌面widget界面的元布局文件是widgetprovider.xml。
当天气课程表中的Widget显示在桌面上时,定时更新时间的功能实现:TimeService。(桌面显示的课程信息是由OddDaysActivity类发送的)
在类DayMessProvider(extends AppWidgetProvider)中接收的关于天气和课程信息的Intent是由OddDaysActivity类发送来的。

第07章 手机新生小助手【重要】

校园软件——新生助手

实现功能:认识联大(学校概况、唐山介绍、学院信息)--报到流程--校园导航--唐山导航(模拟导航、真实导航、GPS定位)--更多信息

首次打开本软件,进入加载界面,本应用所需资源文件将被解压到SD卡中指定位置。然后进入主界面。
在libs目录下,存放的是百度地图开发需要的jar包和so动态库。
在assets目录下,存放的是本项目所需资源压缩包、百度导航所需文件、方正卡通字体库。

辅助工具类:
常量类:Constant。
图片获取类:需要加载大量图片,从SD卡中加载指定的图片,BitmapIOUtil。
解压文件类:程序在初次运行时将调用ZipUtil,用于将/assets目录中的.zip文件解压到SD卡中供程序使用。
读取文件类:PubMethod用于获取各个界面中所需要的文本信息。
自定义字体类:FontManager用于自定义设置各个界面的字体。
平面地图类:BNMapView实现了平面图的触控、添加气球以及平面图的放大缩小功能;
   MapSQData类获取各个建筑物的名称、包围盒组、边框、气球点。
   MapSQUtil类是遍历所有建筑物的id编号,返回指定建筑物的id,不存在返回-1。
加载功能模块:
在欢迎界面中设计了加载功能,用于解压assets文件下的数据包。
LoadingActivity首次进入本应用时加载界面中自定义动画的实现。
WaitAnmiSurfaceView绘制加载界面动画图形。

各个功能模块:
主界面:MainActivityGroup实现主界面左右滑动效果。继承于MZActivityGroup。
认识联大界面:LianHeActivity实现ViewPager功能,左右滑动切换。
学校概况界面:SchoolActivity。子界面是SchoolDetialActivity,实现文本展开与收起。
学院信息界面下子界面:InstituteDetailActivity
唐山介绍界面下子界面:TangShanInfor2Activity实现子界面画廊Gallery功能。TangShanInforActivity实现子界面图片和文字结合的方式循环滚动。
报到流程模块:ReProActivity。
校内导航模块:点击菜单栏的校内导航,切换到校内地图界面。SchoolMapActivity实现了校内定位搜索以及等比例放大缩小功能。
唐山导航模块:TangShanMapActivity实现调用百度地图、路线规划、GPS定位、导航,可收起或展开搜索下拉按钮。(百度地图需要重新申请ak值,添加到AndroidManifest中)。
BNavigatorActivity为创建导航视图并实时更新视图的类,本类调用了语音播报功能。
LocationActivity实现GPS定位功能,包括初始化gps、判断gps是否打开以及跳转至开启gps界面方法。
更多信息模块:MoreActivity。

第08章 餐饮行业管理系统—Pad点菜系统【重要,三个端可运行,服务端和PC端都是Java应用】

本系统包括PC端(OrderDishesPC)、服务器端、Pad移动端(Mainsurface)3部分。

PC端主要实现对饭店资源以及订单的管理功能(查询更改菜品信息、更改餐台信息、添加删除员工、查询订单结账);
服务器端实现数据的传输以及对数据库的操作(接收数据、发送数据、操作数据库);
pad端实现员工的登录注销、开台点菜和查看订单的功能(员工登录和注销、修改密码、查询餐台开台、查询菜品点菜、查询订单加菜退菜)。

数据库orderdish设计:18张表分别为,权限表、角色-权限对应表、类别表、计量单位表、主类表、点菜确认单表、订单表、餐台表、餐台类型表、角色表、餐厅表、结账流水表、菜品信息表、菜品图片表、菜品规格表、菜品系别表、员工信息表、员工负责餐桌表。

本系统后台数据库采用的是MySQL,开发时使用Navicat for MySQL实现对MySQL数据库的操作。可以使用Navicat for MySQL链接MySQL数据库并进行相关的初始化操作。

Android端:
员工登录界面LoginActivity.java在获取了员工的编号和密码之后,根据不同的情况做出不同的操作并给出不同的提示信息。
设置登录界面ResetLoginActivity只有在设置的登录界面输入正确的密码,才可以对相关信息IP和密码进行设置。
在设置界面单击IP设置按钮,进入IP设置界面ResetUIActivity以完成输入当前IP测试连接是否成功。密码设置ResetPassWord。
在欢迎界面点击注销按钮,之后进入员工注销界面LogoutActivity,填入员工信息之后根据信息的正误进行相关操作功能。
点菜模块:点菜界面SelectVegeActivity菜品信息、菜品图片的获取及点击菜品图片不同位置实现不同功能。
开台模块:介绍OpenTableActivity开台、取消,以及点击餐台后进行的操作与执行。
已选菜品模块:选好菜品后进入ShowOrderActivity界面。在该界面对已选菜品信息可以查看、数量修改、下单等操作。
餐台加菜模块:在用户开台、点菜、下单之后进行的操作。需要先得到已开的餐台,选择已开餐台进行加菜然后下单。在获得餐台信息后,通过Handler发送到OpenTableActivity中,然后通过Intent传递到SelectTableActivity来选择已经有人的餐台。
账单查询模块:每个餐桌产生一个订单后,用户可以在点菜界面点击账单查询来查看订单的详情,可以对订单进行修改等操作。OrderManageActivity订单管理。

与服务器连接的功能:包括服务器对员工登录权限的验证、设置IP测试连接验证等。工具类DataUtil。

第09章 百纳音乐播放器【重要-三个端可运行-服务端和PC端都是Java应用】

"网络音乐播放器"

由PC端、服务器端、Android客户端3部分构成。

PC端实现了对歌手、歌曲以及专辑的增删改功能。(用eclipse运行即可,找到PC端有main方法的那个类,右键点击Run as -> JAVA Application)

服务器端实现了数据传输及数据库的操作。(用eclipse运行即可,找到服务端有main方法的那个类,右键点击Run as -> JAVA Application)
(本例服务端是直接运行的Java服务端,另一种方式是服务端要部署在tomcat上面)

Android端实现了本地音乐的扫描及播放、网络音乐的查找及下载、音乐播放过程中的可视化效果。

Android端:本地音乐的扫描和播放、网络音乐的搜索和下载、音乐播放的可视化效果(即时歌词、频谱,桌面上可有控件进行显示)。
PC端:管理员登录、管理歌手信息、管理歌曲信息、管理专辑信息。
服务器端:接收发送数据(服务器端利用服务线程循环接收Android端传过来的数据,经过处理后发给PC端)、操作数据库(利用MySQL这个关系型数据库对数据进行管理,服务器端根据Android端和PC端发送的请求调用相应的方法,通过这些方法对数据库中的数据进行相应的操作)。

后台数据库采用的是MySQL,开发时使用用户管理界面Navicat for MySQL实现对MySQL数据库的操作。
在Navicat中创建数据库musicbase,字符集选择utf8--UTF-8 Unicode和utf8_general_ci,然后建表。
整个三端系统运行时,先打开Navicat,然后运行mServer服务端,然后运行客户端即可(注意如果连不上数据库,可能是驱动jar包版本相对Navicat太低)。

PC端功能开发:
用户登录界面LoginFrame,界面监听JLoginPanel。
主管理界面的树结构模型PrimaryTree。
歌手管理界面创建表格JMakeSingerPanel,编辑按钮的绘制器类MyLookSingerCellRenderer,编辑器类MyLookSingerCellEditor,
工具条中的条件查看、添加JLookSingerPanel,JAddSingerPanel。
歌曲管理界面添加歌曲JAddMusicPanel。
专辑信息管理的自定义表格模型及表格控件MyTableModel,添加图片JAddPicPanel。

服务器端开发:
常量类Constant。
服务主线程接收Android端和PC端发来的请求,将请求交给代理线程处理,代理线程通过调用DB处理类中的方法对数据库操作,
然后将操作结果通过流反馈给Android端和pc端。主线程类ServerThread,代理线程类ServerAgentThread。
DB处理类DBUtil包含建立数据库及对数据的增删改查操作。
图片处理类ImageUtil,处理客户端的添加图片、查看图片操作(通过流对图片进行操作)。
辅助工具类数据类型转换StrListChange。

Android端开发:
用到SQLite数据库,DBUtil实现。
MusicService服务类,音乐的后台播放,播放器的监听初始化(频谱、加速度传感器)。
MusicUpdateMedia更新播放器状态和设置(注册并依存在Service上)。
MusicActivityMain及MusicActivityPlay展示歌曲的相关信息,操作歌曲的按钮。
MusicUpdateMain及MusicUpdatePlay均为广播接收器,接收MediaPlayer发出的指令并更新界面UI。
主界面MusicActivityMain中,为了能在执行查看音乐、歌单等操作的同时操作歌曲,利用fragment实现了下方固定播放栏的效果。
基本原理是将界面分为一个播放栏模块和一个fragment模块,在切换不同界面时只需要切换fragment就可以保证播放栏的固定存在。
扫描SD卡音乐MusicActivityScan。
我喜欢中音乐列表MusicFragmentFour。
播放列表对话框的实现,将ListView填入Dialog中MusicActivityPlay。
频谱的自定义控件、绘制频谱VisualizerView。
歌词控件初始化及逻辑计算LyricView。
网络界面加载效果MusicFragmentWeb(联网获取数据是阻塞线程,为了防止程序失去响应,必须将其操作放在一个单独的线程中。
更改界面的操作只能在主线程中运行,所以需要通过Handler来处理)。
与服务器端连接工具类NetInfoUtil。

第12章 新闻发布管理系统——西泠手机报【重要,三个端可运行,服务端是tomcat,PC端是Java应用】

新闻发布管理系统(Android端、PC端Java SE、服务端是tomcat部署的)
PC端实现新增新闻、审核、管理新闻的功能;
服务端对PC和Android发来的请求做相应处理以及对数据库进行操作;
Android端实现浏览新闻的功能。

PC端:新闻管理、审核管理、栏目管理、角色权限管理、部门员工管理。
服务端:接收、发送数据,操作数据库。
手机端:浏览新闻。

数据库xwgldb有12张表,MySQL,Navicat。
服务端部署按照开发工具选择,eclipse和MyEclipse的tomcat部署不同,2选1,用的时候文件夹的名字要改为XWGLXTServer。
tomcat的部署包括四个方面:1.装好tomcat后要配置到eclipse上,新建Servers,然后添加上服务端项目。
2.为网络项目添加监听,在WebContent/WEB-INF/web.xml中<listener>标签下的代码添加(参考本项目的文件)。
3.为应用配置数据源,同上的文件中,在<resource-ref>标签下的代码添加。
4.配置tomcat连接池,在WebContent/META-INF/context.xml中<Context>标签下的代码添加(包括所关联的数据库的驱动)。
其中项目中要写XWGLContextListener这个类就是服务器Context的监听器类,它监听着服务器的状态,控制服务线程的启动和关闭。

PC端:
不同角色具有不同的系统操作权限。
用户登录界面LoginWindow,包括按钮监听。
系统主界面MainJFrame,左侧是一个功能树,中间是一个窗体分割线,右边是和功能树节点对应的子界面。
新闻新增功能:新闻版式选择XWXZPanel。对应不同板式的新闻新增界面。
审核管理功能SHGLPanel,呈现审核记录表格的面板。审核按钮编辑器SHButtonEditor。
新闻审核功能SHPanel。
服务器端:
主线程接收手机和PC发来的请求,将请求交给代理线程处理,代理线程通过调用DB处理类中的方法对数据库操作,然后将操作结果通过流返回。
XWGLContextListener类监听Tomcat的状态,根据状态决定是否启动服务线程。
主线程类ServerThread,代理线程类ServerAgentThread。
DBUtil服务器端操作数据库需要的所有方法(这些方法的过程类似:首先与数据库建立连接,然后执行SQL语句,
最后将得到的数据库信息组织为相应格式返回)。
流处理类Utils,服务器处理后的数据都要经过流反馈给客户端(请求端),流处理具体是将字符串或字节从服务器端写入网络连接的流中,
然后在请求端读取写入的数据,从而完成数据的传输。图片的存取处理也是通过流来完成的。
辅助工具类:文件操作工具类FileUtiles(创建存储图片资源的文件夹、判断指定文件或文件夹是否存在、删除指定文件或文件夹)和
编译码工具类MyConverter(当从数据库中查询出结果将结果返回给其他端时,为保证一些特殊字符可以正常显示需要编码;
请求端要读取时也必须先解码)。
手机端:
界面简单,可以左右上下滑动列表切换。
封装网络连接的工具类SocketIOData。
与服务器连接并发送数据的工具类SocketUtil。
支持离线功能即在没有网络访问的情况下,已经浏览过的新闻同样可以浏览。
主要借助于手机本地数据存储,用到SQLite数据库访问工具类DBUtil。    
动画控制工具类AnimationControl,栏目项下蓝色滑块的水平滑动动画。
主界面MainActivity。
滑屏控件适配器包含的每个新闻列表的适配器MySimpleAdapter。其中包含异步线程类ImgAsyncTask,用于下载图片信息并保存到本地数据库然后显示。
主界面的控件包括两部分:滑屏控件  及  嵌套在滑屏控件里面的每个界面的控件。
新闻详情界面NewActivity。

学习笔记之《Android应用案例开发大全》(全部调试过代码)相关推荐

  1. 《Android 应用案例开发大全(第二版)》——1.5节第一个Android程序——Hello Android...

    本节书摘来自异步社区<Android 应用案例开发大全(第二版)>一书中的第1章,第1.5节第一个Android程序--Hello Android ,作者 吴亚峰 , 于复兴 , 杜化美, ...

  2. 《Android 应用案例开发大全(第3版)》——第2.1节壁纸的背景及功能概述

    本节书摘来自异步社区<Android 应用案例开发大全(第3版)>一书中的第2章,第2.1节壁纸的背景及功能概述,作者 吴亚峰 , 苏亚光 , 于复兴,更多章节内容可以访问云栖社区&quo ...

  3. 《Android 应用案例开发大全(第3版)》——第2章,第2.1节壁纸的背景及功能概述...

    本节书摘来自异步社区<Android 应用案例开发大全(第3版)>一书中的第2章,第2.1节壁纸的背景及功能概述,作者 吴亚峰 , 苏亚光 , 于复兴,更多章节内容可以访问云栖社区&quo ...

  4. 《Android 应用案例开发大全(第3版)》——第2.2节壁纸的策划及准备工作

    本节书摘来自异步社区<Android 应用案例开发大全(第3版)>一书中的第2章,第2.2节壁纸的策划及准备工作,作者 吴亚峰 , 苏亚光 , 于复兴,更多章节内容可以访问云栖社区&quo ...

  5. 《Android 应用案例开发大全(第3版)》——第2章,第2.2节壁纸的策划及准备工作...

    本节书摘来自异步社区<Android 应用案例开发大全(第3版)>一书中的第2章,第2.2节壁纸的策划及准备工作,作者 吴亚峰 , 苏亚光 , 于复兴,更多章节内容可以访问云栖社区&quo ...

  6. 《Android 应用案例开发大全(第3版)》——第2.5节 辅助绘制类

    本节书摘来自异步社区<Android 应用案例开发大全(第3版)>一书中的第2章,第2.5节 辅助绘制类,作者 吴亚峰 , 苏亚光 , 于复兴,更多章节内容可以访问云栖社区"异步 ...

  7. 《Android 应用案例开发大全(第3版)》——第2章,第2.5节辅助绘制类

    本节书摘来自异步社区<Android 应用案例开发大全(第3版)>一书中的第2章,第2.5节辅助绘制类,作者 吴亚峰 , 苏亚光 , 于复兴,更多章节内容可以访问云栖社区"异步社 ...

  8. 《Android 应用案例开发大全(第二版)》——2.9节壁纸的优化与改进

    本节书摘来自异步社区<Android 应用案例开发大全(第二版)>一书中的第2章,第2.9节壁纸的优化与改进 ,作者 吴亚峰 , 于复兴 , 杜化美,更多章节内容可以访问云栖社区" ...

  9. 《Android 应用案例开发大全(第二版)》——2.1节案例背景及功能概述

    本节书摘来自异步社区<Android 应用案例开发大全(第二版)>一书中的第2章,第2.1节案例背景及功能概述 ,作者 吴亚峰 , 于复兴 , 杜化美,更多章节内容可以访问云栖社区&quo ...

  10. 《Android 应用案例开发大全(第二版)》——2.6节绘制相关类

    本节书摘来自异步社区<Android 应用案例开发大全(第二版)>一书中的第2章,第2.6节绘制相关类 ,作者 吴亚峰 , 于复兴 , 杜化美,更多章节内容可以访问云栖社区"异步 ...

最新文章

  1. Windows server 2003 R2之三:通过域对统一部署客户端软件
  2. 数据库操作(使用FMDB)
  3. JavaScript中ajax如何不刷新,JavaScript基于Ajax实现不刷新在网页上动态显示文件内容...
  4. 作为数据库核心成员,如何让淘宝不卡顿?
  5. 华为浏览器:即日起全面清理违规信息 严管“自媒体”账号
  6. python中__init__导入失败_python - 如何使用__init__.py修复“在非包中尝试相对导入”...
  7. Python——创建文件data.txt,共100000行,每行存放一个1~100之间的整数
  8. 网易云课堂C++开发工程师案例-网吧前台收银系统(MFC+ADO)C++收银系统完整
  9. 华为云计算IE面试笔记-名词解释
  10. php 100元 换算,货币换算的PHP脚本
  11. CRC_8循环冗余校验码verilog实现
  12. 苹果雪豹操作系统_苹果 M1 版 MacBook 软件兼容实测:VS Code、PhotoShop 目前还不能用(附列表)...
  13. Python批量将MP3音频转为WAV格式(附代码) | Python工具
  14. Redhat认证考试心得之一死记硬背篇
  15. AI虚拟教练助你练出人鱼线,揭秘Keep AI运动技术实力
  16. 大学里的网络安全专业为什么没多少人就读?
  17. 西工大NOJ数据结构理论——013.以十字链表为存储结构实现矩阵相加(严5.27)
  18. 用RJS写的检测用户名和email是否存在
  19. Orz 终于有了自己的博客地址
  20. HTTP的请求常用方法

热门文章

  1. NO.5 计算数组中三个数的最大乘积
  2. Docker从理论到实践(八)------Docker网络基础配置
  3. sqlite3源码调试
  4. Java集合类源码解析:Vector
  5. python IDLE颜色设置
  6. c语言打印uint64, int64
  7. eclipse 重构功能。
  8. idea中maven找不到本地仓库jar包_有人说 Maven 很简单,我却被 伤害 过
  9. SetBkMode(TRANSPARENT) 设置文本背景与控件背景一样
  10. qt自定义QtWidgets