- 博客(19)
- 收藏
- 关注
原创 常见YUV格式和Android中的COLOR_FormatYUV420对应关系
一. 缘起Android中使用MediaCodec做编码时,如果使用MediaCodec的buffer->buffer模式,现阶段一般而言都需要做颜色空间转换,一般Android的Camera支持NV21与YV12格式,而遍历Android上编码器支持格式时,一般都表示如: COLOR_FormatYUV420SemiPlanar COLOR_FormatYUV420PackedPla...
2019-06-05 15:10:49 8351 4
原创 记一次更改为了适配盒子,修改了盒子系统density值的过程
1. 背景因为项目需要,需要把我在一个A盒子上写的Launcher App,移植到B盒子上,唯一的要求就是快。A盒子和B盒子都是1080PUI.2. 遇到问题And找解决方法我简单挪过去了后发现,屏幕显示不对,经过我自己分析,发现,A盒子上1dp=2px,而B盒子上1dp=1.5px,我们做Android的都知道,densityDpi/160就是dp和px的比例,也就是dens...
2019-04-11 13:29:15 862
原创 tcpdump Android5.0以后抓包
工作中遇到问题,想要抓包一下,因为我的手机是Android 7.0 所以网上找的tcpdump都不能用,所以现在提供一下我花了2个小时准备的tcpdump,当然有时间的人可以选择自己编译,如果不想编译,欢迎使用我的。百度网盘:链接:https://pan.baidu.com/s/1z5opOv8x6HKUQTMFFXz2lw 密码:6n0g...
2019-03-09 22:11:35 495
原创 抽取WebRtc Android里texutre转I420代码
简单的对WebRtc里面texture转I420的代码抽取出来首先是MainActivity:package webrtc.example.com.texture2i420;import android.graphics.SurfaceTexture;import android.hardware.Camera;import android.hardware.camera2.Ca...
2019-02-26 11:59:32 1127 2
原创 自定义单向链表实现(详细)
一、链表介绍链表结构如上所示(图画的不好请原谅),链表中存放着一个个Node,而每个Node又分为两部分,前一部分存放着Data,而后一部分存放着下一个节点的引用,这样一层层引用下去的一种结构。所以链表的结构决定了它的存储并不需要连续的存储空间。这样的链表访问头数据比较快,另外删除也比较快,但是查找靠后的数据稍微慢了点。二、自定义链表的实现1. 节点类的实现因为链表是由节点组成的,所以先实现
2017-04-16 16:16:43 1125
原创 HaBer管理
主要功能控制视频会议终端app,可以对视频会议终端进行管理、设置、呼叫、挂断、云台控制、以及发送双流、发送视频源拼接画面的拼接方法等。数据流向图在Android中开启一个服务,并在服务中开启了一个线程用于接收服务器发过来的数据(这里用了网络编程select模式,可以及时读取数据,不用等)服务收到数据以后,调用Parser中的方法,解析数据(数据格式为XML).解析后数据返回到Service中。
2017-04-15 17:52:37 303
原创 Android摇一摇实现
实现效果图=================== 此Demo可以实时设置调整灵敏度,方便测试。摇一摇原理简介手机摇一摇的实现,无非就是利用手机上的加速传感器,得到x、y、z轴三个方向的加速度。通过判断加速度的状态,来判断用户是否摇动了手机。而因为重力加速度一直存在,所以在一个方向上的加速度一直是9点多,设计的时候我们要考虑到这一点。实现过程第一步:先获得加速度传感器 sensorManager=
2017-04-15 13:22:30 1556 1
原创 ViewPage+Fragment实现切换动画
一. 先上效果图主要就是小横线的一个平滑滑动,比较简单。下面我说下实现步骤。二. 实现步骤 1. 先写好布局(布局请看下面源码,这里我就不贴了。) 2. 得到当前屏幕宽度: DisplayMetrics metrics=new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics
2017-04-09 16:32:56 826
原创 Java线程状态
学习就是不断的读文章,总结,写文章。正文线程:cpu最小的执行单位。 Java线程共有五种状态,分别是新建(new)、就绪(start())、运行、阻塞/等待/睡眠、死亡。 1. 新建状态:t=new Thread() 时,线程为新建状态(线程对象已经创建)。 2. 就绪状态:调用t.start();方法,线程处在就绪状态。随时可以运行(等待cpu执行此线程)。 3. 运行状态:此线程
2017-03-25 17:53:37 255
原创 一个可以全屏滑动的View
今天看Android开发艺术探索,看到了可以实现全屏滑动的自定义view,手痒就自己弄了一个Demo 效果图如下(第一次做gif图请原谅) 主要就是手指可以拖动这个view,全屏乱跑。附上github连接:https://github.com/13611279233/Test
2017-03-18 15:08:35 559
原创 Android网络编程selector模式
前几天编写一个App客户端,是一个长连接,我需要在app里开启一个服务,不断地接收服务器传来的消息,进行处理。我在Android Service里开启了一个线程,不断地轮询服务端传给我的消息。这时出现了一个问题,因为服务端大多时候不给我发消息,我肯定要在读服务器消息里的线程sleep一段时间在读。这时我问了我们领导,领导说用selector模式,不用等。selector模式主要就是linux内核帮
2017-03-04 09:19:40 455
转载 Looper类;
Android中的Looper类,是用来封装消息循环和消息队列的一个类,用于在android线程中进行消息处理。handler其实可以看做是一个工具类,用来向消息队列中插入消息的。 (1) Looper类用来为一个线程开启一个消息循环。 默认情况下android中新诞生的线程是没有开启消息循环的。(主线程除外,主线程系统会自动为其创建Looper对象,开启消息循环。) Loo
2016-10-05 08:22:02 243
转载 Android中Looper类
Android中的Looper类,是用来封装消息循环和消息队列的一个类,用于在android线程中进行消息处理。handler其实可以看做是一个工具类,用来向消息队列中插入消息的。 (1) Looper类用来为一个线程开启一个消息循环。 默认情况下android中新诞生的线程是没有开启消息循环的。(主线程除外,主线程系统会自动为其创建Looper对象,开启消息循环。) Loo
2016-10-04 20:15:47 234
原创 SearchView(简单的java写Menu)
package com.example.day11_menu_2option;import android.app.Activity;import android.os.Bundle;import android.util.Log;import android.view.Menu;import android.view.MenuItem;import android.view.SubMen
2016-10-01 21:44:40 494
原创 java代码写Android简单布局
public class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); /** * 1. 找到xml布局 * 2. 解析xml * 3. 构建
2016-09-24 15:55:52 473
原创 Intent
private void SetMyOnItemClickListener() {//设置监听器 grid.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, Vi
2016-09-24 12:56:10 236
原创 listview 定位位置
KeyLSV.setOnItemClickListener(new OnItemClickListener() {@Overridepublic void onItemClick(AdapterView parent, View view, int position, long id) {//1. 根据导航的位置获得联系人的SectionString key= list.g
2016-09-17 20:41:07 295
转载 java_API_常用字符串方法
String s=" abc abc abc ";System.out.println("1位置字符:"+s.charAt(1));System.out.println("2位置字符:"+s.charAt(2));System.out.println("变大写:"+s.toLowerCase());System.out.println("长度:"+s.length()
2016-04-17 12:25:09 206
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人