自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

T-chuangxin

中二的 三次元 老码农

  • 博客(35)
  • 资源 (7)
  • 收藏
  • 关注

原创 WorkManager解读

WorkManager解读##一.官方定义:1.简介:​ 使用 WorkManager API 可以轻松地调度即使在应用退出或设备重启时仍应运行的可延迟异步任务。它属于Android Jetpack的一部分。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-O9bnIkMw-1587623472602)(/Users/tianchuangxin1/Librar...

2020-04-23 14:31:59 1111

原创 android绘制播放音频的波形图

之前做过android的录音,编辑(裁剪和合成(WAV格式)),思路大概是从麦克风获取音频的详细数据填充到list集合中,再将这些数据经过计算画到屏幕上,算是实时录制的波形图!之后有一段时间没碰过那个项目了,虽然功能是做出来了,但是还不算是完整的,那要是播放的时候呢?播放的时候怎么实时动态的获取音频数据来绘制呢?思考良久,在逛github的时候,发现了这个功能!在这里做个记录,也给没有这方面知识的朋

2017-11-24 11:57:01 16717 3

原创 Android之FFmpeg(3)--添加为视频添加背景音乐

既然开始了FFmpeg开发,那不做个Demo,怎么知道你的猜想,你的学的东西到底对不对呢?嗯,所以我们今儿个做个demo,为视频添加背景音乐!Activity的代码如下(其实就一个按钮):加载native代码块: /** * A native method that is implemented by the 'native-lib' native library, * w

2017-08-01 11:16:58 2529

原创 Android之FFmpeg(2)--FFmpeg结构总览及函数基本使用

尝试FFmpeg的开发已近几周了,从编译出arm架构的so包后,也在不断的思考FFmpeg的使用流程,期间也尝试使用生成的函数库做一些小的功能,比如为视频添加背景音乐等!但是看到链接java和c库的文件也是各种懵逼,各种困惑!C语言在大学的时候也是有一定的基础的,但是看到指针跳来来跳去的,说实话头疼!但是呢,也说实话,这样每天可以接触到新的东西也是很爽的!从一个一个简单变量的定义到函数的调用,阅读函

2017-07-31 09:41:56 398

原创 Android初探FFmpeg(1)--在Windows下编译FFmpeg

之前在博客中提到视频的裁剪和合并功能,用的是FFmpeg这块的东西,由于是从网上直接拔过来的东西,虽然功能算是实现了,但是心里总是感觉怪怪的,毕竟没有自己动手!自己也讨厌“伸手主义”,加之最近项目不是特别紧张,就自己动手编译了一遍,并在各种各样异常的情况下,总算在Android studio下跑成功了!本来打算把一些知识点再挖深一点,但是最近项目可能要迭代新版本,所以怕是要小忙一阵!为了避免把之前的

2017-07-03 22:42:30 648 1

原创 android视频的编辑(录制,裁剪,合成)(2)

废话少说接着上一篇的接着介绍:布局文件:<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="

2017-06-22 12:34:00 1328 4

原创 android视频的编辑(录制,裁剪,合成)(1)

视频的采集及编辑(1)好久没写博客了,最近的事情的比较多。公司正在向产品这块转型,要做音视频的编辑开发,之前的接触这块的东西并不多,所以开发起来有很多的困难,从踩自定义相机的坑开始,视频的录制,编辑(主要包括合成和裁剪);音频的录制,裁剪;图片的一些基本处理,包括裁剪,旋转,添加文字,水印等等。哇,真的很麻烦!更令人闹心的是,之前和我合作的,主要开发视频这块的功能的同事,顶不住压力,拉稀了,不干了!

2017-06-22 10:03:43 12495 3

原创 android音频编辑(裁剪,合成)(2)

.. .-..—…-. -.—–..- (“I love you ”莫斯电码),这是逛知乎的时候看到程序员的表白情书,感觉我们码农情商好高啊!哈哈,好了开始搬砖。上一篇介绍了音频的采集过程。之后产品经理找我谈了话,表示功能跟界面都凑合!但是(听到“但是”表示头皮发麻),需要再加一个功能,就是音频在录制的过程中,可以暂停,并且可以删除到上次暂停的地方(此刻内心亿万头草泥马飞奔而过,官大一级压死人啊!

2017-04-06 16:26:16 4382 13

原创 android音频编辑(裁剪,合成)(1)

公司最近在做自己的项目,关于音视频编辑,还有图片的编辑方面。上网搜了一下,哇!很烦,大都用的FFmpeg进行编码、解码,再进行相应的操作!国外也有大牛,封装了jar,大家搜一下就很多了!在这也不多说了,用FFmpeg进行格式转换,裁剪等等操作的,也可以在GitHub上搜一下,有安卓版的已经编译好的开源项目demo(大多用的FFmpeg的命令行进行操作)!好吧!本来还想多向公司争取点时间对这方面好好研

2017-03-13 16:14:26 11137 8

原创 定义的忽略规则不生效

.gitignore定义的忽略规则不生效问题

2022-12-12 10:55:21 160 1

原创 VScode 代码样式设置

VScode 代码样式设置1.设置步骤code–>preferces–>setting -->ESlint–>Edit in setting.json代码如下:{ // vscode默认启用了根据文件类型自动设置tabsize的选项 "editor.detectIndentation": false, // 重新设定tabsize "editor.tabSize": 4, "editor.fontSize": 14, "wind

2021-01-18 10:17:13 2286

原创 给你的应用添加图像识别--TensorFlow

给你的应用添加图像识别--TensorFlowTensorFlow介绍实际运用1.配置环境方式一方式二2.模型训练3.模型转化4.Android端移植参考文章TensorFlow介绍TensorFlow™ 是一个开放源代码软件库,是谷歌大脑的第二代机器学习系统,用于进行高性能数值计算。于2015年11月9日在Apache 2.0开源许可证下发布。目前最新的版本是1.12。总的来说,Tensor...

2019-03-15 18:30:56 332

原创 LeetCode 5 最大回文子串

描述:给出字符串,求出最大回文子串;//样例一String str1="abbdbadd";//运行结果String result1="bdb";//样例二String str2="aaaaaaaa";//运行结果String result="aaaaaaaa";中心扩散法如下(Manacher算法自行搜索了解):package com.jd.leetcodedemo;...

2019-03-04 15:27:56 115

原创 LeetCode 2两大数相加

描述:两个大数相加package com.jd.leetcodedemo;/** * LeetCode第二题(两数相加) * @author tianchuangxin1 * @date 2019-02-28 20:29 */public class LeetCode_2 { /** * 计算两数相加(假设整型数组中的每个数&gt;=0,&lt;=9) ...

2019-03-01 14:47:34 627

原创 LeetCode 3 给定字符串,找出字母不带重样儿的最长子串

描述:给定字符串,找出字母不带重样儿的最长子串例:String str1 = "abdcdbgbesfnsfd";最长子串:gbesfnString str2="abcdadd";最长子串:abcd代码如下:package com.jd.leetcodedemo;import java.util.HashMap;import java.util.Map;/** * ...

2019-02-14 17:55:24 181

原创 LeetCode 1 两数之和

LeetCode(Java版) 1 第一题 两数之和描述:给定一个整数数组和一个值target,求两个下标i、j,使得a[i] + a[j] = target,返回下标。package com.jd.leetcodedemo;import java.util.HashMap;import java.util.Map;/** * LeetCode_1 算法第一题 * * @...

2019-02-12 17:20:19 342

原创 android Handler运行原理总结复习

下了7.0系统的源码,打算要赶在过阴历年之前,看一些东西!不能再这么颓废下去了! 早上又复习了Handler的运行流程,看了源码后,感觉和几年前看的时候真是大不相同!OK,不皮了,进入正题!嗯,从ActivityThread开始吧!因为它是隐藏的,在你的IDE中是看不到的!所以在你解压系统源码后的android-7.1.0_r1\frameworks\base\core\java\android\

2018-01-03 11:12:13 760

原创 AsyncTask工作原理复习总结

上周闲来无事就去某些大公司面试了一下,试试现在android这块的水!总结出结论就是,稍大点的公司问的基础的东西还是比较的多,而规模较小的公司则是更注重模块功能点的实现!所以呢,你未来职业的发展得有个大体的规划,大公司呢,就多注意一下基础知识和整体框架的把握,而规模稍小的公司则需要你将某些功能块挖的深一些!这是我个人的感觉,哈哈!仅供参考!进入正题!AsyncTask已经出来太久了,以至于我们可以很

2017-12-26 18:52:09 415 1

原创 android保活进程总结--双进程保活策略

进程的保活,在很多资讯类的App和即时通讯App的用处很大,奈何谷歌的推送服务在国内是被阉割了!据说是在8.0(奥利奥)相关政府机构已经将开放这项功能提上了日程,嗯,没错8.0,预计再过三五年就可以像苹果那样自由自在的推送了!但是一点不鸡冻,不知道我这秃头的码农还能不能挨到,哈哈!先看看效果图:这张图片的主要操作是杀死后台所有的应用进程,之后在状态栏上面弹出被拉起来的程!测试机参数:service:

2017-12-21 17:08:48 4457 7

原创 android TBS 腾讯浏览服务 集成

写博客之前先发发牢骚!哎。。最近是真的各种不顺利,上个月领导介绍了一个私活,谈好价钱,加几个功能,上周周日开始开发!之前没拿到源码,想着那几个功能按照平常的做法,简单的一批,几个小时就基本搞定,几千块就到手了!但是,拿到项目的时候懵逼了!整个项目是一个插件完成的,是一个几乎纯网页形式的App,大概看了具体的功能类,瞬间觉得自己这些年混的真是差劲!很多东西看不懂,所以几个功能几乎整了一整天,最可气的微

2017-11-17 14:56:22 6718 1

原创 android优化(2)--内存泄漏之工具使用

最近找房子搬家,真是困难啊!卧槽,不知道什么时候北京的租房的价格都变成这样了!真是呆不下去了!好了,闲话就到这了!进入正题!android的快速发展已有几年了,市场也不再有前几年那样的火爆,并不是随便的写几个findViewById,写几个界面就可以要十几K工资的时期了,但是同样的中高级工程师还是很缺的,当初那些招聘快速开发而成的中型项目,问题还是很多的,当然如果你的客户群体是高端用户,手机的性能相

2017-11-09 17:53:21 267

原创 设计模式之创建型模式(2)--工厂模式

上周六的时候,大学同学来北京出差,于是就带着另一个同寝室的哥们一块到国贸那边聚了聚,各自聊了聊最近的状态,感触良多!我是android开发的,他俩是搞Java后台的!如果非特有的情况怕是很难聚到一块,同时也觉得时间是过的真快!当我出来开始做android开发的时候,系统的最新版本还是5.X,但是现在谷歌爸爸已经推出8.0的奥利奥了!回想一下,技术还是那么的渣,当时定的目标一个也没达成!囧囧囧。。。好

2017-09-12 17:20:02 379

原创 设计模式之创建型模式(1)--单例模式

创建类模式主要关注对象的创建过程,将对象的创建过程进行封装,使客户端可以直接获得对象,而不用关心如何创建对象。创建类模式主要有5中: 1.单例模式:用于得到内存中唯一的对象。 2.工厂方法模式:用于创建复杂对象。 3.抽象工厂模式:用于创建一组相关或者相互依赖的复杂对象。 4.建造者模式:用于创建模块化的更加复杂的对象。 5.原型模式:用于得到一个对象的拷贝。这篇博客主要是对单例模式的复习

2017-08-17 17:53:35 539

原创 设计模式六大原则

编程的技术要想更加精进,我们除了学习新的技术外,更加需要提高的是编程的思想!一个项目前期设计的好了,后期维护起来会更加的方便,轻松!所以在编写项目时候要做到六个字:低耦合,高内聚!设计模式在大学学习的时候好像专门有这门书,工作之后也偶尔翻翻,但是看过之后很快就忘的差不多了!所以打算趁着出差的空隙再进行一遍常用设计模式的总结学习!先来设计模式的六大原则吧!设计模式六大原则(一):单一职责原则定义:不要

2017-08-02 18:05:16 685

原创 org.gradle.jvmargs=-Xmx1536m

在家里将编译好的FFmpeg项目带到公司,打开android studio后,出现了问题提示如下的错误:顿时虎躯一震,不会是又有问题了吧!?仔细一看,原来是初始化VM时,不能得到相应的足够的空间!额….看见这个没,注释掉或者删除掉就行了!当然问题不能这样解决啊,只其一不知其二不行! 额,sorry !图没有截全!还是贴代码吧!# Specifies the JVM arguments used f

2017-07-26 11:53:23 14403

原创 基于android Material Design基础框架搭建

Android 的material design设计风格应该在5.0版本就问世了,整体的风格很炫酷,加上谷歌爸爸新添的好些个流畅美观的自定义控件,使Android的界面逼格上升了好几个档次!但是刚推出的时候,是基于5.0及以上的版本的,那么很可惜大部分项目是不能用的!当然,谷爸爸很快的意识到这点,于是接着又推出支持低版本的库!恩,所以很早之前,就可以用这种炫酷的界面风格了!我自己维护的几个项目没有使

2017-07-23 14:24:11 2052

原创 Android全局异常捕获

Android应用不可避免的会发生各种各样的crash,也称之为闪退。无论你的程序写的多么完美,crash是不可避免的,可能是由于Android系统底层的bug,也可能是由于不充分的机型适配或者糟糕的网络,当然也可能是程序逻辑或者数据的问题,总之是,程序在上线之前,没有测试出的bug。当crash发生的时候,系统会kill掉正在执行的程序,现象就是闪退或者提示用户程序已经停止运行,这对用户来说是糟糕

2017-07-09 16:36:11 915

原创 ButterKnife使用详解

接触ButterKnife是去年的子类项目,感觉灰常灰常的好用!省去了所以的findViewById方法,连事件的点击事件,写出来的代码整齐简洁,阅读性强!所以,今天就趁着测试在测试的闲工夫,整理整理关于ButterKnife的相关知识点及一些基本的使用方法。开发android的都知道,Activity是布局文件的载体,也就是页面的展示!但是Activity并不决定View的展示,也就是真正显示图形

2017-07-05 17:08:21 590

原创 Java枚举使用详解

魅力见仁见智,拼不过姿势拼知识!愉快的周一,哈哈!周六在家安装了VmPlayer 和Ubuntu,下载了最新的FFmpeg-3.3.2编译一把,然后用android Studio小小的运行了一下,嗯!还不错,终于弥补了之前做音视频编译时作为“伸手党”耻辱。当然,也只是编译出了arm架构的so包,也只是简单模仿网上大神,也只是简单的实现了小功能,等有些问题搞明白了,再写关于编译和使用FFmpeg的博客

2017-07-03 18:48:35 302

原创 Android优化(1)--布局优化

手头的项目预计在九月份的时候需要进行整理改版,进行比较大动作的整改。整体功能的优化可能要提上日程。嗯,所以需要对内部的优化工作做一个提前的设计和整理工作。大概想了想,优化的工作大致可分三方面:1.布局优化 2.设计模式的优化 3.代码的优化布局的优化稍微简单一些,主要是对一些,重复资源文件进行整理规划。保证在承载layout的xml文件的时候尽可能的减小系统的开销,保证流畅性;设计模式的优化,打

2017-06-29 15:36:50 319

原创 Java的volatile关键字解析

1. volatile重要工作是避免线程脏读:当线程对volatile变量进行读操作时,会先将自己工作内存中的变量置为无效,之后再通过主内存拷贝新值到工作内存中使用。 2.volatile解决的是变量在多个线程之间的可见性,但不能完全保证数据的原子性。 3.现在JVM经过优化,已不会出现liveness failure 。所以没事别用volatile。参考文章: http://blog.csd

2017-06-27 17:24:23 230 1

原创 Java的synchronized关键字解析

后台的同事在开发随机生成的试题,开发考试这块的功能,从用户登录到生成随机试卷,再到显示到过程中,并发量在到100左右的时候就比较的卡。想想几年前的java线程方面的知识,感觉自己已经忘的差不多了,今天比较空闲,就总结一下java的synchronized关键字,纯属自己的理解,如果有不对的地方还请大家指出,共同进步!synchronized 是Java语言的关键字,当它用来修饰一个方法或者一个代码块

2017-06-27 16:23:33 300

原创 org.json.JSONException: End of input at character 0 of 异常

哇,很烦!周五添加的新功能,周一来客户那边就有反馈!当然,不是什么严重性错误!但是用户的体验很不好!就是下面这个异常信息:org.json.JSONException: End of input at character 0 of 导致这个异常信息的错误是因为在JSONObject object=new JSONObject(jsonString);这行代码。注意的是jsonString的内容为“”

2017-04-17 11:53:59 14580 4

原创 Vitamio 填坑之路

项目跟教育有关,那么就免不了跟视频打交道,之前的APP用的是安卓提供的原生的播放器,项目前期只是进行了简单的封装。 后期由于不断的添加各种各样的功能(清晰度切换,线路切换,添加讲义,网络视频和本地下载视频切换播放,记忆播放,续播等等)。 到目前为止已将近5000行代码(呵呵,TM除了老子,谁还看得懂)。上个APP搞定后,不少学员强烈要求要视频可以倍速播放,我擦,IOS还好说(他们自

2016-11-30 15:52:53 3780 4

原创 activity的总结

万丈高楼平底起。做什么事都要打好基础。作为一名三流的 程序员在经过几轮大公司的面试后,深刻的 体会到基础是多麽重要。ActivityActivity是安卓中四大组件之一,在项目中占据着十分重要的角色Activity的生命周期如下 图:大家需要注意的是途中的绿色的部分(也是面试题里经常问到的)举个例子在标准模式下activityA跳转到activityB的时候

2016-05-29 16:38:51 377

gif动态图生成器

选择电脑屏幕,部分区域录制生成GIF动态图,非常方便

2017-06-28

安卓3d图片浏览

基于安卓环境下的一个3D图片展示Demo

2015-10-16

屏幕取色工具

非常轻便的一款屏幕取色工具,只需要将鼠标移动到需要抓取的颜色上边即可拿到16进制的颜色值

2015-10-16

日期选择开源框架

是我开发的一个医疗项目中使用的一个特效,可以上下滑动来选择实现,基于安卓原生自带的日期选择方式

2015-04-06

MPchart 框架实例

这是给一个医疗公司做的一个项目,项目中使用到一个关于折线图的实例,就自学了一下,把自己的做的一个小Demo发给大家学习一下

2015-04-06

安卓各种对话框

本人工作以来,应用户的各种需求所实现的各种对话框集合。

2015-04-06

自定义安卓对话框

类似于qq的对话框,可以修改对话框的形状,并实现按钮的隐藏功能

2015-04-06

空空如也

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

TA关注的人

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