自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(93)
  • 资源 (30)
  • 收藏
  • 关注

原创 15分钟带你彻底了解App绘制流程-安卓篇

通过这篇文章可以让从源码角度彻底知道安卓的绘制流程,以及View和ViewGroup的执行生命周期的回调等

2023-12-20 00:36:16 939

原创 2分钟带你了解什么是Vsync

什么是Vsync

2023-12-08 00:34:09 229

原创 7分钟0基础彻底理解常用数据压缩原理---哈夫曼编码

如果你之前没有做过数据压缩,或者想要了解数据压缩的原理,那么这编文章将会帮到你。这编文章将会带你彻底了解哈夫曼编码原理,这种编码方式常用作的**图片无损压缩**,和ZIP的等压缩存储。

2024-02-23 22:17:19 794

原创 30分钟带你深入优化安卓Bitmap大图

众所周知,安卓的图片都是通过Bitmap来完成设置间接交给Gpu去渲染到屏幕。如果想要优化图片,你还是个入门者,那么就必须要了解Bitmap.接下来我们先介绍Bitmap,再去深入研究如何优化大图如何在App上显示。

2024-01-19 00:13:18 863

原创 Android内存抖动

什么原因导致‘内存抖动’内存回收是指在程序需要对象的时候,在堆当中分配出来一块空间,使用完毕以后,由 GC 帮我们清理掉这片内存空间。如果频繁的一直持续上述操作,就会引起内存抖动。也就是有源源不断的对象被创建,同时又有源源不断的对象被回收,这时候就会内存抖动。安卓中内存抖动的影响1.影响app响应速度。2.app UI卡顿,甚至应用无响应。为什么有这么大影响?因为现在基本的jvm(比如cms)的垃圾回收处理器,需要停止工作业务线程,再进行垃圾回收.如果回收的时间越久,app的所有

2022-04-24 11:52:28 2767

原创 一次成功编译Bilibili安卓播放器

Bilibli 编译準備:需要安裝yasm比較新版本,比如 1.2.0 。否者編譯ffmpeg會報錯需要设置sdk 目录,ndk 目录, java homeexport JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_181.jdk/Contents/Homeexport ANDROID_NDK=/Users/kaka/Library/android/sdk/ndk/android-ndk-r10bexport

2022-04-24 10:39:49 416

转载 Dex加载工具类

public class HotFixUtils { private static final String TAG = "lxbnjupt"; private static final String NAME_BASE_DEX_CLASS_LOADER = "dalvik.system.BaseDexClassLoader"; private static final String FIELD_DEX_ELEMENTS = "dexElements"; private .

2020-07-24 18:06:19 215

原创 swift强转实例

//单个值操作,例如data是个Any类型,要强转成String func test( data:Any?)->String{ guard let dataStr = data as? String else {return "" } return dataStr } func test( data:Any?){ ...

2019-08-29 09:46:07 450

原创 flutter rsa

由于公司要用到rsa加密,所以要刷一个rsa工具.在网上搜索,发现很多人是用native实现的.这个太笨重了,不仅仅android ,ios各自维护一份,而且还有打包的版本问题.于是我就开始折腾去找官方的加密库.然后发现rsa加密是需要用到pem文件做钥匙的.写死了.无语的一批.这样就不能动态用字符串做钥匙来加密解密.但是我看了源码后,发现还是有救的,通过拼接pem文件协议开始结束部分到钥匙上面,...

2019-07-17 22:44:59 1335 1

原创 Smali从入门到精通(二)之方法定义

根据上一篇内容,我们已经初步了解了Smali以及文件的声明。接下来我们将认识类的方法的定义,请看下面这个类csdn.yoyo_newbie.smalianalyzesample.Test1package csdn.yoyo_newbie.smalianalyzesample;import android.util.Log;public class Test1 { private...

2019-06-03 00:55:45 4356 3

原创 Smali从入门到精通(一)之初步认识Smali

官方吐槽:什么是Smalismali是将Android字节码用可阅读的字符串形式表现出来的一种语言,可以称之为Android字节码的反汇编语言。怎么得到Smali文件?通过反编译Java,生成Smali(可以使用apktool工具可进行反编译), 如xx.Test.java 反编译==> xx.Test.smali实践分析构建一个包名为csdn.yoyo_newbie.smalia...

2019-06-02 23:10:24 11618 1

原创 java截取文章中的句子

通过使用强大的开源Lingpipe的库实现,百行代码以内就可以轻松把文章的所有句子保存下来。maven链接:<dependency> <groupId>de.julielab</groupId> <artifactId>aliasi-lingpipe</artifactId> <version&g...

2018-10-25 23:54:30 1483

原创 MVP框架之EasyMVP

转载请声明出处:http://blog.csdn.net/YoYo_Newbie/article/details/78509820前言由于前年学习MVP架构后,对其有了深刻的认知。离职后到了下家公司决定开发个MVP框架,投入使用。大概花了一周的时间包括设计,编码,自测搞完了这套框架。随着投入开发时,还是有不少问题,不过经过不断的淬炼,使用了一年到了如今的稳定版。最近发现还有耦合性优化的空间,于是提升

2017-11-12 03:04:52 1205

原创 android 绘制计算text高度,宽度大小

绘制文本的时候,通常我们需要计算文本的大小来进行布局。而需要精确计算文本大小时候,需要用Paint的api来获取文本的高度大小,通常的做法是:String text = "xxx";Paint pain = new Paint();pain.setAntiAlias(true);float textSize = 24f;pain.setTextSize(textSize);

2017-07-20 10:10:06 2552

原创 android studio cmake 配置.a连接库

自 android studio 2.2 +后就集成了ndk开发, 自带cmake 编译器.  编写ndk时候,配置很简单。再也不需要用android.mk配置文件。新建一个带nkd开发项目的结构是这样的,言归正传,那么要添加第三方的xx.a链接库呢?通常我们把第三方提供的h文件夹,放在cpp的include里面。这是规范,不是必须。而xxx.a库放在s

2017-07-05 15:17:14 8884 5

原创 QT图片拉伸填充

QLabel *lable = ui->lb_imgValification; QByteArray data = reply->readAll(); QPixmap pixmap; pixmap.loadFromData(data); int with = lable->width(); int heigh

2017-06-02 13:45:16 4704

原创 slidingmenu沉淀式

将activity沉淀式时候,发现slidingmenu不会上移,原因是slidingmenu重写了fitSystemWindows这个方法,找到fitSystemWindows方法。将它删掉,就轻松解决了。

2016-11-18 09:50:02 432

原创 Android Databinding 从入门到转行(四)自定义设置通知刷新回调

步骤:1.添加ViewModel属性成员T t2.在ViewModel添加个静态方法sss,方法第一个参数是你将要操作的view,第二个参数以上是你的ViewModel属性T成员变化时候,会通知回调这个方法,并且传值给这参数,        3.添加注解 @BindingAdapter("app:xxx"), xxx名字随意取,会在xml视图用到.     

2016-07-20 14:02:49 2991

原创 Android Databinding 从入门到转行(三)在xml视图将ViewModel成员注入到View的setXXX方法

注入规则:条件:某View中如含方法:setXXX,    参数唯一,类型为T        注入步骤:在ViewModel中,添加 T  类型成员引用t       注入方法:在对应的xml,的根元素layout, 添加xmlns:app="http://schemas.android.com/apk/res-auto      然后,找到某View , 添加app:xxxx

2016-07-19 20:57:23 4960

原创 Android Databinding 从入门到转行(二)添加点击事件

需求二: 实现用户简介界面---已知用户名字为Sam, 年龄为25.进入界面时候,要求显示用户名字字段,年龄字段,内容都显示未加载,点击 “显示数据”才显示用户的数据UI效果图:使用databinding , 响应事件不在需要在activity里面添加, 而是在View Model里面添加!是不是很6?关键代码

2016-07-19 17:54:33 4363

原创 Android Databinding 从入门到转行(一)初步介绍

这是google官方的介绍,不过需要翻墙,你懂的。。。。https://developer.android.com/topic/libraries/data-binding/index.html这官方上的简介,翻译过来是酱紫的:Data Binding Library提供了灵活性和广泛的兼容性-这是一个支持库,前提是要使用版本Android 2.1(API级别7+)以上

2016-07-19 16:43:00 1511

原创 解析“a=xxx;b=xxx;c=xxx;.....”,使用"Uson"

经常做项目发现有种字符串格式需要解析---- "a=xxx;b=xxx;c=xxx;..." , 然而这种格式在网上并没有人写对应的框架工具去解析它并且去规范它。因此,菜鸡的我没办法去偷懒,所以只能去自己去写。我的封装原则就是一旦封装,用起来就得无脑且能偷懒则偷懒。"a=xxx;b=xxx;c=xxx;..." 这个格式比较像url的拼接,所以本菜鸡取名叫Uson。。。呵呵勿喷。需

2016-07-14 15:25:31 1246

原创 在静态函数调用指针函数写法

class H{public: virtual void test(void){printf("ssssssssssssssss");}};typedef void (H::*Method)(void);#define call_fun(_method)(Method)(&_method)class B : public H{public: void test(void){

2016-05-05 14:43:09 728

原创 <<=与>>=运算的意义

概念都是假,懂用才是真理。废话不多说,直接看例子。    a    a >>= 1  结果相当于 a 除以 2的一次方    a    a >>= 2  结果相当于 a 除以 2的二次方    .....   那么 , 推理   a    a >>= n 结果等统一, a 除以 2的N次方 如:  public static void m

2016-05-04 16:17:52 674

原创 指针函数回调实例

以下实例是模拟发起post请求到web服务器的后回调处理。 HttpClient.h#pragma once#include #include class BaseClient{public: void onSucess(char* result);};typedef void (BaseClient::*RespnoseCalback)(char*); #define

2016-04-26 13:35:50 394

原创 位运算使用场景

public class Test { public static class Info { public static int FLAG_SHABI = 0x0001; public static int FLAG_LAJI = 0x0002; public static int FLAG_ZHAZHA = 0x0004; public int mFlag = 0;

2016-04-25 17:20:52 1417

原创 万能ExpandableListAdapter适配器

源码下载地址:https://github.com/Sam474850601/CommonExpandableListAdapterDemo或者引入地址: compile 'com.github.sam474850601:fastutils:1.0.3'为了避免每次都要写重复代码的BaseExpandableListAdapter,所以写了通用的adapter假设我要实现这个效果:

2015-12-18 12:58:37 3328

原创 IInputConnectionWrapper: showStatusIcon on inactive InputConnection

发现了一个bug, 在我点击消除editext时候。突然间退出了几面。而且没有任何警告。原因是 自己写的onKeyDown的关系,和消除的按钮冲突了。修改下就好了

2015-12-05 12:04:06 2367

原创 折线图(七)自定义属性

项目下载地址:https://github.com/Sam474850601/ChartView效果图如下:xml代码xml version="1.0" encoding="utf-8"?>xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="mat

2015-12-01 13:59:50 948 1

原创 折线图(六)绘制真正可用的折线图

之前那几遍都是为了展示实现思路的,并不是真正的图实现。看过的人大致都知道接下来怎么做了,只不过是测量下折线图然后设置合理的大小。这个下面本人实现的折线图是测试数据的图,随机点测试package sam.android.utils.widget;import java.util.List;/** * 折线信息 */public class LineCha

2015-11-26 00:43:21 1831

原创 修改Actionbar菜单字体大小

如:<application android:name=".MyApplication" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme">修改主题:appThemename="A

2015-11-19 17:01:29 1500

原创 折线图(五)根据实际情况值,绘制在折线图坐标轴对应位置上

实现思路,先计算保存这些实际值,然实际值对应的坐标轴上的真正位置,从而绘制绘制出来。主要代码如下/** * 绘制所有实际值坐标 * @param canvas */public void drawPoints(Canvas canvas){ if(pointQueue.isEmpty()) return; //首先计算取1xValue多少p

2015-11-19 13:43:14 2576

原创 SwipeRefreshLayout嵌套Viewpager失效

修改 viewpager 触控事件即可。viewpager.setOnTouchListener((v, event) -> { switch (event.getAction()) { case MotionEvent.ACTION_MOVE: swipeRefreshLayout.setEnabled(false);

2015-11-19 11:39:41 873

原创 折线图(四)计算坐标轴文字大小,确定准确位置

计算paint后的文字长度,高度 方法如下Paint xValuePaint = new Paint(); //画笔xValuePaint.setColor(Color.BLACK);xValuePaint.setTextSize(textSize);xValuePaint.getTextBounds(xName, 0, xName.length(), nRect);int nW

2015-11-18 13:22:33 1196

原创 折线图(三)绘制x轴单位值,以及标识物

这里的坐标轴只是演示,到后面还要根据情况就算x,y轴的大小决定 折线图的大小。attrs.xmlxml version="1.0" encoding="utf-8"?> name="LineChartView"> name="chartPadding" format="dimension">

2015-11-17 14:00:48 1786

原创 折线图(二)自定义LineChartView的折线图padding的长度

首先在values文件夹新建attrs.xml文件xml version="1.0" encoding="utf-8"?>resources> declare-styleable name="LineChartView"> attr name="chartPadding" format="dimension">attr> declare-style

2015-11-16 23:08:24 1142

原创 折线图(一)绘制折线图坐标轴

如图,对于手机图形的绘制, 他的坐标轴原点在左上方. 绘制折线图的第一步就是要先绘制出, 折线图的坐标轴,由于手机坐标轴原点在左上方.那么折线图的原点y轴久正好相反。 原点坐标是(0, height)分别为4个步骤,绘制x轴, y轴, x轴箭头, y轴箭头为了看清楚这折线图, 我们把它设置view边缘100px内的位置. 我的自定义包命为:sam.android.utils

2015-11-16 22:27:31 4693

原创 SwipeRefreshLayout如何自动刷新

之前试了N种方法都不行,原来是需要调用handler.postDelayed方法才能出现动画效果。而且SwipeRefreshLayout.setRefrehing(true)不会触发下拉的业务。SwipeRefreshLayout.OnRefreshListener refreshListener = new SwipeRefreshLayout.OnRefreshList

2015-11-16 11:46:51 2688

原创 java网络编程之android多线程断点下载并提供下载进度(三)

如图,一个文件可以分n块,分别用一个线程去下载。只要知道某一个开始下载点,和某一点的下载结束点,就可以下载某一段下来。那么把所有下载好的段拼接后,就是完整的文件。这就是多线程下载文件的思路。为什要使用多线程系下载呢?在理想网络充足和硬件理想好的情况下载,如果开了n线程去下载对比单线程下载,显然多线程的下载速度是单线程的 n倍快。以下是本人封装好的demo 下载地址:https://gi

2015-11-14 11:39:13 1051

原创 android高版本后不自带httpclient相关api

解决: 自行添加 httpclient.jar httpcore.jar jcip-annotations.jar本人资源下载链接,无分http://download.csdn.net/detail/yoyo_newbie/9267841

2015-11-14 00:37:02 1171

httpclient相关jar

import org.apache.http.HttpResponse; import org.apache.http.NameValuePair; import org.apache.http.client.entity.UrlEncodedFormEntity; import org.apache.http.client.methods.HttpPost; import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.message.BasicNameValuePair; 相关类

2015-11-14

AbSlingPlayView

as 版本  AbSlingPlayView 库

2015-08-27

Android统计图

20多种统计图,折线图,饼图,雷达图,气泡图,柱状图等

2015-06-26

自定义actionbar

自定义标题栏,可变换布局,提供资源id便可

2015-06-23

蓝牙通讯神器

这是本人写的蓝牙神器,无脑调用,多线程处理与蓝牙设备通讯,支持重连,带有蓝牙信息监听回调,发送信息等,全回调支持UI操作。

2015-06-12

修复了AbSlidingPlayView滑动BUG

修复了AbSlidingPlayView嵌套所有组件滑动失败的错误,修正了点击失效的错误,这个修复我研究了好久啊。

2014-10-29

左右菜单加底部导航栏

左右菜单加底部导航栏

2014-08-20

下拉刷新库和SlideMenu库

下拉刷新库和SlideMenu库

2014-07-25

ViewPager自动来回切换

ViewPager自动来回切换

2014-07-25

android-http

android-http

2014-07-17

android socket

android socket 聊天 和 pc 端服务器对接,并可以用pc的swing调试

2014-07-01

圆形imageview

把他放在相应得包,然后配置就可以阿斯顿发斯蒂芬

2014-06-29

居于socket聊天android

安卓端必须改IP地址,在consts.java里面改。如果自己没有服务器,那么可以用模拟器利用局域网打开。在打开客户端的时候,必须先打开Server服务端,才可以连接。放心,这个绝对能连接的,是本人手写的demo,希望对大家有帮助,5分不算多把。。。学到东西才是王道。还有,可以用swing客户端打开和安卓端发送信息。而swing客户端显示的是json信息供测试数据看。很方便

2014-06-18

强制关闭安卓应用

强制关闭应用demo,利用广播强制关闭应用,是目前最有效最安全的一种强制关闭应用的方法,还有一种是利用appliaction收集activity,然后遍历关闭掉。目前就这两种方法可以实现这个功能,其他方法都不行了,除非是1.6以下的版本。

2014-05-28

滑动抽屉菜单

代码都封装好了,复制代码修改布局便可以用了

2014-05-18

安卓幻影灯

代码都封装好了,可以直接用,调用几个方法而已。

2014-05-18

struts2配置

struts2配置

2014-04-30

Junit和JSON

json 和 junit jar包

2014-04-30

TabHost导航栏

非常好看的TabHost例子,使用面向对象方式, 模仿BaseAdpter设计使用TabActivity,不适合新手看,除非你对java熟悉。

2014-04-24

android获取当前地址

android获取当前地址,加获取当前经纬度显示,里面已经有哥封装好的工具类了,可以直接使用,有方法注释,你懂得。

2014-04-09

android获取当前经纬度

android 获取当前经纬度demo,代码非常简洁只需1分。

2014-04-09

ListView下拉刷新

ListView下拉刷新

2014-04-07

安卓设城市

这是个设置城市的模块,如果想做的更漂亮,可以修改这listview代码,做到明显的分组添加个条件即可!

2014-04-04

真机获取安卓通话记录

这是一个获取真机通话记录的demo,之前本人一直用模拟器测试可以,但真机不行,经过修改,终于KO了他!

2014-03-31

pptx所需所有的jar

不容易,一个个去高分收集别人的jar,而且有很多都是不对应的,这这里含有4个jar,分别是dom4J,xmlbeans-2.5.0, poi-bin-3.9-20121203,其中poi很齐全了,是最新版本的,还有api文档。3分不算高吧?我都花了10几分才收集到T.T

2013-12-12

org.apache.poi包

org.apache.poi包,不解析了,下载完10分钟后评论,找回自己的分,多谢合作。

2013-12-12

程序员复习题(软件版).rar

吊炸天的软件,程序员模拟试卷,软件版,可以总结的你的得分

2013-12-12

zxing-1.6-core.jar

安卓开发技术----条形码,二维码工具类

2013-12-12

HTML相对路径.doc

如何正确写HTML相对路径的描述,你懂得

2013-12-12

org.apache.poi包,你们懂的

org.apache.poi 你懂的 ,只支持xls,别乱下~,我可不想黑你们的分!

2013-12-12

空空如也

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

TA关注的人

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