Android实际开发中小技巧

官方下载gradel地址 

https://services.gradle.org/distributions/

Gradle版本和gradle插件版本对应关系,不知道的请查看官方文档

https://developer.android.com/studio/releases/gradle-plugin


adb常用指令:

Monkey测试 : adb shell monkey -p 包名 -s 500 -v 10000

查看内存信息:adb shell dumpsys meminfo cn.kdqbxs.reader


kotlin,自定义view写法

class TagView @JvmOverloads constructor(context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = 0)

    : LinearLayout(context, attrs, defStyleAttr) {


dp转px

fun dp2Pixel(dp:Float):Float{

    return  TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, dp, Resources.getSystem().displayMetrics)

}

判断触发移动事件的最短距离

ViewConfiguration.get(context).getScaledTouchSlop()

 /** Distance in pixels a touch can wander before we think the user is scrolling */ 它获得的是触发移动事件的最短距离,如果小于这个距离就不触发移动控件,如viewpager就是用这个距离来判断用户是否翻页


//清除fragment状态,避免被系统回收后空白

savedInstanceState?.putParcelable("android:support:fragments", null)


//解决启动图片在虚拟按键手机上会变形闪动

theme中添加false属性

如何解决当onDatasetChanged方法包含异步网络调用Android时,小部件ListView不刷新的问题

在方法名上加注解@SuppressLint("CheckResult")

安卓富文本

https://www.cnblogs.com/qynprime/p/8026672.html

Android使用gradle依赖管理、依赖冲突终极解决方案

https://www.jianshu.com/p/f902b3298657

http://www.cocoachina.com/cms/wap.php?action=article&id=52166

遍历json中的key-value

if (var3?.keys() !=null) {//遍历所有自定义参数

    val var4 = var3.keys()

while (var4.hasNext()) {

val var5 = var4.next()as String

bundle.putString(var5, var3.getString(var5))

this.loge("$var5 === ${var3.getString(var5)}")

}

}

kotlin单例写法

https://www.jianshu.com/p/6dde590d253d


小米手机安装charles证书

https://segmentfault.com/a/1190000011573699

布局转成Bitmap

https://www.jianshu.com/p/b9f28463ab9c

AndroidStudio占用C盘空间太大

https://www.jb51.net/article/165391.htm

修改缓存地址
https://blog.csdn.net/xx326664162/article/details/52004676

微信分享图片压缩方法

https://www.jianshu.com/p/17351de12515

只适配armeabi-v7a/armeabi就完了

https://juejin.im/post/5eae6f86e51d454ddb0b3dc6

自定义View如何获取原生属性

for (k in 0 until attributeSet.attributeCount) {

        System.out.println(attributeSet.getAttributeName(k)  + "" + attributeSet.getAttributeValue(k))

}

你可能感兴趣的:(Android实际开发中小技巧)