![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
android笔记
文章平均质量分 78
seevc
喜欢运动,热爱编码
展开
-
浅谈android:taskAffinity属性及问题解决
浅谈android:taskAffinity属性及问题解决原创 2022-10-25 10:17:57 · 5802 阅读 · 2 评论 -
APK加固原理详解
一、前言之前使用的360加固,挺好用的,从2021年底的时候限制每天每个账号仅上传2次apk(免费的,不知道VIP的是不是这样)。通过这个事情,感觉技术还是掌握在自己手里稳妥点,不用受制于人,想怎么玩就怎么玩。通过技术调研有两条路子可以走:方式一:直接对apk进行加密,启动应用时通过壳程序去加载apk运行;方式二:仅对原apk的dex文件进行加密,启动应用时对dex解密,通过DexClassLoader进行加载;本文主要是参考了360免费加固的思路,所以主要研究的方式二。二、原理先原创 2022-04-07 14:35:41 · 6953 阅读 · 9 评论 -
Jetpack Compose布局(二) - Material组件和布局
在上篇《Jetpack Compose技术快速上手》一文中简单介绍了Compose,那么这边我们就来学习下Compose的布局。由于布局这块涉及内容较多,会分开写。布局主要包括:布局基础知识、Material组件和布局、自定义布局、Compose中使用ConstraintLayout。本文重点讲解Material组件和布局。主要涉及:Material中常用组件和Material布局。如下图:Material中常用组件常用组件包括:按钮、文字 Text、输入框、图标 Icon、分割线 Divid原创 2022-02-07 11:18:49 · 2696 阅读 · 1 评论 -
Jetpack Compose布局(一) - 布局基础知识
在上篇《Jetpack Compose技术快速上手》一文中简单介绍了Compose,那么这边我们就来学习下Compose的布局。由于布局这块涉及内容较多,会分开写。布局主要包括:布局基础知识、Material组件和布局、自定义布局、Compose中使用ConstraintLayout。本文重点讲解布局基础知识。主要涉及:可组合函数、标准布局元素、基本组件、布局模型、修饰符、槽位布局。如下图:可组合函数可组合函数是 Compose 的基本构建块,返回值是 Unit 的函数,用于描述界面中的某一部原创 2022-02-07 11:14:18 · 1574 阅读 · 0 评论 -
一个辅助MVP架构项目快捷开发库-MvpFastDagger
分享一个针对MVP架构开发时,能辅助生成相应的mvp文件的开源库,不用在手动重复的创建model、view、presenter、module、component文件了,提升开发效率。源码地址:MvpFastDaggerMvpFastDaggerMVP+Dagger+Annotation项目架构快速生成mvp相应的文件。MVP+Dagger+Annotation架构中每新增一个Activi...原创 2019-01-17 17:00:15 · 268 阅读 · 0 评论 -
Android studio module代码上传到github作为库引用
话不多说,直接进入主题。1、在项目的root build.gradle文件中增加如下配置dependencies { ...... classpath 'com.github.dcendents:android-maven-gradle-plugin:1.4.1' }2、在需要作为库引入的module目录下的build.gradle增...原创 2018-08-07 17:36:35 · 1399 阅读 · 2 评论 -
Android使用注解@IntDef @StringDef替代Enum提升性能
众所周知,在Android中使用Enum枚举会极大的影响 性能,内存消耗大。原因如下: Android官方文档中也有说明,enum中的每一个值其实都是一个Object对象,每声明一个值就会创建一部分的内存以使它能够被引用到这个对象,相比于静态常量,enum会花费近2倍的内存空间。通常使用定义静态常量来代替Enum使用,如下:public class XXConstant{ ...原创 2018-05-23 10:35:03 · 5447 阅读 · 0 评论 -
使用Okhttp3中的DiskLruCache进行文件缓存
相信很多同学都用过okhttp3这个强大的网络请求框架,应该会发现okhttp3中也封装了一个DiskLruCache磁盘缓存类,具体这个怎么用的呢,下面就来讲一讲。Okhttp3中封装的DiskLruCache类用于磁盘文件缓存,类似JakeWharton的DiskLruCache,但两者还是有区别的,继续看下去。1.首先要引入okhttp3资源包,这里直接使用的是retrofit2,引原创 2018-01-10 17:53:55 · 2577 阅读 · 0 评论 -
Android Websocket+protobuf使用
11原创 2017-11-06 13:52:32 · 2860 阅读 · 2 评论 -
android Scheme使用 打开指定的Activity
1.在配置文件AndroidMenifest.xml文件中增加下配置 注:上配置添加在需要使用Scheme控制启动的Activity下,例如: <activity原创 2015-03-10 14:42:42 · 1255 阅读 · 0 评论 -
Android获取AndroidMenifest.xml中的meta-data数据
在配置文件AndroidMenifest.xml中,meda-data有以下几种存在位置:1.配置在元素中;2.配置在元素中;3.配置在元素中;4.配置在元素中;原创 2015-03-10 15:08:06 · 648 阅读 · 0 评论 -
android中dp与px(像素)之间的转换
在xml布局文件中,我们既可以设置px,也可以设置dp(或者dip)。一般情况下,我们都会选择使用dp,这样可以保证不同屏幕分辨率的机器上布局一致。但是在代码中,如何处理呢?java代码中设置大小使用的是px为单位,若要使用dp为单位,则需要进行转换;以下是一个应用类,方便进行px和dp之间的转换。import android.content.Context;原创 2015-01-23 11:52:47 · 922 阅读 · 0 评论 -
android中gridview中方法getNumColumns()方法在api 11之前不兼容问题
解决办法:1.定义命名空间,private static String NAMESPACE_ANDROID = "http://schemas.android.com/apk/res/android";2.在继承GridView的构造方法中增加下代码//防止在api 11之前出错columnNum = attrs.getAttributeIntValue(NAMESPACE_A原创 2015-01-15 18:27:37 · 1097 阅读 · 0 评论 -
apktool基本命令
1、反编译命令apktool d 如果路径为缺省,则默认会在apk所在的目录下生成一个与apk文件名相同的文件夹保存反编译后的文件apktool d –f 这样就会强行覆盖已经存在的文件2、文件修改完成后,重新进行打包成apkapktool b 这里的就是刚才你反编译时输入的执行完成后,会在响应目录下生成2个文件夹build和dist,其中分别原创 2015-01-26 17:22:18 · 2739 阅读 · 0 评论