Android知乎日报开发过程

一. 项目问题

1. 侧滑菜单全屏幕显示
1) SlidingMenu
    兼容低版本实现侧滑菜单
2) MaterialDrawer
5.0风格   
参考:Gmail、Inbox、GoogleMap、GooglePlay
FQ:赛风、VPN
 
2. TweenAnimation动画监听
    技术分享
3. TweenAnimation来回移动
技术分享
 
4. 多个库都需要在Application中初始化
Volley和UIL
将Application中onCreate()方法中的代码合并
 
二. 知乎日报首页
1. lib_yuchen0505库的使用
1) 配置Application
    技术分享
2) 异步HTTP请求
    技术分享
3) JsonSchema2pojo生成JAVA类
4) json数据解析
    技术分享
5) 图片异步下载、内存缓存、外存缓存
    技术分享
 
三. 项目常用模块
1. Banner轮播图
分析
1) 水平切换图片
2) 自动切换
3) 有指示器Indicator
4) 无限循环
5) 单击事件
6) 手动自动冲突问题
 
2. 设计
ViewPager
代码中切换ViewPager显示的当前页面
无限:getCount()很大
循环:每五个重复一次
 
3. 实现
1) 自动切换
    技术分享
2) 无限循环
    技术分享
3) 单击事件
    技术分享
4) 手动自动冲突问题
    
常见问题:
1. ListView没有显示
前提:
1) server正常?
2) 检查json字符串是否成功下载?
    技术分享
 
一. 知乎详情页面
1. 内嵌浏览器
背景:

App开发模式
 
优点
缺点
框架
Native
本地
适合交互 成本高 各个平台
Web
网页(HTML JS)
跨平台
成本低
展示超文本
入口
UI
交互较弱
JQueryMobile
Ext
Hybrid
混合
超文本展示用网页
强交互用Native
成本和体验平衡
 
PhoneGap
Appcan
titanium
都是基于JS语言

2. 浏览器
核心功能:引擎
1) 解析HTML并显示图形
2) 解析js实现事件
 
真:IE、Safari、Chrome、FireFox、Opare、UCWeb
假:360、百度、QQ、搜狗、猎豹等
 
开源浏览器内核   Webkit  http://www.webkit.org/
 
3. WebView控件
1) 加载指定网页,需要添加Internet权限
    技术分享
2) 设置默认开启支持JS,更多设置参考API
    技术分享
3) 防止跳出到其他浏览器
    技术分享
4) 获得浏览器加载网页的进度
    技术分享
5) 拦截网址
    技术分享
6) 后退
webView.goBack()
 
3. 水平滑动切换多个页面模块
技术分享
使用开源项目:PagerSlidingTabStrip-master
实现步骤:
1) 导入库,在布局的ViewPager上添加控件
    技术分享
2) 在ViewPager设置适配器后调用
    技术分享
3) 重写FragmentPagerAdapter的方法
    技术分享
 
4. ViewPager嵌套ViewPager的问题
在2.3版本中,内部的ViewPager无法手动滑动
原因:ViewPager事件冲突
解决:内部的ViewPager控件使用ChildViewPager
    技术分享
 
5. UI框架结构
MainActivity
    |
    |——DrawerLayout
                |
                |——MainFragment
                             |
                             |——ViewPager + PagerSlidingTabStrip
                                             |
                                             |——HomeFragment
                                                         |
                                                         |——ListView + HeaderView
                                                                                         |
                                                                                         |——ViewPager 
 
 
6. 向布局中动态添加子控件    
技术分享
 
 
 
常见问题:
1. AndroidStudio的项目导入到Eclipse中出错
 
Class requires API level 3 (current min is 1): android.widget.HorizontalScrollView
 
2. ViewPager嵌套ViewPager的问题
现象:Banner自动切换速度变快
原因:Fragment的onCreateView()方法被多次重复调用
解决:
技术分享
技术分享
 
3. 将同一个子View添加到两个布局中,FC
技术分享
 
4. ViewPager嵌套ViewPager,Fragment管理器需要使用
技术分享
ChildFragmentMananger
问题现象:内部的ViewPager图片有时不显示
 
5. 
Unable to execute dex: Multiple dex files define Lcom/nostra13/universalimageloader/cache/disc/DiscCacheAware;
[2015-06-09 17:31:10 - 欢迎界面_01] Conversion to Dalvik format failed: Unable to execute dex: Multiple dex files define Lcom/nostra13/universalimageloader/cache/disc/DiscCacheAware;
原因:项目多次依赖了同一个库
解决:删除重复的依赖

 

  技术分享

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。