- 博客(328)
- 资源 (40)
- 收藏
- 关注
原创 Android Jetpack架构篇:Data Binding(二)
Android Jetpack架构篇:Data Binding(二)### Work with observable data objects(使用可观察的数据对象)可观察性是指对象通知其他人数据变化的能力。数据绑定库允许您使对象,字段或集合可观察。任何普通旧对象都可用于数据绑定,但修改对象不会自动导致UI更新。数据绑定可用于为数据对象提供在数据更改时通知其他对象(称为侦听器)的能力。有三...
2018-11-06 11:23:16 783
原创 Android Jetpack架构篇:Room
Android Jetpack 架构篇:带视图的Android Room翻译至:Android Room with a View - Java1.介绍架构组件的目的是提供对应用程序体系结构的指导,并为诸如生命周期管理和数据持久化等常见任务提供开发库。架构组件帮你构造一个鲁棒、易测试、可维护和少模板代码的应用。架构组件是什么?为了介绍相关术语,这里有简短的介绍一下各架构组件以及它们之前如...
2018-10-30 17:59:17 3999 6
原创 Android Jetpack架构篇:Lifecycles
Handling lifecycles with lifecycle-aware components使用生命周期感知组件处理生命周期生命周期感知组件执行操作以响应另一个组件(例如活动和片段)的生命周期状态的更改。这些组件可帮助您生成更易于组织且通常更轻量级的代码,这些代码更易于维护。一种常见的模式是在活动和片段的生命周期方法中实现依赖组件的操作。但是,这种模式导致代码组织不良以及...
2018-07-22 17:47:58 3517
原创 FFmpeg4Android:Android摄像头直播
9 FFmpeg4Android:Android摄像头直播9.1 摄像头图像预览java层Android摄像头摄像代码package com.ffmpeg.pusher;import android.graphics.ImageFormat;import android.hardware.Camera;import android.util.Log;import an...
2018-07-12 14:44:11 1964 1
原创 Android Jetpack架构篇:Data Binding(一)
Android Jetpack:架构(Architecture)篇之Data BindingLayouts and binding expressions(布局和绑定表达式)该表达式语言,允许你通过编写表达式来处理视图的事件分发。数据绑定库(Data Binding Library)自动生成将布局中的视图与data对象绑定所需的类。数据绑定布局文件略有不同,必须以 layout 标...
2018-07-09 17:24:56 2750 1
原创 Android布局ConstraintLayout
ConstraintLayout布局public class ConstraintLayout extends ViewGroup java.lang.Object ↳ android.view.View ↳ android.view.ViewGroup ↳ android.support.constraint.Constr...
2018-06-30 21:43:29 951 1
原创 FFmpeg4Android:视频文件推流
8 FFmpeg4Android:视频文件推流8.1 推流原理RTMP推流器(Streamer)的在流媒体系统中的作用可以用下图表示。首先将视频数据以RTMP的形式发送到流媒体服务器端(Server,比如FMS,Red5,Wowza等),然后客户端(一般为Flash Player)通过访问流媒体服务器就可以收看实时流了。 运行本程序之前需要先运行RTMP流媒体服务器,并在流媒体...
2018-03-30 11:34:37 1507
原创 FFmpeg4Android:jni中c/c++调用java
7 FFmpeg4Android:jni中c/c++调用java7.1 c/c++访问java属性先来看一个函数定义:JNIEXPORT jstring JNICALL Java_com_test_jni_TestNative_stringFromJNI (JNIEnv * env, jobject jobj) { return (*env)->NewStri...
2018-02-06 15:10:58 551
原创 FFmpeg4Android:视频播放
5 FFmpeg4Android:视频播放视频文件的播放过程,就是将视频中的压缩数据解码成一帧帧的RGB数据,绘制到Native或Android的控件上。因此,视频的播放可方式分为两种: 1)jni层播放:即将视频文件通过ffmpeg解码,同时将java层的显示控件surface传入到jni层, 在jni层进行渲染; 2)java层播放:即将视频文件通过ffmpeg解码,然后将解码一帧一帧...
2018-02-05 21:08:23 543
原创 FFmpeg4Android:音频解码与播放
4.3 音频解码音频解码,就是将视频文件中的音频部分抽离出来,生成PCM文件,并使用Android控件AudioTrack进行播放。 新建,MedioPlayer项目,其目录结构如下: java端代码,MainActivity.java:package com.lzp.decoder;import java.io.File;import com.lzp.decoder.vi
2018-01-29 15:24:34 854
原创 FFmpeg4Android:视频文件解码
4 FFmpeg解码4.1 视频解码流程a) 视频播放流程 视频播放器播放视频文件,需要经过以下几个步骤:解封装,解码视音频,视音频同步。如果播放本地文件则不需要解协议,为以下几个步骤:解封装,解码视音频,视音频同步。他们的过程如图所示: (参考雷神博客:[总结]视音频编解码技术零基础学习方法)其中解码部分是核心,本章主要讲解视频的解码与转码流程。 b) 解码流程
2018-01-02 15:14:49 1352
原创 FFmpeg4Android:FFmpeg在Android端的使用
3 FFmpeg在Android端的使用3.1 编写Java端代码创建HelloFFmpeg项目,修改MainActivity代码,准备调用C语言函数。使用JNI调用C语言代码有两点需要做的步骤: 1)声明C语言函数对应的Java函数; 2)声明要加载的类库。 需要注意,C语言函数的声明要加上“native”关键字;加载类库的时候需要使用“System.loadLibrary()
2017-12-26 19:35:25 6311
原创 FFmpeg4Android:FFmpeg编译(Windows + Linux)
2 FFmpeg编译(Windows + Linux) 各操作系统编译环境介绍: - Windows:需要用到MinGW+msys或Cygwin; - Linux(推荐):有现成的命令可使用,省去很多麻烦(Windows下可装虚拟机或买云主机); - Mac:与Linux类似。在2.1节与2.2节分别介绍Windows下与Linux下的编译,看官可以自行选择查看。
2017-12-26 15:51:07 1415 7
原创 FFmpeg4Android:在Android Studio中使用NDK
1 AS中使用NDK1.1 JNI与NDKJNI是Java Native Interface的缩写,它提供了若干的API实现了Java和其他语言的通信(主要是C/C++)。在Java项目中通过将C/C++生成.dll动态链接库的方式来使用;在Android项目中通过将C/C++生成.so动态链接库(或.a静态链接库)的方式来使用。 Android NDK 是一套允许您使用原生代码语言
2017-12-26 15:47:22 824 1
原创 LeetCode:Hamming Distance
461. HamminThe Hamming distance between two integers is the number of positions at which the corresponding bits are different.Given two integers x and y, calculate the Hamming di
2017-09-30 17:21:09 265
原创 Java源码之Future
Java源码之Future 转载请注明出处:http://blog.csdn.net/itismelzp/article/details/77761112 一、Future概述 Future用于表示异步计算模型的结果。它的方法包括:检测是否计算完成、等待计算完成、返回计算结果。如果计算结束,使用get()函数可以返回结果,如果计算正在进行,get()函数将阻塞以等...
2017-09-01 00:39:12 1088
原创 Git学习
Git常用命令总结在学习Git需要清楚的几个术语 代码提交流程$ git stash$ git fetch origin master$ git rebase origin/master$ git add -A$ git commit -m “comment”$ git push origin HEAD:refs/for/master学习推荐: [1] https://www.li
2017-08-21 17:32:13 615
原创 Android Studio 快捷键
键盘快捷键Android Studio 为许多常用操作提供了键盘快捷键。 表 1 按操作系统显示了默认键盘快捷键。注:除了下面表 1 中的默认键映射外,您还可以选择多种预设的键映射,也可以创建自定义键映射。如需了解有关自定义键盘快捷键的详细信息,请参阅下面的配置自定义键映射。表 1.Windows/Linux 和 Mac 操作系统的默认键盘快捷键(精简版)。说明 Wi...
2017-07-24 17:56:19 549
原创 LeetCode:Add Strings
Add Strings Total Accepted: 9009Total Submissions: 21652Difficulty: EasyContributors: AdminGiven two non-negative numbers num1 and num2 represented as string, return t
2016-10-31 12:58:58 817
原创 LeetCode:Two Sum II - Input array is sorted
Two Sum II - Input array is sortedTotal Accepted: 22771Total Submissions: 46579Difficulty: MediumGiven an array of integers that is already sorted in ascending order, find tw
2016-09-07 19:57:00 720
原创 Xcode常用快捷键
Xcode常用快捷键一、关于运行调试1、运行,停止,都在工具栏的Product里。Command + R 运行。Command + . 停止2、F6单步调试、F7跳入,F8继续, 和Eclipse,VS类似二、导航咱们常用的option 、control、shift键。1、切换头文件和m.文件,很实用Command + contr
2016-07-18 11:17:39 406
原创 LeetCode:First Bad Version
First Bad VersionTotal Accepted: 50887Total Submissions:222393Difficulty: EasyYou are a product manager and currently leading a team to develop a new product. Unfortunately,
2016-07-09 22:32:20 1670
原创 LeetCode:Largest Number
Largest Number QuestionEditorial Solution My SubmissionsTotal Accepted: 49468Total Submissions:250564Difficulty: MediumGiven a list of non negative integers, arrang
2016-07-09 22:12:59 506
原创 LeetCode:Sum of Two Integers
Sum of Two Integers QuestionEditorial Solution My SubmissionsTotal Accepted: 6617Total Submissions:12722Difficulty: EasyCalculate the sum of two integers a and b, b
2016-07-05 21:01:40 2387
原创 Mac SVN 命令行
Mac SVN 命令行在“某厂”实习,被分到了iOS,没办法只能从零开始。首先掌握一些SVN的命令。以下是一些常用命令1、将文件checkout到本地目录svn checkout path(path是服务器上的目录)例如:svn checkout svn://192.168.1.1/pro/domain简写:svn co 2、
2016-07-05 20:53:36 997
原创 LeetCode:Merge Intervals
Merge IntervalsTotal Accepted: 71689 Total Submissions: 275494 Difficulty: HardGiven a collection of intervals, merge all overlapping intervals.For example,Given [1,3],
2016-07-01 13:19:52 860
原创 LeetCode:Next Permutation
Next PermutationTotal Accepted: 70533 Total Submissions: 261357 Difficulty: MediumImplement next permutation, which rearranges numbers into the lexicographically next great
2016-07-01 12:44:46 939
原创 LeetCode:Valid Perfect Square
Valid Perfect SquareTotal Accepted: 1976 Total Submissions: 5317 Difficulty: MediumGiven a positive integer num, write a function which returns True if num is a perfect squ
2016-06-28 10:14:30 3136
原创 LeetCode:LRU Cache
LRU CacheTotal Accepted: 76226 Total Submissions: 481333 Difficulty: HardDesign and implement a data structure for Least Recently Used (LRU) cache. It should support the fo
2016-06-23 21:20:33 1721
原创 LeetCode:Lowest Common Ancestor of a Binary Tree
Lowest Common Ancestor of a Binary Tree My SubmissionsQuestionEditorial SolutionTotal Accepted: 46636 Total Submissions: 162074 Difficulty: MediumGiven a binary tree, find th
2016-06-20 17:28:12 990
原创 LeetCode:Maximal Rectangle
Maximal RectangleTotal Accepted: 43628 Total Submissions: 183613 Difficulty: HardGiven a 2D binary matrix filled with 0's and 1's, find the largest rectangle containing all
2016-06-16 13:10:14 704
原创 LeetCode:Evaluate Reverse Polish Notation
Evaluate Reverse Polish NotationTotal Accepted: 66669 Total Submissions: 278014 Difficulty: MediumEvaluate the value of an arithmetic expression in Reverse Polish Notatio
2016-06-16 11:52:35 1594
原创 LeetCode:Count Numbers with Unique Digits
Count Numbers with Unique DigitsTotal Accepted:2092Total Submissions:4996Difficulty:MediumGiven anon-negativeinteger n, count all numbers with unique digits, x, wher
2016-06-16 11:32:37 2086
原创 LeetCode:Flatten Nested List Iterator
Flatten Nested List IteratorTotal Accepted: 7810 Total Submissions: 26799 Difficulty: MediumGiven a nested list of integers, implement an iterator to flatten it.Each elem
2016-06-16 10:51:57 1070
原创 LeetCode:Verify Preorder Serialization of a Binary Tree
Verify Preorder Serialization of a Binary TreeTotal Accepted: 14360 Total Submissions: 44550 Difficulty: MediumOne way to serialize a binary tree is to use pre-order traver
2016-06-16 09:57:32 1118
原创 LeetCode:String to Integer (atoi)
String to Integer (atoi) Total Accepted: 106573 Total Submissions: 784972 Difficulty: EasyImplement atoi to convert a string to an integer.Hint: Carefully consider all possible input cases. If you wan...
2016-06-15 22:54:20 1861
原创 LeetCode:Remove Invalid Parentheses
Remove Invalid ParenthesesTotal Accepted: 14168 Total Submissions: 43620 Difficulty: HardRemove the minimum number of invalid parentheses in order to make the input string valid.
2016-06-15 22:19:50 1919
原创 LeetCode:First Missing Positive
First Missing PositiveTotal Accepted: 66680 Total Submissions: 277290 Difficulty: HardGiven an unsorted integer array, find the first missing positive integer.For example
2016-06-15 21:43:19 1600
原创 LeetCode:Majority Element II
Majority Element II My SubmissionsQuestionEditorial SolutionTotal Accepted: 30176 Total Submissions: 115847 Difficulty: MediumGiven an integer array of size n, find all eleme
2016-06-15 21:05:30 1293
WebGL编程指南 [KouichiMatsuda著;RodgerLea著;谢光磊][电子工业出版社][2014.06][470页]
2015-12-28
《OpenGL ES 2.0 开发向导》源码
2018-12-28
Android 开发艺术探索高清完整版(电子版)
2018-08-22
FFmpeg4Android:视频文件推流
2018-03-30
Objective-C编程全解【荻原刚志著】【第三版】
2016-01-10
程序员接单宝典_第3版_韦刃著
2016-01-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人