Android项目之多功能新闻客户端
新闻详细页
- 新闻标题栏
- 设置标题、返回、分享等btn。
- WebView全部内容
- WebView加载已知网页。
- 添加加载进度条。
- 字体设置
- 设置弹窗ChoiceItems并设置多个字体选项,更改WebView的字体设置大小。
一键分享(第三方分享平台ShareSDK)
- ShareSDK官网设置分享(AppKey,jar包,按照官方文档设置即可)
- 上线APP就需要各个分享网站的认定,需要审核(略过)
新闻的组图模式
- ListView与GridView的相互替换
- 单个新闻图片(ImageView+TextView)
消息推送
- JPush极光推送
- 推送消息(客户端被动接收服务器数据, 都可以用上消息推送技术)
整体的功能大概的实现了
总结一下项目大致、修复bug、适配以及其他相关问题
三级缓存
- 优先从内存中加载图片,速度快,不浪费流量
- HashMap存取(有内存泄漏可能)- 软引用 (2.3之后,垃圾回收更易回收软引用,弱引用)
- LruCache (将最近最少使用的对象回收掉) 建议使用(自己控制内存大小,避免溢出)
- 其次从本地(sdcard)加载图片, 速度快, 不浪费流量
- 创建文件保存数据(网络下载后,本地缓存)
- 最后从网络下载图片, 速度慢, 浪费流量
- AsyncTask网络缓存,通过url读取传递数据。
- 优先从内存中加载图片,速度快,不浪费流量
AsyncTask< , , >
- 三个泛型:
- 第一个:doInBackground(正在加载,子线程运行,可以直接异步请求)里面的参数类型。
- 第二个:onProgressUpdate(更新加载,主线程)里面的参数类型。
- 第三个:onPostExecute(加载完成,主线程)里面的参数也是doInBackground的返回类型。
- 三个泛型:
- 屏幕适配
养成良好的开发习惯: 多用dp,sp,不用px; 多用线性布局和相对布局, 不用绝对布局; 代码中如果必须设置像素的话, 将dp转为px进行设置。
- 图片适配
- 布局适配
尺寸适配(常用)
//dp 和 px
//dp = px/设备密度
//values-1280x720/dimens.xml权重适配
android:weightSum=”3
当前整体UI布局
MainActivity
- leftMenuFragement(侧边栏菜单)
- SlidingMen框架(侧边栏框架)
- ListView(新闻主题分栏)
- SlidingMen框架(侧边栏框架)
- ContentFragment(主页面)
- ViewPager(中心页面)
- HomePager(主页)
- NewsCenterPager(新闻中心-侧边栏点击进入的几个页面)
- NewsMenu(新闻菜单)
- ViewPagerIndicator框架(可滑动的文字指示器)
- ListView(各个新闻大体内容)
- ListView的下拉刷新(一般隐藏)
- ListView的头部局ViewPager(展示可滑动的头条新闻)
- ViewPagerIndicator框架(可滑动的图片指示器)
- 上下滑动的列表新闻ListView
- Bitmap新闻图片和该新闻大体介绍和时间TextView
- TopicMenu(主题新闻菜单)
- PhotoMenu(图片新闻菜单)
- ListView与GridView组图新闻
- ImageView+TextView单个新闻
- ListView与GridView组图新闻
- InteractMenu(互动菜单)
- NewsMenu(新闻菜单)
- SettingPager(设置)
- RadioGroup(底部标题栏)
- RadioButton(底部按键)
- ViewPager(中心页面)
代码实现
———谢谢观看———