黑马66期---智慧北京项目
*************第一天*************
1. 市面主流的分辨率 1280*720 1080*1920
2. sharePrefence是永久化到本地的,例如可以存放一个引导页是否在第一次使用的时候浏览过的标记
3. OnCreate方法中的控件还没有绘制完成,所有控件的属性都无法获取,
可以使用如下方法在控件的视图树绘制成功后,获取控件属性
// 页面绘制结束之后,计算两个圆点的间距
//视图树
ivRedPoint.getViewTreeObserver().addOnGlobalLayoutListener(
newOnGlobalLayoutListener() {
//layout方法执行结束(位置确定)
@Override
publicvoid onGlobalLayout() {
//移除监听
ivRedPoint.getViewTreeObserver()
.removeGlobalOnLayoutListener(this);
//获取两个圆点的间距
mPointWidth= llContainer.getChildAt(1).getLeft()
-llContainer.getChildAt(0).getLeft();
System.out.println("width:"+ mPointWidth);
}
});
4. 控件绘制的三个步骤:
Measuresàlayout-àdraw //layout后就可以确定控件的大小和位置了。。
5. 控件(ivRedPoint)获取的getLayoutParams其实是父布局的layout参数
RelativeLayout.LayoutParams params =
(RelativeLayout.LayoutParams) ivRedPoint . getLayoutParams(); // ivRedPoint
5. support-v4的包可以向下兼容到Android4.0以下
6. framelayout可以作为一个“占位符“,比如可以让一个页面中的先使用framelayout来进行站位,然后使用fregment来进行替换!
*************第二天*************
1. 可以将fragment视为一个页面中的内嵌页面,就是一个控件,这样的好处是à可以将一个复杂的mainActivity划分为几个fragmentActivity从而简化MainActivity的业务逻辑,
2. 一般可以先讲MainActivity需要让fragmentActivity来填充的地方,使用一个frameLayout来占位,然后填充。
3. joson本质是一个string
4. 一个类中的2个内部类是平行的,eg:
Class A{
ClassA1{ //内部类A1
PublicArryList< ClassB1> arrat;
}
ClassB1{//内部类B1
}
}
05.侧边栏数据填充
5. 当listview使用 adpter.notifyDataSetChanged对listview界面进行刷新的时候都会调用getview对所有的listview的item进行刷新
6.缓存的策略:
缓存不用特别复杂,可以直接把 访问的url作为key,把相应的返回数据joson作为value就ok!
7. joson实际上就是string
8. 除了页面布局可以改变页面的显示以外,
Android :theme=”style/theme. “ //也可以直接影响页面的显示
9. 如果在layout文件中没有设置背景等页面默认的显示,那么页面就会直接使用theme的style来进行覆盖设置
ViewPagerIndicator的使用
10. 网络操作可以使用xUtils(甚至可以说进行上传下载操作)
图片下载(包括缓存、默认)可以使用BitmapUtilis工具
初始化下拉刷新头布局&自定义进度条
11.当控件没有创建的时候,要获取控件的长宽,应该使用以下方式:
11. Android中没有函数指针,一般使用接口回调实现,
① 首先声明一个接口类型,在设置一个setXXlisener( 该接口 )
② 然后在使用需要回调的地方setXXlisener( 实现该接口 )
*************第四天*************
1. 当子控件的事件被父控件拦截的时候,如一个viewpage中嵌套一个子viewpage,那么可以在子控件中使用如下方式,不让父控件拦截子控件的事件:
2.当数据源变化时,追加新的数据,从而刷新listview的时候的方法:
3.使用textview和webview的场合,如果发现控件周边没有边框,那么就是用webview来进行制作(因为webview控件没有边框) ,而textview和Android的其他控件的周边都有边框!
08.网页字体大小设置
10.轮播条效果&事件处理
Action.down Action.up Action.cancel 事件的区别
12. 组图模块开发
1. joson数据的 缓存步骤:
①获取joson数据
②设置joson数据缓存
*************第五天*************
02.网络缓存&AsyncTask
1.AsyncTask的四个回调函数
2. 软引用softRefence
3. 在软引用中存放对象的完整实例:
4. 图片缓存建议还是使用bitmapUtilis,比较安全
07.屏幕适配之尺寸适配
1. dp与px之间的转换工具
08.屏幕适配之权重适配(权重只能使用在线性布局中)
1.
2. 适配总结:
10.极光推送的使用
1.如果Android项目中有so库文件(在arm文件中)那么模拟器要使用arm的模拟器,使用intel的模拟器会奔溃
3. 手机要是接收某个app的推送信息,首先这个app在本机要运行一个接收推送的后台服务,否则无法与推送端(服务器端)进行交互。
4. 、推送可以根据手机端的tag,进行点对点的推送!
5. socket与http区别:
socket是一种工具,http是一种传输协议,所有的传输协议都是由socket封装而成的。