自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

一航jason

IT民工,爱好:Android、C/C++、HTML5、Flutter、Framework、PHP、Unity

  • 博客(285)
  • 资源 (2)
  • 收藏
  • 关注

原创 android 享元模式

private void t() { fc fc = new fc(); person jason = fc.search("jason"); jason.setPrice(10); Log.i(TAG, "t: "+jason.toString()); person jace = fc.search("jac...

2019-03-22 17:24:14 138

原创 android 节点组合模式 DOM模式

private void t() { viewGroup viewGroup=new viewGroup("layout"); viewGroup.addView(new view("image")); viewGroup.addView(new view("txt")); viewGroup viewGroup1=new ...

2019-03-22 17:05:10 295

原创 android 对象拷贝克隆模式

private void t() { Card card = new Card(); card.setNum(19); card.setNmae("jason"); Log.i(TAG, "t: "+card.toString()); try { Card clone = card.clone(...

2019-03-22 16:32:48 2535

原创 android 工厂模式

private void t() { exectur exectur=new exectur(); Runable runs = exectur.getRuns(); runs.run(); Runable runs2 = exectur.getRuns2(); runs2.run(); } int...

2019-03-22 16:04:45 122

原创 android builder 构建者模式

private void t() { Dialog.builder builder=new Dialog.builder(context); builder.setMsg("消息"); builder.setTitle("标题"); Dialog dialog = builder.create(); dialog.sh...

2019-03-22 15:51:28 163

原创 android 装饰者模式

private void t() { contextImp imp=new contextImp(); imp.startActivity(); activity activity=new activity(imp); activity.startActivity(); } public abstract c...

2019-03-22 15:14:04 100

原创 android jni 多线程编程 join thread

android jni 多线程编程 join thread://// Created by 11 on 2019/3/7.//#include <com_reactnative_jason_jnidome_JNIClass.h>#include <cstdio>#include <cstring>#include <ctime>#i...

2019-03-09 11:22:17 394

原创 CLEARTEXT communication to upload-as0.xxxx.com not permitted by network security policy

android设备网络请求时候出现了下面错误:CLEARTEXT communication to upload-as0.xxxx.com not permitted by network security policy这里是意思大概是禁止明文传输。原因:由于 Android P(版本27以上) 限制了明文流量的网络请求,非加密的流量请求都会被系统禁止掉。解决方法:在xml文件夹中创...

2019-03-07 15:40:19 326

原创 android jni 文件操作

android jni 中文件操作与C语言原生文件操作有一些不同,我们看看文件操作中的创建写入和读取文件创建文件写入内容:JNIEXPORT jstring JNICALL Java_com_reactnative_jason_jnidome_JNIClass_getStringForJNI (JNIEnv *env, jobject jo, jstring inputs) {...

2019-02-26 10:34:17 1666

原创 c语言常用算法整理

这里整理c语言常用算法,主要有:交换算法查找最小值算法冒泡排序选择排序插入排序shell排序 (希尔排序)归并排序快速排序二分查找算法查找重复算法代码如下://交换void swap(int *a, int *b){ int tmp=*a; *a=*b; *b=tmp;}//查找最小int min(int x, int y) { r...

2019-02-26 10:10:57 29261 3

原创 android 仿微信群聊头像 合成图片

android 仿微信群聊头像 合成图片,微信中可以显示出群头像为多个用户的头像网格,这里讲方法已经封装好,如果有记得点赞哦!!热更新框架:https://github.com/jasonliyihang/speed_tools网络优化工具集:https://github.com/woshiliyihang/pre-network先看效果:使用例子:@Overridepublic ...

2019-01-24 17:45:25 3022

原创 解决FragmentPagerAdapter notifyDataSetChanged() fragment不刷新问题

解决FragmentPagerAdapter notifyDataSetChanged() fragment不刷新问题思路:在设置新数据时候移除老的fragment从manager中: public void setData(List<Fragment> fragment){ if (fragment.size()>0) { Fr...

2018-12-28 16:21:11 1531

原创 android信号量Semaphore的妙用

信号量Semaphore平时一般开发中不算是常见的api,但是他能给你提供管理多线程调度的能力。接下来我们用一个简单例子来演示他的作用。假设情景,一个页面有个多个异步请求,我需要管理他们,要他们按照顺序一个接一个执行,这里我们就可以使用信号量完成。具体含义看注释:封装的工具类:public class PNSyncTaskUtils implements Runnable { p...

2018-12-28 16:02:53 4890 1

原创 Android dependency 'com.android.support:recyclerview-v7' has different version for the compile (28.0

开发中出现:Android dependency ‘com.android.support:recyclerview-v7’ has different version for the compile (28.0.0-alpha3) and runtime (28.0.0) classpath. You should manually set the same version via Depen...

2018-11-23 14:50:54 2723

原创 android 架构之集成react native框架js混编APP

本篇文章主要总结一下现在APP当中使用的js、webView混编架构和技术。什么是 js 混编?js混编简单说就是使用JavaScript开发APP程序。android应用使用的是java,Kotlin 、c/c++ 为主的语言开发,ios使用的object-c 、 swift、c/c++ 为主语言开发,由于市场是基本都是android和ios手机,所以一般公司开发什么项目androi...

2018-11-01 13:39:26 1179

原创 不管你喜不喜欢 androidX 它都来了

本着我踩的坑都要分享出来的精神写了今天文章。com.android.support 系列的依赖报名已经不陌生了,为了兼容而出现的他们在更新到28时候谷歌官方宣布停止更新,原因就是谷歌爸爸不喜欢这个名字了!! 呵呵 玩笑,只是版本管理有些乱,开发中也经常会碰到各种compat 而且原来越多,所以谷歌开始规范支持包,androidX 孕育而生。androidx 出现规范代码,但是产生一个过渡期,什...

2018-10-15 17:10:26 13634 3

原创 android 模仿微信输入时获取最新一张截图或拍照相片

首先看看这张图片: 微信有个很好用户体验功能就是在输入时候提示你刚刚拍照的相片或者是截图的图片,可以快速输入。 实际上是通过内容提供者来从截图或者拍照文件中获取最新的图片进行时间对比来选择最新一张,我们来看看代码实现。 已经封装成工具类直接可以使用:package com.chengxing.cxsdk;import android.content.Context;impo...

2018-08-28 12:15:02 1458

原创 android 版本更新和下载安装 适配android 7.0

在android 7.0之前版本更新其实相当简单,只需要使用系统下载器就能够完成下载之后安装,但是在7.0之后android升级安全机制,下载安装受到一些限制。这里我分装成了几个工具方便开发者使用:创建广播接受者:CXDownloadReceiverpublic class CXDownloadReceiver extends BroadcastReceiver { @Over...

2018-07-25 09:08:48 7720 2

原创 android 监听判断键盘弹出和收回

在做公司项目时候发现要检查键盘弹出和收回来更新UI,那么本身android 键盘 api没有提供解决方案,那么只能够另辟蹊径。这里我使用的是检查view高度来实现键盘展开和收回监听,封装成一个类了:代码:public class CXKeyHelper implements View.OnLayoutChangeListener { private Activity acti...

2018-07-20 13:47:10 1365

原创 recyclerview 判断滑动到底部

recyclerview 判断滑动到底部是一种非常常见操作,这里我封装一个类非常方便可以实现底部判断操作。public class CXLoadMoreListener extends RecyclerView.OnScrollListener { private int lastVisibleItem; private RecyclerView.Adapter<R...

2018-07-20 13:04:12 3337

原创 GestureDetector 手势辅助类 笔记

GestureDetector类可以让我们快速的处理手势事件,如点击,滑动等。 回调方法有点多做个笔记先。public class GestureDemoView extends LinearLayout { //1,定义GestureDetector类 private GestureDetector m_gestureDetector; public Gesture...

2018-05-28 18:09:00 426

原创 DrawerLayout 模仿QQ 测滑菜单

DrawerLayout 模仿QQ 测滑菜单布局文件:<?xml version="1.0" encoding="utf-8"?><android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="htt...

2018-04-27 09:04:47 445

原创 监听android屏幕亮、暗、锁和关闭系统动作

··· final IntentFilter filter = new IntentFilter(); // 屏幕灭屏广播 filter.addAction(Intent.ACTION_SCREEN_OFF); // 屏幕亮屏广播 filter.addAction(Intent.ACTION_SCREEN_O...

2018-04-21 17:35:47 1773 1

原创 Object中finalize方法解析

我们知道java万物皆是对象,如果你创建一个类都可以重写父类中的finalize方法,这个方法是什么时候调用? 当VM的垃圾收集器检测到这个对象不可达的时候,也就是说这个对象为垃圾可以被回收的时候,这个对象的finalize ()方法就会被执行,默认情况下,它不做任何处理,我们可以重写这个方法来进行资源的释放。一般不建议使用这个,因为它的代价比较大。` @Override ...

2018-03-05 11:27:55 1206

原创 java算法之希尔排序

经典Android、Java面试题之希尔排序,结果是升序;希尔排序是在选择排序之上进行优化而产生的。 代码如下: public static void main(String[] args) { int[] data = new int[] {11,10,55,79,100,111,45,56,79,90,345,1000}; heerSort(da...

2018-03-04 14:57:12 190

原创 java算法之插入排序

经典Android、Java算法面试题之插入插入排序,这里排出来的是升序; 原理如图: 代码: public static void main(String[] args) { int[] data = new int[] {11,10,55,79,100,111,45,56,79,90,345,1000}; insertSort(data);...

2018-03-04 14:33:53 143

原创 java算法之选择排序

经典android、java面试算法题目之选择排序,这里排列出来的是升序,选择最小的元素; public static void main(String[] args) { int[] data = new int[] {11,10,55,79,100,111,45,56,79,90,345,1000}; select(data); f...

2018-03-04 14:15:06 119

原创 java算法之冒泡排序

经典android、java 算法面试题之冒泡排序,排序为升序; public static void main(String[] args) { int[] data = new int[] {11,10,55,79,100,111,45,56,79,90,345,1000}; select(data); for (int i = 0...

2018-03-04 14:05:03 142

原创 java算法之去重查找重复元素

经典android、java面试题之查找重复元素算法; public static void main(String[] args) { int[] data = new int[] {11,10,55,79,100,111,45,56,79,90,345,1000}; searchRepeatIndex(data); } //去重...

2018-03-04 14:00:23 2510

原创 java算法之位运算交换值

经典面试题值交换 java算法之位运算交换值 public static void main(String[] args) { int[] data = new int[] {11,10,55,78,100,111,45,56,79,90,345,1000}; swap(data, 1, 2);//交互第二个和第三个元素值 for (...

2018-03-04 13:56:23 639

原创 java算法之二分查找

经典算法面试题之二分查找; public static void main(String[] args) { int[] data = new int[] {11,10,55,78,100,111,45,56,79,90,345,1000}; int search = search(data, 78); System.out.print...

2018-03-04 13:51:49 170

原创 java 算法之快速排序

经典算法面试题之快速排序 快速排序是基于分治思想建立在冒泡排序之上的一个排序算法,通过递归每个分组来达到排序功能; public static void main(String[] args) {// int[] arr = { 4, 2, 1, 3, 4, 1 };// searchRepeatIndex(arr);// for (int i = ...

2018-03-04 13:43:40 141

原创 ubuntu 使用xdotool 用键盘代替鼠标左键

ubuntu 使用键盘替代鼠标按键首先: 安装xdotool 工具 使用命令安装 sudo apt-get install xdotool然后: 设置快捷键;

2018-03-03 19:02:14 899

原创 java常用算法整理

做移动端的同学们经常会忽略算法使用,因为平时开发后台数据已经处理好了,前端更多的是动画逻辑,布局逻辑等,但是算法重要性毋庸置疑,好的运用算法可以增加程序效率和提升代码质量,这里整理一下常见的面试中遇到的算法: //二分法查找 public static int search(int[] arr, int key){ int start=0; i...

2018-03-02 17:46:24 22502 4

原创 3D转2D效果-shader

卡通效果,3D转2D效果:Shader "Custom/DieJia" { Properties{ _MainTex("Texture", 2D) = "white"{} _LineSize("OutlineSize", range(0, 0.2)) = 0.02 _LineColor("LineColor", Color) = (0...

2018-02-13 17:40:10 1968

原创 带云朵环绕的地球仪效果-shader forge

使用shader forge完成地球仪带云朵效果:

2018-02-13 17:25:55 1080

原创 材质叠加-shader

使用lerp 方法可以叠加两个材质。Shader "Custom/UVAnim" { Properties{ _MainTex("土地贴图", 2D) = "white" {} _Cloud("云朵素材", 2D) = "white" {} } SubShader{ Tags{ "Queue" = "

2018-02-13 17:09:20 957

原创 uv切换动画实现-shader

使用shader修改uv生成新的uv来控制贴图显示的的位置大小:Shader "Custom/UVAnim" { Properties { _Color ("Main Color", Color) = (1,1,1,1) _MainTex ("Base (RGB) Trans (A)", 2D) = "white" {} _SizeX...

2018-02-13 16:23:05 555

原创 收藏一下雪地shader效果

原文地址:http://blog.csdn.net/u011416077/article/details/47692555雪地shadar效果收藏一下:Shader "Custom/XueDiShader" { Properties{ //岩石贴图 _MainTex("基本材质", 2D) = "white" {} //法线贴图...

2018-02-13 15:15:21 2883

原创 水面效果-shader forge

unity开发中水面效果是非常常见的,这里就简单实现以下这个效果。感觉效果不是很好,请各位多多包涵,没有变化顶点,知识修改自发光效果。 效果逻辑图: ...

2018-02-13 14:35:10 1863

exoplayer 编译出来的ffmpeg扩展库aar

exoplayer 编译出来的ffmpeg扩展库aar,FFmpeg 模块提供 ,它使用 FFmpeg 进行解码 并且可以呈现以各种格式编码的音频。FfmpegAudioRenderer。 使用模块将aar加入项目libs。 按照上述说明进行检查后,构建并依赖 模块,下一步就是告诉ExoPlayer使用。如何 执行此操作取决于您使用的播放器 API:FfmpegAudioRenderer 如果要将 传递给 ,则 可以通过设置参数来启用使用模块 的构造函数。这将用于 播放(如果不支持输入格式)。通过以优先于 .DefaultRenderersFactoryExoPlayer.BuilderextensionRendererModeDefaultRenderersFactoryEXTENSION_RENDERER_MODE_ONFfmpegAudioRendererMediaCodecAudioRendererEXTENSION_RENDERER_MODE_PREFERFfmpegAudioRendererMediaCodecAudioRenderer 如果已子类化,则在 中的输出列表中

2023-07-24

FFmpegVideoPlayer.rar

SurfaceViewMediaPlayer-android基于ffmpeg本地视频、在线视频、直播播放器 支持rtmp、rtsp、http等协议;是从IPC摄像头管理提取出来,项目虽然说是一个播放器但是每个每个层面都是分开,例如可以做成p2p点到点媒体的传输和播放;每个api都可以独立当做工具类使用。

2020-09-11

android 插件式无刷新换肤和字体大小切换 兼容android 8.1

android 插件式无刷新换肤和字体大小切换 兼容android 8.1; theme_dome 为dome 案例工程;black_theme 皮肤包工程。

2018-07-19

空空如也

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

TA关注的人

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