Android 开发中知识点记录

1、retrofit2 addConverterFactory
返回值有两种不同情况,一种是gson直接转换对象 添加GsonConverterFactory.create()、
一种返回原本json串,添加ScalarsConverterFactory.create()
项目中碰到的情况是,获取html代码,然后解析图片地址。但是使用了统一的retrofit,是gson自动转换结果的。

2、集成ReactNative步骤。
1、copy node_modeles .flowconfig package.json index.android.js进项目。
2、配置gradle:app project。配置RNActivity。
3、配置manifest权限以及DEVactivity。
4、npm start.

3、自定义ViewGroup动态添加子view,子view的LayoutParams问题

TextView textView = (TextView) TextView.inflate(context, R.layout.tag_text_layout, null);

如果子view是通过上面方式在代码里动态添加进自定义的ViewGroup中的,要给子view设置LayoutParams,否则,会调用父容器,也就是自定义ViewGroup的generateDefaultLayoutParams(),进行设置。

 LayoutInflater inflater=getLayoutInflater();
TextView textView = (TextView) inflater.inflate(R.layout.tag_text_layout,articleFlow,false);

但是以这种方式去生成TextView,就可以拿到在XML内设置的参数。
因为以第一种方式生成View,会失去XML内根布局(最外层布局)的属性设置,并且默认没有LayoutParams,通过父容器的generateDefaultLayoutParams(),重新生成的LayoutParams没有任何额外属性,所以需要手动设置LayoutParams给子View,第二种方式拿到的View,可以拿到XML中设置的值。并且正常生效。

4、服务端接口内报错,回应的Content-length为0
使用Retrofitd的Gson转换会报错。因为回传的报文长度为0,一个长度都没有。也不是空字符串,所以解析会失败,出现错误。

如果该文章对您有所帮助,希望您可以点下喜欢~给作者一点鼓励!

你可能感兴趣的:(Android 开发中知识点记录)