硅谷新闻
涉及到的知识点:
1.架构搭建
2.联网的请求、解析、显示
3.第三方框架:okhttp3,glide,极光推送,shareSDK
4.SlidingMenu侧滑菜单的使用(DrawerLayout)
5.Fragment的使用
6.Volley的使用
7,极光推送
8.图片三级缓存
9.Gson数据解析
10.手动解析数据
11.解决事件冲突
12.自定义下拉刷新,第三方下拉刷新
13.shareSDK
14.第三方支付支付宝
15.适配
16.WebView
17,Java和Js
18,RecyclerView
19.ViewPagerIndicator的使用和TabLayout
20.Xutils3的使用和Okhttp3的使用
21.SwipeRefreshLayout
22.Material RefreshLayout 上拉和下拉
23. photoView
24.购物车
重要点
1.启动页面,一般有三种(Welcome Splash Lunch)
一般有两种情况,已进入过的直接进入主页面,没进入过的进入引导页
2.ViewPager的PageAdapter重写方法
getCount(),最好返回View
instrantiateItem( )作用是getView
isViewFromObject()
3.红点移动的原理
利用距离左边的距离实现红点的移动
params.leftMargin = 动态值
两点间移动的距离:间距 = 屏幕滑动的距离/屏幕宽
两点间移动的距离 = 屏幕滑动百分比*间距
params。leftMargin 两点间滑动距离对应坐标= 原来的起始位置+两点间移动距离
间距 = 第一个点距离左边距离-第0个点距离左边的距离
根据View的生命周期,当试图执行到OnLayout()或者onDraw的时候,视图的宽和高,边距,都有了自己的
View.getViewTreeObserver().addOnGlobaLayoutListener()
红点左右滑动做下表时需要考虑红点的适配,把写在代码中的数字宽高用工具转成像素
4.继承Fragment时需要继承的三个方法
oncreate 当Fragment被创建时回调
onCreateView 当创建View(视图被创建)时回调
onActivityCreateView 当Activity被创建后回调
initFragment的四步
(1)得到FragmentManager
(2)开启事务
(3)替换
(4)提交
replace时先remove掉相同id的所有Fragment然后再add当前的这个Fragment
5.SlidingMenu侧滑
(1)下载,导入,关联库
(2)MainActivity继承SlidingFragmentActivity 设置主页面
(3)设置侧滑菜单(左侧菜单,和设置右侧菜单的方法不一样)
(4)设置显示模式,左+主,右+主,左+主+右
(5)设置滑动模式:滑动边缘,全屏滑动,不可以滑动
(6)设置主页占据的宽度
6.可适当的提取公用布局
7.PagerAdapter重写
instantiateItem()和isViewFromObject()方法
BasePager base = base.get(position);
View rootView = base.rootView;//各个子页面
container.addView(rootView);
return rootView;
8.底部按钮切换,ViewPager预加载,软件层次结构,数据请求解析,左侧菜单数据,和逻辑处理
9.自定义不可滑动的ViewPager
(1)两个参数的构造再自定义控件时不可少,否则会崩溃(系统规定)
(2)重写onTouch事件,消费掉触摸——return true
10。去掉ViewPager页面预加载
监听某个页面被选中,初始对应页面数据,添加onPageChangeListener监听
11.可用ViewPagerIndicator框架做标题栏
12.if(saveJson!=null)和if(!TextUtils.isEmpty(savaJson))是不同的,因为前面的有可能是“”串