自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(63)
  • 资源 (14)
  • 收藏
  • 关注

原创 RxJava操作符变换过程

parent 持有了o,o是也就是subscriberLast,还持有了transformer,也就是func1。我们知道在Observable创建好后,调用了subscribe方法就可以进行订阅了,最后调用的也是Observable创建时传入的OnSubscribe对象的call方法,以obs1的创建举例,也就是我们这里的。在parent的onnext方法中调用了func1的call方法,还记得我们在func1的call方法中写的什么,没错就是转换字符串,call方法的返回值就是转换后的字符串。

2023-03-11 19:41:42 461

原创 设计模式中的设计原则

我们在做任何系统的时候,都不要指望系统一开始时需求确定,就再也不会变化,这是不现实也不科学的想法,而既然需求是一定会变化的,那么如何在面对需求的变化时,设计的软件可以相对容易修改,不至于说,新需求一来,就要把整个程序推倒重来。依赖倒转其实可以说是面向对象设计的标志,用哪种语言来编写程序不重要,如果编写时考虑的都是如何针对抽象编程而不是针对细节编程,即程序中所有的依赖关系都是终止于抽象类或者接口,那就是面向对象的设计,反之那就是过程化的设计了[ASD]。我们希望的是在开发工作展开不久就知道可能发生的变化。

2023-03-07 10:18:57 359

原创 Android关于内存优化

这个是android机制决定的,网上说法也一大把,大致意思也都是activity destory后,应用不会立即释放activity占用的内存,解决方法也众说纷纭,大致用了下面三种方法,都起到了作用,减少了activity 结束后内存占用。内存泄漏主要原因是长生命周期对象引用了短生命周期对象,导致了短生命周期对象不能释放,外部单例对本activity的引用,也导致了本activity释放失败的问题。最近在做项目遇到应用占用内存过多问题,影响了其他应用运行,经过优化从原有占用内存100MB下降到30MB。

2023-03-06 19:43:34 173

原创 RxJava的订阅过程

继续回到订阅部分的代码,类似之前的分析,代码已经在上面类贴出 RxJavaHooks.onObservableStart(observable, observable.onSubscribe)也只是返回了observable.onSubscribe实例,最后的.call(subscriber)也就是直接调用了我们在创建observable时传入的匿名实例call方法,最后返回subscriber。在正式的订阅关系产生之前,首先会执行subscriber.onStart()方法,这里可以做一些初始化工作。

2023-02-22 15:36:12 429

原创 RxJava中的Subscriber

传入的n肯定是要从数据源请求的数据数量,最大值为Long.MAX_VALUE,超过最大值的数据可能会丢弃掉,如果设置了producer,则调用producer的request方法请求数据,反之,则根据n调用 addToRequested()设置requested变量,requested没set过,则直接赋值为n,set过则大小增加n,最后判断是否大于上限Long.MAX_VALUE。前来两个构造最后都会调用第三个,直接看第三个构造方法,Subscriber(Subscriber

2023-02-22 14:13:35 825

原创 RxJava的线程控制

行为模式和 newThread()差不多,区别在于 io() 的内部实现是用一个无数量上限的线程池,可以重用空闲的线程,因此多数情况下 io() 比 newThread() 更有效率。• Schedulers.trampoline():当我们想在当前线程执行一个任务时,并不是立即时,可以用.trampoline()将它入队。• Schedulers.immediate():直接在当前线程运行,它是timeout、timeInterval和timestamp操作符的默认调度器。

2023-02-21 15:17:32 675

原创 RxJava中的Subject

需要注意的是,PublishSubject可能会一创建完成就立刻开始发射数据,因此这里会有一个风险:在Subject被创建后到有观察者订阅它之前这个时间段内,一个或多个数据可能会丢失。如果此时还没有收到任何数据,它会发射一个默认值,然后继续发射其他任何来自原始Observable的数据。当Observable完成时(必须调用onCompleted()才会发射数据),AsyncSubject只会发射来自原始Observable的最后一个数据(不管数据在订阅前还是订阅后)。

2023-02-21 14:35:42 415

原创 RXjava中的操作符

Rxjava中的操作符创建型操作符interval 创建一个按固定时间间隔发射整数序列的Observable,相当于定时器上面的代码每隔3s就会调用call方法并打印Log。其中aLong为从0开始的整数每次+1上面代码也可以合起来写,没有特别说明,本文后面介绍操作符的示例代码都是合起来写的range 创建发射指定范围的整数序列的Observable,可以拿来替代for循环,发射一个范围内的有序整数序列。第一个参数是起始值,并且不小于0;第二个参数为终值,左闭右开。打印日志repeat创建一个

2023-02-21 14:35:06 622

原创 Android中的Rxjava

observer 是一个观察者接口,泛型T为观察者观察数据的类型,里面只有三个方法,其中onError()和onCompleted()最后只能调用其中一个,调用了此二方法后onNext()将不会在调用。其中onStart()方法,它会在事件还未发送之前被调用,可以用于做一些准备工作。这是一个可选方法,默认情况下它的实现为空。那么just,from之间的区别是什么呢,通过查看Observable源码,just方法内部也是调用的from方法。onNext()方法可以调用0到多次,观察到的数据处理在此实现。

2023-02-21 14:33:04 689

原创 对称加密和非对称加密

DES算法的加密密钥是根据用户输入的密码生成的,该算法把64位密码中的第8位、第16位、第24位、第32位、第40位、第48位、第56位、第64位作为奇偶校验位,在计算密钥时要忽略这8位.如果输入的密码只是在这8位上有区别的话,那么操作后的结果将是一样的.像C也是可以获取到A、B的加密秘钥的,但是C没有A、B的解密秘钥,所以即使C获取的到秘文,也无法进行解密。多时候公钥是可以通过私钥计算出来的,用的是椭圆曲线算法,比特币用的同一种算法,所以如果拿到了私钥就等于同时拿到了公钥,可见私钥不能公开的必要性。

2022-11-28 14:37:08 346

原创 Android 代码实现布局

代码实现的activity xml布局。

2022-08-24 15:07:34 335

原创 8421法 十六进制和二进制之间的转换

8421顾名思义就是把二进制的4个bit位进行8421划分,如果二进制位是1则取对应8421值相加即是十六进制数值。二进制 10101011 = 十六进制 0xAB。例:二进制 1111 = 十六进制0xF。例:二进制 1010 = 十六进制0xA。

2022-08-24 11:10:04 3906

原创 Android 节操播放器 JCVideoPlayer视频播放器

最近在做视频播放的项目,找了一些网上的第三方开源库,找来找去发现还是JCVideoPlayer还算好用些,网上讲解 JCVideoPlayer 的也不少,废话少说,开始上代码首先要在项目的app的 build.gradle中 引入JCVideoPlayer库 implementation 'fm.jiecao:jiecaovideoplayer:5.5.2'在activity的xml文件中加入JCVideoPlayer控件 <fm.jiecao.jcvideoplaye

2021-11-28 18:42:07 4623 1

原创 Xposed 之旅 -- 微信防撤回

学习xposed就要研究一些好玩的东西,如果有美女发了一张照片出来又很快撤回,还没有细看是不是很失望;有了xposed ,想撤回?不存在的 !没拦截之前,撤回消息一般都是这样的(测试微信版本6.5.16)这一次我们换个分析方式,知道微信代码里面很多调试的log,那么我们先打印这些这些log看看(关于hook log因为跟本文内容无关,这里就不做太多说明,如果有不懂的可以在下面留言),发...

2021-10-19 16:42:31 6393 1

原创 Xposed 之旅 -- 查看微信群成员入群方式

最近在研究xposed写插件,发现这个真的有毒,会上瘾,写上根本停不下来。那么就来说说最近写的一个,非群主查看群成员入群方式,正常情况下,群成员如果第一次入群,都会有一条提醒消息,加群后,群主点击群头像还可以查看是谁邀请进来的,但是如果不是群主点击查看就什么都看不到。思路分析:加群后有提醒消息,那么数据库肯定存储了这条信息,那么也可能保存了是谁邀请的,至于谁可以看,很可能只是做了一个是否是群主...

2021-10-19 16:42:09 4746

原创 Xposed 之旅 -- 让微信低版本也可以登录

最近拿到一台测试手机(魅族x4),安装的是微信6.5.16版本,登录微信,发现竟然提示版本太低无法登录,简直不友好最近在研究xposed,正好拿来练练手,这个版本号的校验肯定是本地的与服务器的进行了对比,然后得出本地版本号的低,所以我们只要找到连接服务器的网络请求,把传给服务器的版本号改了就好,首先通过dumpsys命令来确定 当前页面所在的Activity ,也可以使用 android su...

2021-10-19 16:40:40 23829 20

原创 使用 AccessibilityService服务抢红包

抢红包在前几年刚出来的时候很火,现在冷清了很多,只有在过节的时候才乐呵一下,以前和同事在一起苹果手机总是比安卓快,无论是消息来的速度,还是拆包速度,虽然我是做安卓的,这一点必须承认,不知道你承不承认呢 哈哈。安卓开发做久了也会感觉无聊,就想搞点东西,抢红包比别人慢怎么得了,研究了一下目前抢红包的几种方法:1、使用AccessibilityService 服务模拟点击抢红包。2、使用Xpose...

2021-10-19 16:35:23 1474 2

原创 OC基础

Xcode文档的安装static关键字oc中static不能修饰类属性和方法,可以修饰方法中的局部变量,如果方法中的局部变量被static修饰那么这个变量就会变成全局静态变量,下次直接使用self在对象方法中self代表当前对象,可以访问当前对象的成员,在对象方法中,不能使用self调用本类的类方法。在类方法中,self代表当前这个类,可以调用其他类方法,不能调用对象方法和属性。继承...

2020-05-06 11:25:47 224

原创 位运算

00 001 110 211 3100 4101 5110 6111 71000 81001 91010 10 a1011 11 b1100 12 c1101 13 d1110 14 e1111 15 f按位&任何数与1进行&操作 结果都是这个数的最低位,也是最后一位,偶数的最低位是0,奇数的最低位是1,所以如果要判断一个数是奇数还是偶...

2020-04-29 16:40:23 130

原创 Android 自定义倒计时,支持listview多item一起倒计时

项目中用到的两种倒计时,一种是用CountDownTimer,但是这种方式在listview中就不是那么好用了,当listview 里面多个item都需要倒计时,就不可以用这种了,我这里想到用Thread 加handler来一起实现。如果大家还有好的倒计时方法,可以留言一起讨论哦,由于代码都是在项目中的,我就截取几段代码。第一种 CountDownTimer: 主要自定义一个类继承CountDow

2017-12-07 11:44:03 806

原创 Android 自定义Listview下拉刷新上拉加载

在android开发中,刷新,加载已经是比较常见的操作,项目中使用的加载控件不知道是哪位大神写的,觉得还挺好用的, 之前一直想找机会好好学学自定义刷新加载控件,各种原因加上自己懒也没有付诸行动,最近写新项目又用到刷新加载,又把大神的控件拿来用,还顺便修复了一个bug(哈哈,有点小窃喜。。)。效果图大致就是这样: 大致思路: 自定义listview ,添加listview header作为下拉

2017-12-07 11:22:02 298

原创 Ubuntu Firefox 浏览器乱码

新安装了 Ubuntu14.04 打开浏览器时发现,有的网页显示文字会出现乱码现象 在 firefox 首选项->内容->字体 修改字体,sans-serif 如果还是乱码就打开内容中的 “高级”选项,把“允许页面选择字体而无需使用上面的设置”前面的钩去掉就可以了。

2017-05-24 11:21:47 3699

原创 C语言编写的俄罗斯方块

学习C语言的时候写的小游戏,分享给大家,需要跑在redhat 或者ubuntu的命令行中运行,效果如下: 代码下载连接

2017-05-23 16:27:35 1802

原创 获取app和Activity运行状态

private boolean getAppRunningState(String pkgName) { ActivityManager am = (ActivityManager)this.getSystemService(Context.ACTIVITY_SERVICE); List<RunningTaskInfo> tasksInfo = am.getRun

2017-04-06 09:45:16 834

原创 Android TextView 跑马灯

<TextView android:id="@+id/music_name" android:layout_width="250px" android:layout_height="wrap_content" android:text="@string/can_not_get_music_name" android:la

2016-12-28 14:52:26 515

原创 Android SeekBar显示进度在thumb上

参考: 参考进行了修改参考网上的一个项目进行了修改,只保留了两个按钮,和一个进度条,可以显示进度到拖动按钮,效果如下: xml布局文件 <com.tcl.navigator.setting.view.mSeekBar android:id="@+id/day_light_progress" android:l

2016-12-22 20:05:24 7257

原创 Android 使用checkbox 做出switch开关效果和功能

做到上面的功能,使用switch开关 自定义起来感觉麻烦,就使用checkbox自定义了一个,简单实用,点击上面任何位置都可以进行打开和关闭xml中代码 <CheckBox android:id="@+id/checkbox_warning" android:layout_width="match_parent" android:layout_h

2016-12-22 19:53:17 2844

原创 Android 不停旋转图片

代码较少,废话就不多说了,直接上代码 private ImageView musicPlate; /**开始旋转**/ private void startAnimation(){ animation = new RotateAnimation(0, 360,Animation.RELATIVE_TO_SELF, 0.5f,Animation.RELATIVE

2016-12-22 19:39:56 859

原创 Android 进度条

1、普通进度条待更新2、 可拖动进度条SeekBar 可以拖动的进度条 OnSeekBarChangeListener() //进度条变化的监听器接口接口中的三个方法: onProgressChanged() //进度条改变的方法 onStartTrackingTouch() //当用户开始拖拽调用 onStopTrackingTouch() //当用户停止拖拽调用

2016-08-23 10:31:53 404

原创 Android RemoteCallbackList类

在网上很少看到有解释 RemoteCallbackList类的,没办法要搞懂只能去看源码,大致理解:一个容器,容纳的对象是一些接口,用于执行列表中对象的回调函数,主要用于服务调用activity函数,或者解释为服务端和客户端通信。/* * Copyright (C) 2008 The Android Open Source Project * * Licensed under the Apac

2016-06-13 14:09:03 13224

原创 Android Adapter嵌套Adapter(文档类app,说明书类app)

相信很多人都用过Adapter,但是Adapter嵌套Adapter确很少使用,主要是这样的需求也不多,最近要做一个说明书类的应用,左边实现目录的嵌套,点击一级目录弹出二级目录,一级目录为一个Adapter,二级目录又是一个Adapter。当我们点击左面的条目时右边又要动态的显示文本或者图片内容,这里我用了两个Fragment。一个用来装目录列表,一个用来显示内容。 大致界面: 点击左边目录弹出

2016-06-09 21:05:05 4645 1

原创 Android 定制开机自启动应用

大致思路是:写一个简单的设置应用,在里面勾选相应的应用(把相应的参数写入到sharedPreferences或者ContentProvider,根据喜好自己选择),在开机的时候读取参数,启动相对的应用;首先新建开机监听广播,监听系统开机package com.tcl.navigator.setting.receiver;import android.content.BroadcastReceiver

2016-05-23 15:20:53 1240

原创 Android Button按钮点击背景和文字变化

Android 原生的按钮点击状态是有变化的,但是如果是自己加了一个.png格式的图片为背景色,按钮点击就不会有任何效果,为了达到点击按钮有一闪的效果,我们就需要准备两张图进行切换, 而且文字也要变色,老规矩废话不多说直接上代码:按钮背景图片放在 drawable/background_button.xml<?xml version="1.0" encoding="utf-8"?><selecto

2016-05-16 14:09:16 8371

原创 使能android /system 文件夹为可读写

以下操作都是在串口中完成使能/system可读写命令 mount -o remount , rw /system有些android设备的系统设置程序是隐藏的,打开设置程序命令 am start com.android.settings

2016-04-13 14:32:40 2078

原创 Android 开发常见问题总结

1、控制台报错误:Conversion to Dalvik format failed: Unable to execute dex: method ID not in [0, 0xffff]: 65536原因可能是因为adt升级等原因,在Java_Buildpath项里面,把Android x.x.x Android Private Libraries Android Dependencie

2016-04-12 17:54:07 461

转载 关联Eclipse源码和关联 android adt源码

转自:http://blog.163.com/cp7618@yeah/blog/static/7023477720110299746103/1、关联 Eclipse源码JavaEclipseJDKCC++ 如何在Eclipse sdk中查看jar源代码如:*.jar 1.点 “window”-> “Preferences” -> “Java” -> “Installed JRES” 2.此时

2016-04-12 10:44:45 1182

原创 Android AutoCompleteTextView使用整理

还记得百度搜索的时候下面自动弹出的提示信息吗,现在使用AutoCompleteTextView可以轻松实现这个功能了,以前一直以为会很难做。。。 老规矩,废话少说直接贴代码: main.xml<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schema

2016-03-01 11:55:05 463

原创 Android 隐藏,显示标题栏

隐藏标题栏很简单啦,只要在setContentView之前加入一行代码就好了,具体代码如下 protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE);

2016-02-25 16:27:43 1081

原创 Linux系统零散记录

screen 命令例如:screen /dev/ttyACM0 9600然后在开一个窗口 就可以往ttyACM0 写东西了例如 :echo 'AT+NAME?' > /dev/ttyACM0echo 'AT' > /dev/ttyACM0echo 'AT+RESET' >/dev/ttyACM0 重启然后参照 http://wiki.aprbrother.com/wiki/Firmw

2016-02-24 16:45:15 372

原创 C++开发基础整理

c++文件会以.cpp为后缀名 例如:abc.cpp #include<iostream> c++的头文件 一个例子: #include<iostream> using namespace std; //名字空间 int main(){ int a=100; int b=200; cout<<"hello"<<

2016-02-24 16:34:24 281

黑魔方_v2.0.0.apk

AccessibilityService 服务使用的一个例子 可以模拟手动点击拆红包

2019-06-09

pullpushListview 下拉刷新上拉加载

自定义下拉刷新,上拉加载,支持自定义分页,每页加载数量,支持android4.0到android8.0

2017-12-07

开发用到的json jar包合集

开发用到的json jar包合集,包括:json-lib-2.4-jdk15,ezmorph-1.0.6,commons-logging-1.0.4,commons-lang-2.3,commons-httpclient-3.1,commons-beanutils-1.7.0,commons-collections-3.1

2017-06-12

嵌套LISTVIEW嵌套adapter

类似说明书,使用手册类app

2016-06-09

java源码和android-17源码

java源码和android-17源码 用于集成到开发工具中

2016-04-12

俄罗斯方块C语言包

用C语言编写的俄罗斯方块,可以实现自动消行,多行消除,下一个模块预览,不同模块不同颜色,分数记录,最高分显示等

2014-11-26

精通oracle 10g系统管理.pdf

精通oracle 10g系统管理.pdf

2013-01-21

精通ORACLE.10G备份与恢复.pdf

精通ORACLE.10G备份与恢复.pdf

2013-01-21

.精通Oracle.10g.Pl.SQL编程

美河提供.精通Oracle.10g.Pl.SQL编程.pdf

2013-01-21

web网页学习制作

WEB课程学习结束后老师让我们自己做一个学习网站,一个网页,自己做的 ,你们老师如果也让你做感觉你可能用上。

2013-01-21

很有价值的oracle SQL编程笔记

自己整理的oracle sql编程 笔记 初学者可以看看,都是基础,一定能有所帮助

2013-01-21

oracle学习笔记

自己整理的ORACLE学习笔记,很全,很详细,能对初学者有很大帮助,拿出来分享给大家

2013-01-21

HTML帮助文档

学HTML的时候老师给的帮助文档,挺好的

2013-01-21

很有价值的javascript学习笔记

个人整理的JAVASCRIPT学习笔记,感觉写的很详细,知识面挺广的,拿出来和大家共享,希望能对初学者有所帮助。

2013-01-21

空空如也

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

TA关注的人

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