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;
原因:项目多次依赖了同一个库
解决:删除重复的依赖

 

  

 

posted @ 2015-06-09 23:22  不想Random  阅读(592)  评论(0编辑  收藏  举报