Android 开发常见问题

这篇博客汇总了Android开发中遇到的各种问题,包括gradle的compile和provide的区别,Viewpager懒加载,图片压缩与上传,git操作,Android APK升级问题,以及各种运行时异常和UI问题。还探讨了Android 6.0动态申请权限,9-Patch图的创建,自适应图标,状态栏处理等,是Android开发者解决问题的重要参考资料。
摘要由CSDN通过智能技术生成

1、AsyncTask串行和并行问题
2、支付宝调用界面,IP代理,调不起界面问题
3、git reset --hard 导致本地代码消失问题
4. textview inclueFontPadding问题
5. 支付宝授权问题

Android 的gradle中compile和provide的区别
  • compile是从repository(默认是jCenter())里下载一个依赖包进行编译并打包。
  • provide值提供编译支持,但是不会写入apk
  • compile files 是从本地libs目录下找寻jar包编译并打包。类似还有fileTree
  • compile project是将另一个module进行编译并打包

Viewpager 懒加载问题

通过ItemCycleControl来管理viewpager列表的声明周期,需要在viewpagerde setData之前调用,其主要通过实现Viewpager.OnPageChangeListener和View.OnAttachStateChangeListener接口

通过重写onPageScrolled方法,获取当前的position和positionoffset
并根据position是否为-1判断向左或者向右滑动,并通过将viewpager中的view实现ItemCycleListener接口,并通过监听对比某一view滑动前后的状态决定其调用onWillAppear或者onWillDisAppear或者已经显示或已经完全隐藏回调方法。当然最后在重写onViewDetachFromWindow中移除绑定监听和滑动监听

图片压缩与上传

图片压缩采用的是github上的Luban压缩工具,通过参考或者自创压缩规则推求极致
的压缩效果,目前的版本压缩效果主要参考微信。(因为微信用户大,容易被用户接受)

算法
该算法中比例是指:图片短边除以长边为该图片的比例
使用Retrofit + Rxjava 实现图片上传。图片压缩使用md5,serviceAPI使用@Url和@PartMap Map 再通过RequestPstFile统一设置MediaType–> new Object[]

git 看不到远程分支的问题

git branch -a 只能看到本地跟踪的远程分支的信息,如果想要看到新的分支需要先使用git fetch
git fetch 与 git pull的区别
在本地文件夹中隐藏文件.git的config文件中可以看到本地分支和远程关联的分支信息
同时其中的master文件保存的是本地库中最新的commit id,当然其中refs文件中的remote指的是本地跟踪的远程分支的commit id
使用git fetch时本地库的相关信息不会发生变化,只会更新远程的分支信息,使用git pull是将本地库和远程的库同步

Got IOException performing flipjava.io.IOException: write failed: EINVAL (Invalid argument)

在Android中创建文件名不能包含“:”冒号。

Android APK升级时有的手机可能会有安装包解析失败的问题

此时需要代码动态获取权限,通过Runtime.exec(“chmod 777 + path”)的方式获取权限

haroopad

Android studio V1 V2签名

V1:应该是通过ZIP条码进行验证,这样APK签署后可进行许多修改,可以移动甚至是重新压缩文件
V2:验证压缩文件的所有字节,而不是单个ZIP条目,因此在签名后无法再更改(包括zipalign)。正因如此,在编译过程中,我们将压缩、调整和签署合并成一部完成,好处显而易见,更安全而且新的签名看缩短在设备上进行验证的时间(不需要费时的解压缩然后验证),从而加快安装速度

使用
  • 只勾选V1签名并不会影响什么,只是在7.0上不会使用更安全的验证方式。
  • 只勾选V2签名7.0以下会出现安装完显示未安装,7.0以上则使用V2的方式验证。
    同时勾选都没有问题。

ArrayList.toArray(T[] a)的说明

这个方法就是将一个链表转换成数组
``

String[] desc = new String[l
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值