- 这次我们做一个动画框架,配置scrollview里包含的控件的自定义属性,就可以实现滑动Scrollview时,里面的控件根据滑动的距离执行各自的动画进度。scrollivew里包含的这些控件可以是任意常用的控件,如 imageView,Button,TextView等。我们将给这些普通的系统控件配置自定义属性!看到这里是不是觉得无法实现,因为系统的Image... 这次我们做一个动画框架,配置scrollview里包含的控件的自定义属性,就可以实现滑动Scrollview时,里面的控件根据滑动的距离执行各自的动画进度。scrollivew里包含的这些控件可以是任意常用的控件,如 imageView,Button,TextView等。我们将给这些普通的系统控件配置自定义属性!看到这里是不是觉得无法实现,因为系统的Image...
- 声明:本文只做技术交流,如有侵权,请告知删除,谢谢。 frida入门教程请参考Loco大神的文章,传送门: https://mp.weixin.qq.com/s/bfurT1h32A1bLiBHa73oJA 今天使用frida框架做一个简单的破解,假定你的手机已经root,电脑已经安装java环境和jadx工具,样例是52破解里面的crakeme,链接如下: ... 声明:本文只做技术交流,如有侵权,请告知删除,谢谢。 frida入门教程请参考Loco大神的文章,传送门: https://mp.weixin.qq.com/s/bfurT1h32A1bLiBHa73oJA 今天使用frida框架做一个简单的破解,假定你的手机已经root,电脑已经安装java环境和jadx工具,样例是52破解里面的crakeme,链接如下: ...
- 今天我们来通过一个实例来讲解一下view的测量绘制过程。我们打算做一个瀑布流标签,就是各个标签的宽高都不一样,当一行占满时就自动换行,示意图如下: ,这个与Grid是有区别的,Grid是每行有固定的列数,而我们这个瀑布流标签是一行占满为止才换行。我们打算做一个自定义容器,这个容器内部的各个子控件会自动按瀑布流标签的形式摆放,对各个子控件的类型没有要求... 今天我们来通过一个实例来讲解一下view的测量绘制过程。我们打算做一个瀑布流标签,就是各个标签的宽高都不一样,当一行占满时就自动换行,示意图如下: ,这个与Grid是有区别的,Grid是每行有固定的列数,而我们这个瀑布流标签是一行占满为止才换行。我们打算做一个自定义容器,这个容器内部的各个子控件会自动按瀑布流标签的形式摆放,对各个子控件的类型没有要求...
- 学了Android开发这么久,Google新出的许多控件在实际项目中几乎没有用过,深感惭愧。今天就来介绍一下控件RecyclerView,简单的说就是列表控件ListView的升级版,还是一个列表控件,只是性能和扩展性远远超过了ListView列表控件。这么好的升级版控件竟然没有使用到项目中,我这个开发人员的水平是不是太差了,是不是没能与时俱进。好吧,话说多了... 学了Android开发这么久,Google新出的许多控件在实际项目中几乎没有用过,深感惭愧。今天就来介绍一下控件RecyclerView,简单的说就是列表控件ListView的升级版,还是一个列表控件,只是性能和扩展性远远超过了ListView列表控件。这么好的升级版控件竟然没有使用到项目中,我这个开发人员的水平是不是太差了,是不是没能与时俱进。好吧,话说多了...
- Parcelable 这是一个接口,它的实例可以写入Parcel或从Parcel恢复。实现Parcelable的类必须要有一个实现了Parcelable.Creator接口的类型的非空静态字段CREATOR,这个字段是帮忙从一个Parcel产生一个Parcelable类的实例。 public class MyParcelable implements Parcela... Parcelable 这是一个接口,它的实例可以写入Parcel或从Parcel恢复。实现Parcelable的类必须要有一个实现了Parcelable.Creator接口的类型的非空静态字段CREATOR,这个字段是帮忙从一个Parcel产生一个Parcelable类的实例。 public class MyParcelable implements Parcela...
- 其实自定义ViewGroup与自定义View很像。它们本质都是View,区别在于ViewGroup是用来组织显示View的。自定义ViewGroup也有几个关键的方法需要实现,而且onLayout方法是必须实现的。在自定义ViewGroup中我们常常需要重写onMeasure、onLayout,而onDraw一般不需要重写。 onMeasure(int widthMe... 其实自定义ViewGroup与自定义View很像。它们本质都是View,区别在于ViewGroup是用来组织显示View的。自定义ViewGroup也有几个关键的方法需要实现,而且onLayout方法是必须实现的。在自定义ViewGroup中我们常常需要重写onMeasure、onLayout,而onDraw一般不需要重写。 onMeasure(int widthMe...
- Handler的用途 Handler是子线程(工作线程)与主线程之间的通信桥梁。由于更新UI只能在主线程里完成,所以在子线程里的工作完成后,可以通过Handler来通知主线程更新UI组件。 什么是主线程呢? 当app应用程序启动时创建的第1个线程就是主线程(MainThread)又叫UI线程,因为它专门用于UI的操作。 什么是子线程呢? 子线程,又因其作用而被... Handler的用途 Handler是子线程(工作线程)与主线程之间的通信桥梁。由于更新UI只能在主线程里完成,所以在子线程里的工作完成后,可以通过Handler来通知主线程更新UI组件。 什么是主线程呢? 当app应用程序启动时创建的第1个线程就是主线程(MainThread)又叫UI线程,因为它专门用于UI的操作。 什么是子线程呢? 子线程,又因其作用而被...
- 项目里的一个fragment有一个EditText输入框,在输入文字后,做了其他操作,但是输入框一直有光标在闪动。当再点击输入框时,软键盘死活不弹出来。除非切换到其他页面再返回来,才可以弹出。 今天终于明白了为什么。因为之前的焦点没有失去,所以当再点击输入框时,无法触发新的焦点事件,所以键盘就不会弹出来了。解决的办法就是要清除之前的焦点。 第一步: 在布局文件中,把Ed... 项目里的一个fragment有一个EditText输入框,在输入文字后,做了其他操作,但是输入框一直有光标在闪动。当再点击输入框时,软键盘死活不弹出来。除非切换到其他页面再返回来,才可以弹出。 今天终于明白了为什么。因为之前的焦点没有失去,所以当再点击输入框时,无法触发新的焦点事件,所以键盘就不会弹出来了。解决的办法就是要清除之前的焦点。 第一步: 在布局文件中,把Ed...
- 内存泄漏的本质 申请了的内存在不再使用时无法回收。 Android应用程序内存泄漏的含义 Android系统为每个应用程序都分配了相应限额的内存。当应用程序中产生的内存泄漏较多时,将会导致应用程序运行所需要的内存超过系统为其分配的限额,这时应用程序就会Crash(崩溃)。 常见引发内存泄漏的情况 集合类static关键字修饰的成员变量非静态内部类 / 匿名类资... 内存泄漏的本质 申请了的内存在不再使用时无法回收。 Android应用程序内存泄漏的含义 Android系统为每个应用程序都分配了相应限额的内存。当应用程序中产生的内存泄漏较多时,将会导致应用程序运行所需要的内存超过系统为其分配的限额,这时应用程序就会Crash(崩溃)。 常见引发内存泄漏的情况 集合类static关键字修饰的成员变量非静态内部类 / 匿名类资...
- Android 9 (API 28)或以上的Android设备上,要求使用HTTPS进行网络请求。那么如何解决这种问题呢?大致可以从四个方面来解决: 1. 使用https请求 2. targetSdkVersion 降到27或以下 3. 使用network_security_config.xml配置文件 在res目录下新建一个xml目录,然后在xml目录里创建netwo... Android 9 (API 28)或以上的Android设备上,要求使用HTTPS进行网络请求。那么如何解决这种问题呢?大致可以从四个方面来解决: 1. 使用https请求 2. targetSdkVersion 降到27或以下 3. 使用network_security_config.xml配置文件 在res目录下新建一个xml目录,然后在xml目录里创建netwo...
- 内存溢出的定义 本来应该被回收的对象不能被回收而停留在堆内存中。 内存溢出的原因 当一个对象实例不再被使用时,正常来说应该被回收,但却因为有另外一个正在使用的对象持有它的引用,从而导致它不能被回收。这就导致了内存溢出。 由Handler引起的内存溢出问题 Handler的一般用法是在Activity中新建Handler子类(内部类)或匿名Handler内部类。... 内存溢出的定义 本来应该被回收的对象不能被回收而停留在堆内存中。 内存溢出的原因 当一个对象实例不再被使用时,正常来说应该被回收,但却因为有另外一个正在使用的对象持有它的引用,从而导致它不能被回收。这就导致了内存溢出。 由Handler引起的内存溢出问题 Handler的一般用法是在Activity中新建Handler子类(内部类)或匿名Handler内部类。...
- 只要加上android:gravity="top"就OK了: <EditText android:hint="投诉或建议内容" android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="top" android:minLines="10" ... 只要加上android:gravity="top"就OK了: <EditText android:hint="投诉或建议内容" android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="top" android:minLines="10" ...
- 概况 做android开发,有时我们会采用MVP模式,把业务逻辑从Activity中分解出来。但是Presenter的生命周期不容易管理。对于一个复杂的Activity和Fragment来说,可能绑定了多个Presenter、Manager或者View,代码写起来就会很复杂。尤其是当这些被其他人复用的时候,很难让别人也注意到这一点,很容易发生内存溢出问题。 Life... 概况 做android开发,有时我们会采用MVP模式,把业务逻辑从Activity中分解出来。但是Presenter的生命周期不容易管理。对于一个复杂的Activity和Fragment来说,可能绑定了多个Presenter、Manager或者View,代码写起来就会很复杂。尤其是当这些被其他人复用的时候,很难让别人也注意到这一点,很容易发生内存溢出问题。 Life...
- 复制功能 //复制 private void copy(String data) { // 获取系统剪贴板 ClipboardManager clipboard = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE); // 创建一个剪贴数据集,包含一个普通文本数据条目(需要复制的数据),其他... 复制功能 //复制 private void copy(String data) { // 获取系统剪贴板 ClipboardManager clipboard = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE); // 创建一个剪贴数据集,包含一个普通文本数据条目(需要复制的数据),其他...
- 什么是Hook Hook 是“钩子”的意思,可以在事件传送的过程中截获并监控事件的传输,可以将我们的代码与系统方法进行融合。当这些系统方法被调用时,也会执行我们的代码。面向切面编程的思想(AOP)也是利用这个原理。 Hook 分类 Android有基于Android SDK的Java语言开发和基于Android NDK的Native C/C++语言开发,因此有... 什么是Hook Hook 是“钩子”的意思,可以在事件传送的过程中截获并监控事件的传输,可以将我们的代码与系统方法进行融合。当这些系统方法被调用时,也会执行我们的代码。面向切面编程的思想(AOP)也是利用这个原理。 Hook 分类 Android有基于Android SDK的Java语言开发和基于Android NDK的Native C/C++语言开发,因此有...
上滑加载中
推荐直播
-
基于开源鸿蒙+海思星闪开发板:嵌入式系统开发实战(Day1)
2025/03/29 周六 09:00-18:00
华为开发者布道师
本次为期两天的课程将深入讲解OpenHarmony操作系统及其与星闪技术的结合应用,涵盖WS63E星闪开发板的详细介绍、“OpenHarmony+星闪”的创新实践、实验环境搭建以及编写首个“Hello World”程序等内容,旨在帮助学员全面掌握相关技术并进行实际操作
回顾中 -
基于开源鸿蒙+海思星闪开发板:嵌入式系统开发实战(Day2)
2025/03/30 周日 09:00-12:00
华为开发者布道师
本次为期两天的课程将深入讲解OpenHarmony操作系统及其与星闪技术的结合应用,涵盖WS63E星闪开发板的详细介绍、“OpenHarmony+星闪”的创新实践、实验环境搭建以及编写首个“Hello World”程序等内容,旨在帮助学员全面掌握相关技术并进行实际操作
回顾中 -
从AI基础到昇腾:大模型初探、DeepSeek解析与昇腾入门
2025/04/02 周三 16:00-17:30
不易 / 华为云学堂技术讲师
昇腾是华为研发的AI芯片,其具有哪些能力?我们如何基于其进行开发?本期直播将从AI以及大模型基础知识开始,介绍人工智能核心概念、昇腾AI基础软硬件平台以及昇腾专区,旨在为零基础或入门级学习者搭建从AI基础知识到昇腾技术的完整学习路径。
回顾中
热门标签