Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器

首页 / 操作系统 / Linux

Android开发——通过子线程更新界面UI

Android开发——通过子线程更新界面UI

在Android开发过程中,我们经常有通过子线程来更新界面UI的需求,而android是不允许子线程更新界面的,只能通过主线程来更新界面UI,而且,android开发中,由于要保证主线程的通畅,一般主线程只负责处理界面更新,事件处理,窗体显示的回调等重要且不耗时的操作,而像连接网络,io操作等,一般让子进程负责。所以,android提供了一种消息机制来实现子线程更新UI的需求,android提供Handler类,用于子线程和主进程交互。在主进程中,声明实例...
VLC视频播放器开发--VLC for Android编译

VLC视频播放器开发--VLC for Android编译

VLC播放器是一款优秀的开源播放器,可以播放MPEG-1、MPEG-2、MPEG-4、DivX、DVD/VCD、数字卫星频道、数字地球电视频道(digital terrestial television channels)、在许多作业平台底下透过宽频 IPv4、IPv6网络播放线上影片。此软件开发项目是由法国学生所发起的,参与者来自于世界各地,设计了多平台的支持,可以用于播放网络串流及本机多媒体档案之播放。接下来我们使用VLC来制作一个视频播放器,这章我们...
Android本地视频播放器开发--NDK编译FFmpeg

Android本地视频播放器开发--NDK编译FFmpeg

在Android本地视频播放器开发中的搜索本地视频章节中,我们能够搜索本地视频并且显示每个视频的图片、标题、时间长度,当然如果需要添加其他的例如视频的长度和宽度可以使用Video类中的方法,既然我们获取到视频后,那么接下来就是解码视频,解码视频我使用的是ffmpeg,所以这张就是使用NDK编译手机可以使用的FFmpeg库。首先到官网http://ffmpeg.org/download.html下载最新的源码,然后在ffmpeg目录下面创建一个脚本confi...
Linux下编译VLC for Android源代码总结

Linux下编译VLC for Android源代码总结

由于项目需要,需要一个在Android平台能够支持RTSP协议的播放器,由于之前没有android平台的经验,所以找了著名的video LAN的VLC播放器,更令人惊奇的是这款播放器居然还是完全开源的。在此向那些开源软件的作者和组织致以崇高的敬意,是你们的存在使得计算机软件产业蓬勃发展,你们帮助了很多囊中羞涩的个人和企业,让他们也有机会用上高质量的软件,同时不可避免的吸引了一批有志之士加入到你们的行业。既然有现成的代码,所以就想编译一下vlc for an...
Qt环境的搭建X11与Embedded

Qt环境的搭建X11与Embedded

Qt 版本:qt4.8.5qt是一个开源的、跨平台的图形库(当然qt的功能不只是图形库啦),一般在linux平台中应用比较广泛。开发者要是使用qt库进行应用程序的开发,需要对安装qt的开发环境,说简单点就是安装好qt的库、头文件及内部工具。我们一般采用源码包安装。准备:下载源码包qt-everywhere-opensource-src-4.8.5.tar.gz像所有的源码包安装一样,qt的安装也是configure、make、make install这经典...
【shell脚本学习】shift命令学习

【shell脚本学习】shift命令学习

位置参数可以用shift命令左移。比如shift 3表示原来的$4现在变成$1,原来的$5现在变成$2等等,原来的$1、$2、$3丢弃,$0不移动。不带参数的shift命令相当于shift 1。非常有用的 Unix 命令:shift。我们知道,对于位置变量或命令行参数,其个数必须是确定的,或者当 Shell 程序不知道其个数时,可以把所有参数一起赋值给变量$*。若用户要求 Shell 在不知道位置变量个数的情况下,还能逐个的把参数一一处理,也就是在 $1 ...
MySQL集群的flexAsynch测试工具的安装和使用

MySQL集群的flexAsynch测试工具的安装和使用

一、编译安装flexAsynchOracle官方推荐的MySQL Cluster性能测试工具有DBT2,flexAsynch等。此处采用了flexAsynch,它是一种非常好的NDB测试工具。由于Oracle并不提供flexAsynch的二进制文件下载,仅仅在MySQL Cluster的源码包中提供这个测试工具的源码,所以必须手动编译MySQL Cluster才能获得flexAsynch的执行文件。以下命令都是在RHEL 6.4中以root账户权限运行。1...
C++ 程序使用 OpenCV 实现视频捕获

C++ 程序使用 OpenCV 实现视频捕获

下载 Capture.zip - 14.1 KB前言这是一个使用 Visual C++ 窗口表单编写的简单视频捕捉应用程序。这个工程既演示了窗口表单应用程序的创建,又演示了 OpenCV 的 Visual C++ 配置。OpenCV 是免费的计算机视觉软件,也是图像处理的开源库。本文帮助程序员配置 visual c++ 开发环境,从而运行基于窗口控制的 OpenCV 应用程序。OpenCV 库可以集成到开发环境中。它易于配置,如下六步展示了怎样来配置 vi...
Java 并发之 CountDownLatch、CyclicBarrier 和 Semaphore

Java 并发之 CountDownLatch、CyclicBarrier 和 Semaphore

目录CountDownLatch作用示例CyclicBarrier示例CyclicBarrier 和 CountDownLatch 在用法上的不同Semaphore示例:Semaphore 控制资源访问最后一句话总结这次说一下 JUC 中的同步器三个主要的成员:CountDownLatch、CyclicBarrier 和 Semaphore(不知道有没有初学者觉得这三个的名字不太好记)。这三个是 JUC 中较为常用的同步器,通过它们可以方便地实现很多线程之...
程序员的工作效率:Emacs vs IntelliJ IDEA

程序员的工作效率:Emacs vs IntelliJ IDEA

我用 Emacs 写了 7 年的 C++ 代码。 4 年前,当我换了工作,开始使用 IntelliJ IDEA 转向 Java 开发。毫无疑问,比起 Emacs,我在 IntelliJ IDEA 上写代码更有效率。导航代码好像真的是80%由导航生成,只有20%是实际写作的结果,IntelliJ IDEA的真正亮点所在是导航到代码库。例如,假设你要添加功能到现有的类,即使你对那个类很熟悉,你还是需要检查新代码该放在哪里比较合适,需要添加一个新的声明吗?还有什...
C++容器总结

C++容器总结

在面向对象程序中,大多引入了容器的概念。那么什么是容器?实质上是一组相同类型对象的集合,但它不仅仅是数组那么简单,它实现了比数组更复杂的数据结构,能够实现更复杂的功能。C++标准模版库里提供了10种通用的容器,它基本可以解决程序中遇到的大部分问题。什么是容器C++中容器的定义如下:数据存储上,有一种对象类型,它可以持有其他对象或指向其他对象的指针,这种对象类型叫容器。通俗的说容器就是保存其他对象的对象,这种“对象”还包含了一些列处理...
C++适配器概括

C++适配器概括

C++ primer中关于适配器的定义——适配器(adaptor): 是使一种事物的行为类似于另外一事物的行为的一种机制。这个定义初学时觉得好抽象。为了理解C++中的适配器,不妨先了解物理上的适配器。物理上的适配器就是一个接口转换器,它可以是一个独立的硬件接口设备,允许硬件或电子接口与其它硬件或电子接口相连,也可以是信息接口。比如:电源适配器、三角架基座转接部件、USB与串口的转接设备等。而C++上的适配器其实是物理上的适配器含义的...
MapReduce编程实例(一)-求平均数

MapReduce编程实例(一)-求平均数

开始学习写一些MR编程实例,工作中即将使用(刚刚开始,如果有错误和建议,欢迎指出)现在有一个文件,里面记录了全校所有学生各科成绩,求每个学生的平均成绩,格式如下小明 语文 92小明 数学 88小明 英语 90小强 语文 76小强 数学 66小强 英语 80小木 语文 60小木 数学 65小木 英语 61解决思路Map阶段先将数据拆成key:姓名,value:课程_成绩的格式提供给reduce,默认的partitioner会将名字相同的学生发到同一个redu...
并行设计模式-Master/Worker

并行设计模式-Master/Worker

Master-Worker设计模式核心思想是将原来串行的逻辑并行化,并将逻辑拆分成很多独立模块并行执行,其中主要包含两个主要组件Master和Worker,Master主要讲逻辑进行查分,拆分为互相独立的部分,同时维护了Worker队列,将每个独立部分下发到多个Worker并行执行,Worker主要进行实际逻辑计算,并将结果返回给Master。其核心框架如下:Master部分实现代码package com.yf.designpattern.masterwo...
<< 3601 3602 3603 3604 3605 3606 3607 3608 3609 3610 >>