JSON
简单的说,没有真正的Json对象,只有Json规则,Json字符串。格式无须赘述。理解所谓的对象、字符串,在传输过程中的处理与细节,比如编码的时候我们所以为的字符串,到底是什么样子,包不包含转义符,包含了多少,哪些转义符是有的,哪些是没有的,都是考验基本功的地方。先上问题的初始,看数据:对比下,pc端 request和response和android端 request和response,会发现有所不同。
more >>JSON
简单的说,没有真正的Json对象,只有Json规则,Json字符串。格式无须赘述。理解所谓的对象、字符串,在传输过程中的处理与细节,比如编码的时候我们所以为的字符串,到底是什么样子,包不包含转义符,包含了多少,哪些转义符是有的,哪些是没有的,都是考验基本功的地方。先上问题的初始,看数据:对比下,pc端 request和response和android端 request和response,会发现有所不同。
more >>之前在iOS上出现过,当时解决了,但是没有做记录,细节给忽略了,现在在android环境下又出现,然后找了半天。
封装一个网络请求库,中间加入一个装饰者的progressWrapper,结果在连续好几个请求,第一个请求使用progress,后面几个没使用;或者是一个使用,其他几个没使用progress,顺序不管的情况,都会出现进度指示器一直显示的问题,但是调试了几次发现count是正常的,也正常调用了dialog.dismiss方法,但是就是毫无反应。。。
more >>前的跨域设置都比较初级,一般采用的方法是:
windows
右键 chrome 浏览器快捷图标的属性,在快捷方式标签页的目标输入框的最后加上:
--args --disable-web-security --user-data-dir=C:\ChromeUserData
mac
终端启动:
$ open -a "Google Chrome" --args --disable-web-security --user-data-dir=~/ChromeUserData/
或者将上面的命令保存为 chrome.txt 纯文本文件,右键文件图标的显示简介,找到打开方式选定为“终端”,保存后双击文件运行。
more >>发布的应用报了一堆这个错误,但是我一脸懵b,我压根没有传太多东西在binder里面啊。。
网上搜了N多,都是说不要传太多在binder里面啊诸如此类。。。
When you get this exception in your application, please analyze your code.
1. Are you exchanging lot of data between your services and application?
2. Using intents to share huge data, (for example, the user selects huge number of files from gallery share press share, the URIs of the selected files will be transferred using intents)
3. receiving bitmap files from service
4. waiting for android to respond back with huge data (for example,getInstalledApplications() when the user installed lot of applications)
5. using applyBatch() with lot of operations pending
more >>
今天打包的时候提示:
错误: 程序包com.btb.databinding不存在
google搜索:有这样的回答
/********别人的问题
AAAViewModel这个文件在aaa包下,如果你移动了AAAViewModel这个文件到bbb包下,问题就来了,其他引用到这个文件的java类里都会自动将aaa修改到bbb,但是databinding这个地方不会修改,还是保持着com.aaa.AAAViewModel,这个时候它已经标红了,但除非进入这个xml中看,不然你根本发现不了这个问题。所以你只要将它改为
GradientDrawable setColor
在设置颜色之后,重新进页面,发现使用shape文件的地方,颜色都被改变为新设的颜色了。
需要设置一个shape文件A做为背景颜色,在项目中需要动态的更改背景颜色,于是乎想到了使用GradientDrawable这个类来改变控件的背景颜色,使用起来很简单,前提是view的background属性为shape A
shape A文件:设置solid为浅蓝色。在drawable中
1 | <?xml version="1.0" encoding="utf-8"?> |
记得很久之前,曾经用ViewPager+Fragment+Adapter做过一个页面,在Activity中嵌入三个可滑动切换的Fragment,Activity自身可以刷新,按理说刷新之后嵌入的三个Fragment的数据也应该会刷新掉(onRefresh之后通过重新调用setAdapter刷新数据),但是好像出现问题,三个子Fragment的数据并没有刷新。这里找下原因与细节的差异。
补充:
并不只是三个Fragment的数据应该被刷新而没刷新,而是N个子Fragment的N需要被刷新,例如本来是3个子Fragment,但是新的数据过来,应该要变化为4个子Fragment,而且各Fragment的数据已经发生变化。
出现这种情况,应该是使用了FragmentPagerAdapter来做viewPager的设置,如果改为FragmentStatePagerAdapter,就不会出现这种情况了。
但是为什么FragmentStatePagerAdapter可以做到刷新数据,但是FragmentPagerAdapter不可以呢?
PS:关键的版本声明:
本篇涉及的代码,是在android 6.0的大版本下的描述,在android 8.1即27版本下的版本查看,有些关于moveToState和detachFragment、removeFragment的源码并不一致,可能最后的分析仍然有效,官方代码两版本逻辑的可能没变。
但是仍然有必要申明在借鉴@爱看书的小蜗牛的源码分析之后,在27版本下发现代码实际有出入,导致非常难核实验证到问题的关键,最后在6.0版本才看到跟分析源码一致的代码。
新租的房子只提供了公共的wifi在客厅,我的房间没有网线口,所以我的台式机(没有无线网卡)没法上网,后来自己买了一个fw313r,迅捷fast的一款路由器,打算只用ta来做桥接,然后从Lan口接一条线到我的电脑来上网。
在折腾了一会儿装好之后,配好wds,我的台式机电脑可以正常上网了,但是有几个奇怪的地方,是我的电脑的自动获取ip是192.168.199网段的,网关是192.168.199.1,我输入原来设置fw313r的时候的网址(应该是192.168.1.1),然后我输入192.168.1.1进入的是一个“天翼网关界面”输入192.168.199.1 进入的是一个叫做极路由的界面。
more >>说奇怪,也不奇怪,估计跟调试者的疏忽有关系。
先上代码
1 | public abstract class CustomGsonCallback2<T> extends GsonObjectCallback<T> { |
使用git push origin master 命令,提交本地的develop仓库到远程的master分支。
(直接使用这种命令提交是不可以的)
好在后面要求输入Enter passphrase for key ‘/c/Users/DELL/.ssh/id_rsa’: 123
可能输入的密码不对,最后提示了:
git@git.btb-inc.com: Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
提示Permission denied(publickey)。
more >>
缺失模块。
1、请确保node版本大于6.2
2、在博客根目录(注意不是yilia根目录)执行以下命令:
npm i hexo-generator-json-content --save
3、在根目录_config.yml里添加配置:
jsonContent: meta: false pages: false posts: title: true date: true path: true text: false raw: false content: false slug: false updated: false comments: false link: false permalink: false excerpt: false categories: false tags: true