<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[mzoneseven的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/mzoneseven</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; mzoneseven]]></copyright><item><title><![CDATA[Android 滑动刻度尺实现]]></title><link>https://blog.youkuaiyun.com/mzoneseven/article/details/128614296</link><guid>https://blog.youkuaiyun.com/mzoneseven/article/details/128614296</guid><author>mzoneseven</author><pubDate>Mon, 09 Jan 2023 14:41:16 +0800</pubDate><description><![CDATA[【代码】Android 滑动刻度尺实现]]></description><category></category></item><item><title><![CDATA[SurfaceView做帧动画]]></title><link>https://blog.youkuaiyun.com/mzoneseven/article/details/81332259</link><guid>https://blog.youkuaiyun.com/mzoneseven/article/details/81332259</guid><author>mzoneseven</author><pubDate>Wed, 01 Aug 2018 16:29:00 +0800</pubDate><description><![CDATA[前提条件我就不说了，相信能查找这个主题的都不是一般的Android开发者，我只讲核心的部分和该文章所能解决的问题。

之前搜索过很多文章，大都不理想，无法完美的解决自己的需求，然后自己根据资料整理了一下，可以说非常完美。

解决的问题：

1、帧特别多，如果同时decode做动画可能会出现OOM的情况

2、CPU、内存占用过高

3、可以多次做重复做动画

4、代码精简易懂效率高

 

废话不...]]></description><category></category></item><item><title><![CDATA[JAVA线程池]]></title><link>https://blog.youkuaiyun.com/mzoneseven/article/details/50765467</link><guid>https://blog.youkuaiyun.com/mzoneseven/article/details/50765467</guid><author>mzoneseven</author><pubDate>Mon, 29 Feb 2016 14:48:30 +0800</pubDate><description><![CDATA[ｊａｖａ线程池]]></description><category></category></item><item><title><![CDATA[Google Nexus5关于Android 6.0源码的同步，编译和烧写]]></title><link>https://blog.youkuaiyun.com/mzoneseven/article/details/49929909</link><guid>https://blog.youkuaiyun.com/mzoneseven/article/details/49929909</guid><author>mzoneseven</author><pubDate>Thu, 19 Nov 2015 17:15:56 +0800</pubDate><description><![CDATA[关于Ubuntu下Android开发的环境搭建这里就不在详述啦，下面所提到的主要是一些关键点，


repo工具的下载和使用


mkdir ~/bin
PATH=~/bin:$PATH
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo

如果你]]></description><category></category></item><item><title><![CDATA[Android之翻转静音]]></title><link>https://blog.youkuaiyun.com/mzoneseven/article/details/18843765</link><guid>https://blog.youkuaiyun.com/mzoneseven/article/details/18843765</guid><author>mzoneseven</author><pubDate>Tue, 28 Jan 2014 16:39:37 +0800</pubDate><description><![CDATA[在Android系统框架里实现翻转静音；
利用java的观察者模式可以轻松实现来电翻转静音；
服务类程序代码：
package com.example.smartcalltest;

import android.app.Service;
import android.content.Context;
import android.content.Intent;
import android]]></description><category></category></item><item><title><![CDATA[Android之广播]]></title><link>https://blog.youkuaiyun.com/mzoneseven/article/details/18842941</link><guid>https://blog.youkuaiyun.com/mzoneseven/article/details/18842941</guid><author>mzoneseven</author><pubDate>Tue, 28 Jan 2014 15:32:27 +0800</pubDate><description><![CDATA[最简单的一种广播发送和接受实现，在代码中注册，
package com.example.broadcasttest;

import android.app.Activity;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
impor]]></description><category></category></item><item><title><![CDATA[Android之传感器]]></title><link>https://blog.youkuaiyun.com/mzoneseven/article/details/18842657</link><guid>https://blog.youkuaiyun.com/mzoneseven/article/details/18842657</guid><author>mzoneseven</author><pubDate>Tue, 28 Jan 2014 15:13:04 +0800</pubDate><description><![CDATA[Android的传感器如何获取，并显示，自己写的Demo，可以获取Android系统的一些常用传感器，可以作为测试用：]]></description><category></category></item><item><title><![CDATA[Socket编程之I/O复用]]></title><link>https://blog.youkuaiyun.com/mzoneseven/article/details/10473439</link><guid>https://blog.youkuaiyun.com/mzoneseven/article/details/10473439</guid><author>mzoneseven</author><pubDate>Wed, 28 Aug 2013 21:19:26 +0800</pubDate><description><![CDATA[I/O复用
在上一章中看到TCP客户端同时处理两个输入：标准输入和TCP套字节。我们遇到的问题是客户阻塞于（标准输入上的）fgets（）调用，而服务器进程退出。服务器TCP虽能正确地客户TCP发了一个FIN，但客户进程正阻塞于从标准输入读操作，它直到对套字节调用read（）时才能觉察到连接关闭，这可能已经过了很长时间。我们需要这样的能力：如果一个或多个I/O条件满足（例如，输入已准备好，或者文件]]></description><category></category></item><item><title><![CDATA[进程间通信—Socket编程]]></title><link>https://blog.youkuaiyun.com/mzoneseven/article/details/10417489</link><guid>https://blog.youkuaiyun.com/mzoneseven/article/details/10417489</guid><author>mzoneseven</author><pubDate>Tue, 27 Aug 2013 22:06:54 +0800</pubDate><description><![CDATA[linux下Socket编程的原理大家参考下面这篇博客：
http://blog.youkuaiyun.com/xiaoweige207/article/details/6211577



我就不多介绍了，下面这是一个小例子。
客户端代码：
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#includ]]></description><category></category></item><item><title><![CDATA[进程间通信—管道]]></title><link>https://blog.youkuaiyun.com/mzoneseven/article/details/10417301</link><guid>https://blog.youkuaiyun.com/mzoneseven/article/details/10417301</guid><author>mzoneseven</author><pubDate>Tue, 27 Aug 2013 21:49:51 +0800</pubDate><description><![CDATA[进程间通信的方式：
（1）管道：一种两个进程间进行单向通信的机制，半双工的通信方式。数据只能单方向流动，
而且只能在具有亲缘关系（父子进程、兄弟进程）的进程间使用。
从通信的双方信息交互的方式分三种基本模式：
单工通信（单向通信）  只有一个方向的通信而没有反方向的交互（信息流是单方向的），发送端和接收端的身份是固定的；
半双工通信（双向交替通信）双方均可以发送、接收信息，但是同一时刻里]]></description><category></category></item><item><title><![CDATA[进程间通信—消息队列（二）]]></title><link>https://blog.youkuaiyun.com/mzoneseven/article/details/10285401</link><guid>https://blog.youkuaiyun.com/mzoneseven/article/details/10285401</guid><author>mzoneseven</author><pubDate>Sat, 24 Aug 2013 21:26:15 +0800</pubDate><description><![CDATA[实例：模拟经纬度的收发工作。（采用消息队列的方式处理）
项目中涉及2个不相关进程A和进程B

假设你是项目的进程A编写者，你负责把进程A的经纬度发送到
第三方导航软件中导航定位（进程B）进程A每2秒发送一次经纬度，
进程B每3秒接受一次经纬度并打印显示。



上海默认是北纬东经
数据体（body）协议：
      int header;//1000
      //12]]></description><category></category></item><item><title><![CDATA[进程间通信—消息队列（一）]]></title><link>https://blog.youkuaiyun.com/mzoneseven/article/details/10285177</link><guid>https://blog.youkuaiyun.com/mzoneseven/article/details/10285177</guid><author>mzoneseven</author><pubDate>Sat, 24 Aug 2013 21:07:12 +0800</pubDate><description><![CDATA[消息队列基本概念：
消息队列是系统内核地址空间中的一个内部的链表。消息可以按照顺序发送到队列中，
也可以以几种不同的方式从队列中读取。每一个消息队列用一个唯一的IPC标识符表示。
我们来实现一个简单的消息队列的工具，用于创建消息队列、发送、读取消息、
改变权限以及删除消息队列。
综合实例：msgtool
#include 
#include 
#include 
#include 
#]]></description><category></category></item><item><title><![CDATA[进程间通信—信号量]]></title><link>https://blog.youkuaiyun.com/mzoneseven/article/details/10200073</link><guid>https://blog.youkuaiyun.com/mzoneseven/article/details/10200073</guid><author>mzoneseven</author><pubDate>Thu, 22 Aug 2013 22:17:19 +0800</pubDate><description><![CDATA[IPC标识符和关键字：
在终端输入ipcs，可以看到目前系统中所有的IPC信息：


第一列的key就是IPC的关键字，第二列是IPC的标识符。
ftok（）函数用于获得一个IPC的关键字，其函数原型是：
key_t  ftok(const char *pathname,int proj_id);


下面是一个信号量的综合实例：
#include 
#include 
#in]]></description><category></category></item><item><title><![CDATA[进程间通信—信号（三）]]></title><link>https://blog.youkuaiyun.com/mzoneseven/article/details/10199643</link><guid>https://blog.youkuaiyun.com/mzoneseven/article/details/10199643</guid><author>mzoneseven</author><pubDate>Thu, 22 Aug 2013 21:43:01 +0800</pubDate><description><![CDATA[下面是安装两个信号的例子：
信号例子：
进程A：安装信号SIGUSR1,SIGUSR2

收到SIGUSR1:启动火车票系统（这里可以是任一一个程序）；
收到SIGUSR2:重启系统（打印自己的PID）；
进程B:接收用户键盘输入
输入: 
start: 发送SIGUSR1给进程A
restart：发送SIGUSR2给进程A
bye：退出进程

提示：
1、用2个不相关的]]></description><category></category></item><item><title><![CDATA[进程间通信—信号（二）]]></title><link>https://blog.youkuaiyun.com/mzoneseven/article/details/10199465</link><guid>https://blog.youkuaiyun.com/mzoneseven/article/details/10199465</guid><author>mzoneseven</author><pubDate>Thu, 22 Aug 2013 21:15:23 +0800</pubDate><description><![CDATA[一、模拟获取GPS数据，然后1s更新到显示屏。
进程A：每秒打开文件gps.dat写date时间到文件，打开写前清空下数据，
写完即发送信号SIGUSR1到进程B。
进程B：收到信号SIGUSR1，只读方式打开文件gps.dat，把读到的数据打印到显示屏。

提示：用system(“date > gps.dat”)写数据重定向到文件。


#include 
#include 
#]]></description><category></category></item><item><title><![CDATA[进程间通信—信号（一）]]></title><link>https://blog.youkuaiyun.com/mzoneseven/article/details/10198667</link><guid>https://blog.youkuaiyun.com/mzoneseven/article/details/10198667</guid><author>mzoneseven</author><pubDate>Thu, 22 Aug 2013 21:04:28 +0800</pubDate><description><![CDATA[信号机制是linux系统中最为古老的进程之间的通信机制。
What：信号是一种Event时间，原理都是中断机制，是一种异步处理，是一种通知。
How to do：
1、分析信号的发送方和接收方是谁
2、在接受方做好信号的安装注册。（主要是回调函数）
3、发送方触发信号的event事件发生了，驱动了在接收方应急准备好的回调函数。
最常用的发送信号的系统函数是kill(),rise(),a]]></description><category></category></item><item><title><![CDATA[基本文件I/O]]></title><link>https://blog.youkuaiyun.com/mzoneseven/article/details/10198413</link><guid>https://blog.youkuaiyun.com/mzoneseven/article/details/10198413</guid><author>mzoneseven</author><pubDate>Thu, 22 Aug 2013 20:32:42 +0800</pubDate><description><![CDATA[linux编程的一个小练习，j基本文件I/O的操作;
问题：从src.txt中读出数据 ，清除每末尾的*，整理后写入到dst.txt中
必须用read，write去实现，写成小函数，可以读取一行以\n为标识符
原数据：
123**45*****
78****


整理后的数据：
123**45
78





#include 
#include 
#include]]></description><category></category></item><item><title><![CDATA[CP的实现]]></title><link>https://blog.youkuaiyun.com/mzoneseven/article/details/10127201</link><guid>https://blog.youkuaiyun.com/mzoneseven/article/details/10127201</guid><author>mzoneseven</author><pubDate>Tue, 20 Aug 2013 23:59:07 +0800</pubDate><description><![CDATA[linux下一个简单的文件复制程序，cp命令的实现，
#include 
#include 
#include 
#include 
#include 
#include 
int main(int argc, char **argv)
{
	int fd_read;
	int fd_write;
	char buf[128]={0};
	int bytes_read,bytes_write;]]></description><category></category></item><item><title><![CDATA[线程同步-互斥锁]]></title><link>https://blog.youkuaiyun.com/mzoneseven/article/details/10126637</link><guid>https://blog.youkuaiyun.com/mzoneseven/article/details/10126637</guid><author>mzoneseven</author><pubDate>Tue, 20 Aug 2013 22:52:01 +0800</pubDate><description><![CDATA[在linux下，当我们需要控制对共享资源的存取的时候，可以用一种简单的加锁的方法来控制。
所谓的共享资源分为三点：
1、全局变量
2、文件操作
3、某些硬件端口
下面这个例子是对文件的操作进行加锁，
每两秒写入字符1到文件，然后读出文件中字符的长度，每次的读文件必须在写文件之后进行：




#include 
#include 
#include 
#include ]]></description><category></category></item></channel></rss>