- 博客(37)
- 资源 (1)
- 收藏
- 关注
原创 Hook式插件化二:安卓类加载源码分析(一)
在宿主中startActivity跳转到插件中的Activity会报错,通过分析错误原因,来学习Android类加载机制(只有理解了这些我们才能去做一些骚操作):跳转方法如下:// 宿主中 去启动插件里面的PluginActivity -- (插件里面的Activity) Intent intent = new Intent(); intent.setComponent(new ComponentName("com.test.plugin_package", "c
2021-05-29 14:37:47
213
2
原创 Hook 系统源码探究
众所周知,一个Activity要想启动,必须在AndroidManifest里面注册,否则会在跳转到当前Activity的时候崩溃并报错:have you declared this activity in your AndroidManifest.xml?而我们要做的插件化就是要跳过注册这一步,同时保证当前Activity能够正常加载。如何做到这一步呢?下面我们基于API28去查看源码:当我们调用startActivity方法时,ActivityManagerService(AMS)会去检测.
2021-05-10 14:28:31
533
原创 Hook式插件化一:了解Hook
一、什么是HookHook就是将程序某一片段截取下来,在前面加入自己的业务逻辑,然后继续执行原来逻辑的一种手段。下面简单实现一个拦截Button点击事件的Hook方法,去修改getText()的内容。查看onclickListener源码修改text步骤如下:1.监听 onClick,当用户点击按钮的时候-->onClick, 我们自己要先拦截这个事件(这里需要用到动态代理Proxy)。2要监听的接口,监听什么接口,就返回什么接口。3监听接口方法里面的回调。
2021-03-22 17:02:56
382
原创 占位式插件化原理初探
对于移动端开发,所谓插件化就是在一个宿主APP内打开另一个未安装的插件APP,插件使用了宿主的上下文,即context。要实现插件化,需要宿主、插件两应用实现同一套标准。进行时需要新建一个项目,项目分为三个模块,一个宿主APP(app model),一个插件APP(plugin_package model),一个接口标准(startder library)。我们要做的是从宿主MainActivity跳转到插件的PluginActivity,再从插件的PluginActivity跳转到插件的Plu
2021-03-10 01:30:45
120
原创 组件化之路一:gradle语法
gradle 介绍:1.gradle构建工具的出现让工程有无限可能;2.gradle核心是基于Groovy脚本基于Java且拓展了Java。因此gradle需要依赖JDK和Groovy库;3.和ant、maven构建有区别,gradle是一种编程思想;第一行代码:两种打印字符串方式:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-E5Jl2R40-1598170578671)(C:\Users\qiuqi.OVOPARK\AppData\Roaming\Typora
2020-08-23 16:18:23
281
原创 spring的Bean管理(xml)
bean的实例化方式:使用类的无参数构造创建(重点)如果类里面没有无参构造,会出现异常 使用静态工厂创建 创建静态方法,返回类的对象}使用实例工厂创建创建不是静态的方法,返回类的对象...
2018-03-09 17:47:42
195
原创 spring 小demo
第一步 导入jar包1.解压资料zip文件,下载地址(1)jar特点:每种jar包都有3个文件(基本,源代码,文档)spring核心包含:beans,core,context,spel(2)完成spring最基本功能只需要导入4个核心的jar包。(3)导入支持日志输出的jar包apache-log4j-1.2.17 下载地址commons-logging-1.2 下载地址第二步 创建类,在类里创建...
2018-03-09 16:01:38
205
原创 spring框架学习
spring:轻量级、面向切面(AOP)、控制反转(IOC)的一站式框架。核心: AOP:扩展功能而不是修改源代码。 IOC:配置创建类的对象而不是通过new( )。 一站式:在javaee三层结构中,每层提供不同的解决技术 web层:springMVC service层:spring的IOC DAO层:spring的jdbcTempla...
2018-03-09 14:10:47
176
转载 Android 桌面角标在各大品牌机型上的实现
转自http://blog.youkuaiyun.com/uyy203/article/details/70160752?locationNum=15&fps=1 由于角标在Android原生的系统中没有支持,所以各个Android手机厂商各自为政。正如很多资料所说,这一功能完全是效仿IOS,Andr...
2018-02-09 13:44:42
617
转载 大神的Android 学习笔记
https://github.com/francistao/LearningNotes第一部分:Android(安卓)Android基础知识Android内存泄漏总结Handler内存泄漏分析及解决Handler、Looper、Message、MessageQueue基础流程分析Android性能优化ListView详解RecyclerView和ListView的异
2018-01-29 14:16:06
305
转载 Android Butterknife 8.4.0 使用方法总结
转自https://www.cnblogs.com/zhaoyanjun/p/6016341.html本文出自【赵彦军的博客】前言ButterKnife 简介ButterKnife是一个专注于Android系统的View注入框架,可以减少大量的findViewById以及setOnClickListener代码,可视化一键生成。项目github地
2018-01-16 13:35:55
333
转载 Android:WebView与 JS 交互方式,前后端互相调用
转自http://blog.youkuaiyun.com/carson_ho/article/details/64904691前言现在很多App里都内置了Web网页(Hyprid App),比如说很多电商平台,淘宝、京东、聚划算等等,如下图上述功能是由Android的WebView实现的,其中涉及到Android客户端与Web网页交互的实现今天我将全面介绍Andro
2018-01-16 13:28:46
8978
原创 ios代码习惯
不要在viewDidLoad里面初始化你的view然后再add,这样代码就很难看。在viewDidload里面只做addSubview的事情,然后在viewWillAppear里面做布局的事情,最后在viewDidAppear里面做Notification的监听之类的事情。至于属性的初始化,则交给getter去做。比如这样:#pragma mark - life cycle- (
2017-05-26 08:47:41
334
原创 ios自定义键盘
支持英文大小写切换,数字键盘以及部分符号输入(键盘内容支持自定义)首先导入键盘类文件#import "PMCustomKeyboard.h" PMCustomKeyboard *customKeyboard1 = [[PMCustomKeyboard alloc] init]; [customKeyboard1 setTextView:self.userCodeVi
2017-05-19 15:47:16
384
原创 Android自定义键盘
支持英文大小写,数字及部分符号输入的自定义键盘新建类文件KeyboardUtilpackage com.sanz.lefangandroid.util;import android.app.Activity;import android.content.Context;import android.inputmethodservice.Keyboard;impor
2017-05-19 15:39:43
415
原创 Android 仿ios的tip提示语样式SVProgressHUD
项目地址:https://github.com/saiwu-bigkoo/Android-SVProgressHUD使用gradle 依赖:compile 'com.bigkoo:svprogresshud:1.0.6'用法很简单:new SVProgressHUD(LoginActivity.this).showErrorWithStatus("错误提示");
2017-05-17 14:35:45
1803
原创 Android第三方等待框SpinKit
项目地址:https://github.com/ybq/Android-SpinKit在xml里面加入控件com.github.ybq.android.spinkit.SpinKitView xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/spin_kit" style
2017-05-17 14:07:53
943
原创 第三方webview-------FHWebView
https://github.com/feihuang89/FHWebView网上找的第三方webview,FHWebView,作者说的挺牛逼,就是不知道怎么实现出来#import "FHWebManager.h"#import "FHWebViewProgressView.h"#import "UIViewController+NavgationBar.h" //在作
2017-05-16 15:06:13
787
原创 第三方webview---SPWebView
git上的第三方webview控件https://github.com/lishiping/SPWebView没有实现出git项目上面的加载进度条效果,具体还得继续研究啊@interface ThridViewController (){ SPWebView *swebView;}swebView = [[SPWebView alloc]initW
2017-05-16 14:45:10
1036
1
转载 ios 二维码扫描和生成
转自https://github.com/kingsic/SGQRCode#import "SGQRCodeTool.h"//生成二维码#import "SGQRCode.h"//扫描二维码UIImageView *imageView2;//生成二维码 imageView2 = [[UIImageView alloc]initWithFrame:C
2017-05-16 14:11:54
473
原创 图片查看器MJPhotoBrowser
MJPhotoBrowser实现了图片浏览和查看功能,我使用的只是查看。#import "MJPhoto.h"#import "MJPhotoBrowser.h"UIImageView *imageView;NSMutableArray *photos;photos = [NSMutableArray arrayWithCapacity:1];[self add
2017-05-16 13:58:10
848
原创 第三方等待框AMPActivityIndicator
使用pod的可以搜索到,从git项目down下来#import "AMPActivityIndicator.h" AMPActivityIndicator *loadInd; //初始化等待框 loadInd = [[AMPActivityIndicator alloc]initWithFrame:CGRectMake(kViewWidth / 2 - 25,
2017-05-16 13:57:04
245
原创 AFNetworking用法
首先下载AFNetworking库,#import "AFNetworking.h"使用一下方式进行http请求 AFHTTPSessionManager *manager = [AFHTTPSessionManager manager]; NSMutableDictionary *dict = [NSMutableDictionary dictionary];
2017-05-16 13:46:29
277
转载 Android之二维码生成与识别 读取相册
转自http://blog.youkuaiyun.com/u012702547/article/details/51501350二维码,我们也称作QRCode,QR表示quick response即快速响应,在很多App中我们都能见到二维码的身影,最常见的莫过于微信了。那么今天我们就来看看怎么样在我们自己的App中集成二维码的扫描与生成功能。OK,废话不多说,我们就开始做吧。二维码的使用我主要
2017-05-16 13:43:21
4675
原创 android6.0以后调用相机和选取图片
//读取文件权限private static final String[] PERMISSION_EXTERNAL_STORAGE = new String[] { Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.READ_EXTERNAL_STORAGE};private static final
2017-04-13 10:58:53
693
转载 iOS LaunchImage 标准尺寸
iPhone Portrait iOS 8,9Retina HD 5.5 (1242×2208) @3xiPhone Portrait iOS 8,9Retina HD 4.7 (750×1334) @2xiPhone Portrait iOS 7,8-2x (640×960) @2xiPhone Portrait iOS 7,8-Retina 4 (640×1136) @2x
2017-03-06 15:07:56
647
原创 ios MBProgressHUD使用以及自定义样式
关于MBProgressHUD的使用以及自定义样式,以及扩展MBProgressHUD之后从controller中提出来单写的接口
2017-03-02 16:20:20
5577
转载 虚拟键盘弹出挡住textfield的分析以及解决办法
转自http://blog.youkuaiyun.com/u011374699/article/details/45894303原本用的方法是int offset = textfield.frame.origin.y + height - self.view.frame.size.height + 216(键盘高度)来计算y轴移动的偏移量。如果offset大于0,就向上偏移。这里有个问题:如
2017-03-01 16:36:39
541
转载 iOS开发之键盘类型UIKeyboardType
转自http://blog.youkuaiyun.com/crazyzhang1990/article/details/39965931UIKeyboardTypeDefault:UIKeyboardTypeASCIICapable:UIKeyboardTypeNumbersAndPunctuation:U
2017-03-01 11:24:23
426
原创 ios导航栏字体颜色及背景色设置rgb
//设置导航栏字体大小颜色 [self.navigationController.navigationBar setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:[UIColor colorWithRed:44.0f/255.0f green:141.0f/255.0f blue:228.0f/255.0f
2017-02-28 10:24:25
839
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人