笔记

来源:互联网 发布:淘宝宝贝怎么删除不了 编辑:程序博客网 时间:2024/06/15 23:25
git init(初始化本地库)
git status(所有状态)
git add .(变成绿色)
git comment -m"bug修复"(已经提交本地库 目前和服务器一点关系也没有)

git pull(拉一下最新的代码 去服务器 避免冲突 )
git push(确保没有冲突, push 上传)

git status
git comment//提交到本地

photoView
讯飞语音 输出 识别

lisiruxiaoniu博客 6d

构建模式
log.e红色 Error信息
adb kill-server
adb start-server

注意:
(所有的dispatchTouchEvent 只要返回true false 都只走dispatchTouchEvent,只有返回super)
1.Activity
只有AcitivityDispatchtouchEvent 返回super 它才会走onTouchEvent()方法 ;
onTouchEvent 不管返回true,false 或者返回super都是会消费
(都比较特殊)
2.ViewGroup
有三个方法 分发,拦截,消费 (拦截都可能会走)

如果不拦截 消费的话 就会消费 到此结束
如果拦截 不消费的话 不会消费 也不会向下传递 会向上传递!

IntentServer(子线程) service是主线程,用于优化app启动程序时间 1.线程2.就是懒人模式

 Environment.getDataDirectory() = /data
 Environment.getDownloadCacheDirectory() = /cache
 Environment.getExternalStorageDirectory() = /mnt/sdcard SD卡根目录
 Environment.getExternalStorageState();//.equlse(Envorpnment.MEDIA_MOUNTED)

//判断SD卡是否存在 可用, 挂载状态

static 静态 它不需要new static修饰的方法 直接调用, 它不是在堆里面 单独存储在常量堆里面!
异步锁 调用它的方法 调用的不是当前对象 而是类.class文件

主流框架:mvc mvp mvvm
mvc 耦合度较高 view层和控制层联系较紧密有联系,

正则表达式
优化(内存:(内存抖动 创建 回收 次数频繁)  启动速度,网络, ui优化(卡顿) 每16毫秒 绘制一次,电量);
内存泄漏 (java四大引用 强软弱虚 )

MVP 架构设计思想代替 MVC
M:处理数据 Model
V:视图  View
C:逻辑 Activity (控制层 控制器(controller))



OkHttpClient 上传
Post上传有四种方式
Post请求方式之一:application/x-www-from-urlencoded(只能上传String类型)
1:普通的post上传
FormBody.Builder  //只能上传文字
Request request=new Request.Builder().post()
-----------------
Post请求方式之二:multipart/form-data(不仅上传String类型参数,还可以上传文件(流的形式,file))
2:MultipartBody.Builder b=new MultipartBody.Builder()
b.setType(MultipartBdyy.FORM);//需要设置类型 上面的方式默认的类型 app

b.addFormDataPart("uid","71");
b.addFormDataPart("file","t.jpg");

Map集合
map.entrySet().for //遍历

if(value instanceof File){
 file 是不是value的实例
属v不属于它 f
如果请求的value值是文件 ~
}

MOUNT_UNMOUNT_FILESYSTEMS在SD卡创建文件权限

OkHttpClient.Builder builder=new OkHttpClient.Builder(); //构建者模式
builder.addNetworkInterceptor(network);
builder.addInterceptor(app);
OkHttp拦截器: app拦截器  网络拦截器  拦截器灌输整个请求过程:app--所有网络请求--app
 Interceptor //接口  
LoggerManager.getInstance(tag).e("");
Request request=chain.request();

LoggerManager.getInstance(tag).e("");

Recycle 学习
//添加删除
int pos=holder. getLayoutPosition()//避免下标错乱
//动画
recyclerview.setItemAnimator(new DefaultItemAnimator)
//局部刷新
notifyItemRemoved();//很多方法
notifyItemInserted();
//
recyclerview.setSpanView();

//****属性动画
发展史:
逐帧动画 FrameAnimation
补间动画: Tweend Animation 4种
缺点补间动画只能在视图View ,只能对继承View对象上
没有改变View属性  只改变视觉效果 还是在原来的位置 ,只能改变View对象

//平移
ObjectAnimator animator =ObjectAnimator.ofFloat(iv,"translationX",0f,50f,****);
//set集合
AnimatorSet set=new AnimatorSet();
set.play(scaleXAnimator).with().with .before, after之后
//使用回调方法
obj.addUpdateLinster(数据的监听 值的变化getAnimatedValue)
obj.addAnimationLinster

//透明度 alpha //旋转 rotation
translationX 平移x轴 scaleX
原理:事件插值器 属性值变化方式 :根据当前时间进度 计算当前进动画进度比例 真刷新频率
TimeInterpolation: 定义 动画变化率的接口
TypeEvaluator 类型估值器
Interpolator插值器
animator .setDuration(事件)
animator .setRepeatCount(-1)无限循环
animator .setRepeatMode(ValueAnimation.REVERSE)//从尾部开始
animator .setRepeatMode(ValueAnimation.RESTART)//从头部开始
animator .start();
//***文本格式 创建Animator文件
<ObjectAnimator>根标签
Animator animator=AnimatorInflater.loadAnimator();
animator.setTarget(iv);
animator.start();
//文本组合动画
<set orderingsequentially>根标签
<set ordering="together">//一起
  ObjectAnimator
<set>

//***属性动画2 ValueAnimator
原创粉丝点击