自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(262)
  • 资源 (27)
  • 收藏
  • 关注

原创 设计模式小结一工厂模式

在工厂模式中,我们创建一个工厂类,该类负责实例化具有共同接口或基类的对象,而无需在代码中直接指定要实例化的具体类。工厂模式有多种变体,最常见的有三种:简单工厂模式(Simple Factory Pattern)、工厂方法模式(Factory Method Pattern)和抽象工厂模式(Abstract Factory Pattern)。笔者记得大学里编程接触到的第一个设计模式就是工厂模式,现在回过头来看,那时接触的应该叫简单工厂模式,工厂模式还包括:工厂方法模式、抽象工厂模式。,我们可以使用一个工厂类。

2024-11-06 18:10:20 1214

原创 设计模式小结一装饰者模式

先上结论:这也是一个Android客户端开发中经常使用到的一个设计模式,最典型的就是Android源代码中你最常见到的上下文,也是采用的装饰者模式。废话不多说,开干简单总结下装饰者模式的定义:动态地给一个对象添加一些额外的职责,就扩展功能而言,装饰者模式提供了一种比使用子类更加灵活的替代方案。

2024-11-06 17:46:13 860

原创 一篇文章帮你彻底解决gradle、gradle插件、jdk版本兼容性问题

但是,这几部分它又是分开升级的,久而久之,就出现了你的开发环境,和导入的项目,在这几个部分之间出现了版本兼容性问题,然后,当你将一个别人开发的,或者很久以前的一个项目导入进来的时候,就会出现各种让你抓狂的编译报红,主要是它不好解决。其次,若上面说的版本兼容性已经没问题了,还报一些groove的语法错误,如果不能简单处理就解决掉,建议将AS的版本换成跟你导入的项目能正常运行所在的版本一致,不要过多的浪费时间。重点来了,不要急,把这几大组件的版本对应关系搞对了,问题自然迎刃而解了。

2024-11-05 17:08:58 2090 1

原创 设计模式小结一观察者(Observer)模式

观察者模式又称为模型-视图(Model-View)模式、源-收听者(Listener)模式或从属者模式。在此种模式中,一个目标对象(被观察者)管理所有相依于它的观察者对象,并在其状态改变时主动发出通知。这通常通过调用各观察者所提供的方法来实现。Observer2. 定义被观察者接口Subject// 添加观察者// 移除观察者// 通知所有观察者// 改变状态并通知观察者3. 创建具体观察者类@Override4. 测试观察者模式// 注册观察者。

2024-11-05 09:18:48 1114

原创 设计模式小结一策略(strategy)模式

定义一个策略接口,包含一个计算折扣价格的方法。// 折扣策略接口创建类,用于设置折扣策略,并计算折扣后的价格。// 设置折扣策略// 计算折扣价格throw new IllegalStateException("折扣策略未设置");

2024-11-04 17:30:00 1337

原创 彻底理解cookie、session、token

Cookie、Session和Token是前端开发中常用的用户会话管理技术。Cookie存储客户端,Session存储服务器端,Token作为客户端请求令牌。三者各有优劣,适用于不同场景,需根据需求选择合适技术保障安全性和稳定性。

2024-11-04 09:24:39 671

原创 Android中的Handle底层原理

静态内部类则不会持有外部类的引用,Handler对象隐性地持有了Activity的对象,当发生GC是因为 message – handler – acitivity 的引用链导致Activity无法被回收,所以发生了内存泄露的问题。2)、一个Thread只有一个Looper,Looper.prepare()即是建立当前线程、消息队列和Looper的对应关系。2)创建handler对象时,会调用Looper.myLooper()方法,从handler所在线程中获取1中创建的。

2024-11-03 08:00:00 561

原创 Android中的跨进程通信方案总结一-AIDL的使用

首先,创建一个.aidl文件,用于定义跨进程的接口。在这个示例中,我们创建一个叫的文件。

2024-11-02 07:30:00 1191

原创 Android中的跨进程通信方案总结一-AIDL运行原理

开发者首先通过.aidl文件定义服务接口和方法,这些方法允许客户端调用。在编译时,Android 编译器会自动生成相应的Stub和Proxy类。Stub(服务端实现):服务端使用的 Binder 对象实现了 AIDL 接口方法,实际调用发生在这里。Proxy(客户端调用代理):在客户端调用时,代理类会将方法调用封装成 IPC 请求,通过 Binder 通道传输到服务端。首先定义一个.aidl文件,它描述了服务接口和可以跨进程调用的方法。假设我们希望创建一个计算服务,包含一个add方法来实现加法运算。

2024-11-02 06:30:00 943

原创 Android程序开发中的异常捕获方案

Override// 自定义处理,例如将日志写入文件// 调用系统默认异常处理器= null) {// 写入文件逻辑在中设置,即可捕获全局异常并记录。局部异常捕获try-catch,适用于局部代码块的异常处理。全局异常捕获,适用于整个应用的异常捕获。协程异常处理,用于捕获 Kotlin 协程中的异常。NDK 层捕获sigaction设置信号处理,用于 native 层崩溃捕获。第三方工具。

2024-11-01 18:30:00 1042

原创 seccomp的原理及使用

先上结论:当前,逆向与反逆向技术已经卷的不能再卷了,矛与盾的攻防永远不会有结论。常规的libc库函数的hook方案,在程序逆向破解过程中的帮助已经越来越弱,而如果你深入研究了seccomp技术,也许能为你的逆向破解之路增添不小的帮助。seccomp的原理主要基于内核中的,尤其是,通过为进程设置一个系统调用的白名单或黑名单,达到限制其操作系统交互的目的。

2024-11-01 07:30:00 1006

原创 程序开发中的加解密技术

先上结论:如何对一个文件在程序开发中进行快速加解密,以求尽量减少对程序运行性能造成影响?笔者尝试了众多常用的加解密技术,综合比较选定了AES方案,用AES对一个传输过来的2MB左右的加密文件进行解密,在大多数手机上运行,时间消耗在毫秒级。开干:在程序开发中,常用的加解密技术主要分为对称加密、非对称加密和散列(哈希)算法等。每种加解密方式都有不同的应用场景。

2024-10-31 20:29:57 1435

原创 java hook的核心-动态代理

Java动态代理是Java中一种强大的特性,它允许在运行时动态地创建代理类和代理对象,而无需在编译时确定代理类的具体类型。1)Proxy类:Proxy是Java提供的用于创建代理类的工具类。3)当调用代理对象的方法时,实际上是调用了InvocationHandler接口中的invoke方法,在该方法中执行具体的代理逻辑,包括调用真实对象的方法。1)创建一个实现了InvocationHandler接口的类,该类将包含对代理对象方法的具体处理逻辑。Class[]:代理类需要实现的接口列表。

2024-10-31 09:01:53 264

原创 Java中线程池的使用技巧(二)

java开发,必须要弄懂线程池的使用及原理

2024-10-30 11:57:19 620

原创 Java中线程池的使用技巧(一)

先上结论:使用过Java语言的开发者,如果不懂得如何正确的使用线程池,那他一定不是一个好的程序员,是一定!开干!1、ThreadPoolExecutor原理`ThreadPoolExecutor`是Java中用于管理线程池的类。它是`ExecutorService`接口的一个实现,提供了灵活的线程池管理功能。1)线程池初始化:在创建`ThreadPoolExecutor`实例时,您需要指定核心线程数、最大线程数、线程空闲时间、工作队列等参数。这些参数决定了线程池的大小和行为。2) 线

2024-10-30 09:24:10 696

原创 win10如何关闭开机启动项

Win10电脑关闭开机自启项办法,看这个就够了

2024-10-30 09:07:47 622

原创 美国技术论坛汇总

当百度已经无法满足你的需求后,可以试试在这些网站找答案

2024-10-29 20:45:44 1407

原创 小米手机如何root

小米手机root,看我这篇就够了

2024-10-29 20:23:22 1036

原创 so库代码如何在Windows11+Android studio开发环境下用ollvm加密

给so库代码混淆加密,看这篇保姆级教程就够了!

2024-10-28 16:24:20 991

转载 linphone快速挂断后的程序崩溃问题

转载自:http://blog.youkuaiyun.com/firstime_tzjz/article/details/7838443 第一种情况:第一步:主叫拨通电话后快速挂断,此时尚未收到服务器对 INVITE 的临时响应消息,因此主叫在调用 eXosip_call_terminate 函数时并不发送 cancel 消息,则通话过程实际并没有结束。第二步:主叫在挂断后状态进入 Lin

2016-03-28 20:49:52 2298 1

原创 SIP协议研究浅析

SIP:1、定义session initiation protocol,SIP是一个应用层的控制协议,可以用来建立、修改、和终止多媒体会话(或者会议)例如Internet 电话。SIP也可以邀请参与者参加已经存在的会话,比如多方会议。媒体可以在一个已经存在的会话中方便的增加(或者删除)2、作用    1. 用户定位: 检查终端用户的位置,用于通讯。     2. 用户有效性:检

2016-03-16 16:35:26 1201

转载 Android WebView常见问题及解决方案汇总 .

转载自:http://blog.youkuaiyun.com/t12x3456/article/details/13769731/ [-]WebView cookies清理判断WebView是否已经滚动到页面底端如有转载,请声明出处: 时之沙: http://blog.youkuaiyun.com/t12x3456Android WebView常见问题解决方案汇总:就目前而

2015-06-03 11:04:48 3085

原创 As of ADT 14, resource fields cannot be used as switch

13down voteFor all of those who didn't resolve this problem yet - this is what i`v done:Go to your "project.properties" file.Delete this line " android.library=true"The reason why i

2015-04-21 23:21:10 1445

原创 c语言中常用转换函数

atof,atoi,strtod,strtol,strtoul

2015-04-21 11:21:57 1566

原创 如何默认勾选DATA ROAMING

[DESCRIPTION]      如果客户想默认打开数据漫游开关,即默认勾选DATA ROAMING,则可以按如下方式客制化即可。 注意:数据漫游打开后,可能会产生高额的漫遊费用,故目前默认的设置都是将数据漫游关闭。 [SOLUTION]  方法1:1: 修改文件:alps\mediatek\config\贵司对应项目\system.

2015-04-13 17:50:11 5918

原创 动态改变任意区域读写权限

最近遇到客户一个比较苛刻的需求,要求动态改变外置T卡的读写权限,然后接下来的几天就各种尝试,各种失败到了放弃的前0.0001秒时突然灵光一现,终于在周五快下班的时候搞出来了,可以回家过个安心周末了!记录一下整个开发过程,留作以后备忘。有了以下代码,以后想动态改变任意区域的读写权限将变得相当容易!            try{             execCommand(new Str

2015-01-23 20:32:39 1356

原创 如何修改单卡和双卡工程的默认数据连接开关

[SOLUTION]单卡项目:     数据连接都是由\alps\mediatek\config\工程名\ProjectConfig.mk下的MTK_DEFAULT_DATA_OFF这个属性来控制。    若MTK_DEFAULT_DATA_OFF=yes,则默认关闭. 同理,若设置成no就是默认打开。KK版本:      请修改DefaultDataSimSetting.ja

2015-01-20 20:45:03 3685 1

转载 Android牛逼开源项目分类汇总 .

[+]第一部分 个性化控件View一ListView二ActionBar三Menu四ViewPager Gallery五GridView六ImageView七ProgressBar八TextView九ScrollView十TimeView十一TipView十二FlipView十三ColorPickView十四GraphView十五UI Style十六其他第二部分 工具库

2015-01-20 02:23:37 3706

原创 将apk编译到指定目录

编译到data/app:LOCAL_PATH:= $(call my-dir)include $(CLEAR_VARS)LOCAL_MODULE_TAGS := optionalLOCAL_PREBUILT_PACKAGE := $(LOCAL_PATH)/SogouInput.apkLOCAL_PACKAGE_NAME := SogouInputLOCAL_CER

2015-01-08 10:02:52 1837

原创 linux中将测试用C文件编译成bin供开发人员快速测试用操作方法

1、Android.mk写法:LOCAL_PATH:= $(call my-dir)  include $(CLEAR_VARS) LOCAL_SRC_FILES:= pn547_iic_test_app.c  LOCAL_MODULE:= pn547_test  LOCAL_MODULE_TAGS := optional   include $(BUI

2015-01-08 09:40:49 3041

原创 获取mac地址并以十六进制格式加冒号分隔显示

unsigned char* getMacAddr(){    char output[wifi_length] = {0};    int rec_size = 0;    int rec_num = 0;    unsigned char w_wifi[wifi_length];    unsigned char* macAddr;    int ret, leng

2015-01-08 09:34:25 6215

转载 “USB连接方式”设置界面 (MTP,PTP,UMS)

转载自:http://blog.youkuaiyun.com/rodney443220/article/details/10542091目录(?)[+]“USB连接方式”设置界面选择MTP,PTP,UMS的选项界面就定义在UsbSettings.java,选择其中一个选项时会执行以下代码。packages/apps/Settings/src/com/andr

2015-01-05 20:57:25 5368

转载 Android中的Binder机制的简要理解二

接着上篇binder简要介绍(见 http://www.linuxidc.com/Linux/2012-07/66195.htm ),我们来分析binder机制的设计。binder主要框架分为三个部分:服务端,binder驱动,客户端。binder在Android最常见的使用场景就是一个程序的activity与系统service进行交互。比如我通过wifi的service来获取wifi控制

2014-12-27 17:34:42 3436

转载 Android中的Binder机制的简要理解一

转载自:http://www.linuxidc.com/Linux/2012-07/66195.htm我们知道,在Android系统中,每一个应用程序都运行在独立的进程中,这也保证了当其中一个程序出现异常而不会影响另一个应用程序的正常运转。在许多情况下,我们activity都会与各种系统的service打交道,很显然,我们写的程序中activity与系统service肯定不是同一个进程

2014-12-27 17:31:36 1921

转载 android -- 编译不同库及编译脚本之区别

转载自:http://blog.youkuaiyun.com/andyhuabing/article/details/8685916我们经常会编译不同库在不同的场合下,而也经常与第三方有合作,对方提供静态库,动态库及配置文件,也有可能需要提供库给对方等等,借此机会将所使用的一些情况作个总结。下面写的android.mk都是一些模板,可能模块可能不需要但加上也无所谓,必要时直接加即可。

2014-12-20 15:12:18 651

原创 如何在Android user 版本下打开UART log?

[DESCRIPTION]如何在Android user版本下打开UART log?[KEYWORD]user version kernel log[SOLUTION]为了加快运行速度,在user版本中关闭了UART log. 如果为了调试1. 打开一个文件: alps/mediatek/config/common/autoconfig/kconfi

2014-11-29 11:10:58 2520

原创 Android得到的真机的SD卡路径

public String getSDPath(){ File sdDir = null; boolean sdCardExist = Environment.getExternalStorageState().equals(Android.os.Environment.MEDIA_MOUNTED); //判断sd卡是否存在 if (sdCardExist){s

2014-11-26 11:13:19 1680

原创 debug版本开机后不出uartlog

kernel/kernel/printk.cinline void mt_disable_uart() {       if(mt_need_uart_console == 0){                                                              printk(">\n");                          

2014-11-26 10:29:33 1064

原创 [FAQ03891] 如何在User版本开启串口(Uart),抓取上层Log,开启输入控制台

FAQ Content[Description]如何在User版本开启串口(Uart),开启输入控制台,抓取上层Log [Keyword]User Uart Log Logcat 输入 控制台 串口 [Solution](1) 如何在User版本中使用串口(Uart) *Android GB 2.3 GB.MP GB.TDD.MP GB2.MP GB2.TDD.

2014-11-26 10:12:21 5636

原创 通过组合键进入recovery模式选择sdcard菜单升级,升级完如何自动重启?

[DESCRIPTION] MTK默认设计:       将OTA升级包放入SD卡根目录下,按键进入recovery模式选择sdcard菜单升级,升级完成后无法自动重启,需要手动选择菜单完成重启;       客户若有需求实现自动重启,请问应该如何更改!  [SOLUTION]  修改recovery.cpp文件prompt_and_wait函数

2014-11-18 10:53:01 1086

图片浏览器

仿苹果风格的图片浏览器,可实现添加删除相册,图片视频浏览

2013-05-13

ViewPager用法

ViewPager用法

2013-03-07

获取程序的图标并显示

获取程序的图标并显示获取程序的图标并显示获取程序的图标并显示

2012-03-20

mp3播放器源代码

mp3播放器源代码

2012-03-13

程序员面试公略

程序员面试公略

2012-03-03

C语言竞赛试题及解答

C语言竞赛试题及解答

2012-03-03

oversea_hk升级失败log

oversea_hk升级失败logoversea_hk升级失败log

2011-12-30

android中将下载的mp3文件存放到虚拟sd卡中

android中将下载的mp3文件存放到虚拟sd卡中

2011-11-25

android中向sd卡读写文件Demo

android中向虚拟sd卡中读写文件的Demo小例子

2011-11-25

android XML文件解析

android中利用sax框架模型实现xml文件解析Demo

2011-11-23

android任务管理器源码

从整个系统中拷贝出来的任务管理器的源代码

2011-09-28

The MediaMetadataRetrieverTest.java Android example source code

The MediaMetadataRetrieverTest.java Android example source code

2011-09-16

AsynTask Demo doInBackground onPreExecute onPostExecute onProgressUpdate

通过一个进度条的使用,模拟下载文件时的状态,在下载文件时动态改变UI显示状态

2011-09-14

什么是2G3G网络

什么是2G3G网络什么是2G3G网络什么是2G3G网络

2011-09-08

Android网络相关问题集合

Android网络问题集合Android网络问题集合

2011-09-08

Android 获取手机SIM资料

Android 获取手机SIM资料Android 获取手机SIM资料

2011-09-08

android判断网络的状态断开与否

android判断网络的状态断开与否.android判断网络的状态断开与否

2011-09-08

Android系列之如何判断网络链接状态

Android系列之如何判断网络链接状态

2011-09-08

android 判断是否有可用网络连接

一个判断当前是否有可用网络连接的Demo

2011-09-08

android MMS 原理

详细描述android系统发送mms的整个过程,重在原理的讲解和分析上

2011-09-08

android中网络类型选择机制

详解在不同网络环境下android系统如何选定网络类型

2011-09-08

android的back菜单响应及去掉title bar

如何逆向思维实现back菜单的响应事件,同时还包含如在程序运行是何去掉activtiy的label标签

2011-08-09

毕业设计(网上购物商城系统)

网上购物商城系统,采用Java的三大框架实现,以MVC为设计模式,用到了ajax技术

2011-07-26

我的简历模板(最经典的排版和设计)

最有价值最经典的简历设计,绝对有用,本人细心设计的精华

2011-07-26

Java面试宝典(包含javaWeb开发的各种常见面试题型)

包含Java web 开发的各种面试题,对面试题进行了分类,你在其中一定可以找到你想要的

2011-07-26

sql server 数据库基本操作大全

总结了上去了sql server 2005 数据库的各种基本操作,包括用存储过程实现分页,触发器的使用等等

2011-07-26

java的MVC模板

简单的java mvc模式,包含分页功能

2011-05-03

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除