Android开发中常见问题及解决方案

1、接口对接中的关键字解析


 在日常接口对接中,经常会出现接口返回的数据节点是java中的关键字(类似接口返回 extends 节点),会导致解析异常。
针对这种情况有以下的解决方案:

1、fastjson 解析的情况下可以使用以下注解
如:
public class DataBean implements Serializable {
	@JSONField(name = "extends")
	private String extendsData;
	...
}

2、使用gson解析的处理
public class DataBean implements Serializable {
	@SerializedName(name = "extends")
	private String extendsData;
	...
}


2、android studio打包后app名称出现乱码或在gradle.properties中,中文被转Unicode码的解决方法


可做如下设置
a) 打开 as 设置
b)   搜索 File Encodings
c)   勾选右下角的 transparent native....



3.mac中添加环境变量无效

mac中添加环境变量无效


如果修改了~/.bash_profile文件发现无效,因为安装zsh,~/.bash_profile就不会被执行,解决办法如下:
1.打开vim ~/.zshrc  将你要配置到环境变量配置到该文件中即可
2.打开vim ~/.zshrc  添加source ~/.bash_profile ,这样~/.bash_profile配置的环境变量同样有效


4.Library引入jar,jar中assets无法被打包进aar

使用时需要注意:将jar包的assets文件拷贝出来放在library的assets文件夹中。

5.git使用过程中,误删本地以及远程分支,恢复操作(文件都已提交情况下)


点击打开链接


首先通过git log -g(--walk-reflogs)来找到你的提交记录。这个是从最近的记录开始,并不只是当前分支的log。
使用git branch 需要恢复的分支名 commitId 这样便可以恢复到删除前的分支


 6.app安装后直接打开,按HOME切到后台,然后点击桌面图标再次打开app,这时app会重新进入启动页,而不会直接显示切后台前的页面。

点击打开链接

在启动页的onCreate中加入如下代码:(放在super后面)

if(!this.isTaskRoot()) {
       Intent mainIntent = getIntent();
       String action = mainIntent.getAction();
       if (mainIntent.hasCategory(Intent.CATEGORY_LAUNCHER)
              && action.equals(Intent.ACTION_MAIN)) {
           finish();
           return;
       }
}

可以手动规避这一现象的出现。


[注意]
如果启动页的onDestroy中有某些变量的销毁操作,需要添加非空判断。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

L11302187

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值