- 博客(113)
- 资源 (5)
- 收藏
- 关注
原创 C语言多条件编译
#if defined(CREDIT) credit(); #elif defined(DEBIT) debit(); #else printerror(); #endif如果定义了宏CREDIT,那编译的时候就会编译credit();如果定义了宏DEBIT,那就编译debit();如果2个宏都没有定义,那就编译printerror();...
2019-12-12 14:39:14
697
原创 FFMPEG抓取摄像头数据保存为一张图片
实验环境:树莓派3.库FFMPEG。写在前边的声明,该文章所发代码全部为网上收集,本人经过整合,精心去除一些冗余,然后而成。下边什么都不说了,直接上代码#include <stdio.h> #include <string.h> #include <stdlib.h> #include <unistd.h> #incl...
2019-03-21 11:03:49
1728
2
原创 Linux下C实现心跳包
直接看代码#include #include typedef void (*signal_handler)(int); //定义函数指针void heart_handler_fun(int signal_num){ alarm(30);//睡眠30S printf("catch signal %d\n", signal_num);}int
2017-02-17 14:39:15
5857
原创 函数指针和函数指针数组
直接看代码#include typedef int (* P_PRINT)(int); //先定义函数指针类型int fun1(int i){ return i;}int fun2(int i){ return i;}int fun3(int i){ return i;}int main(){
2017-02-17 14:32:02
407
转载 VS2010将标准输出信息输出到output中
在微软的Visual Studio开发环境(如VS2010)下开发C++的Console Application的项目,标准输出信息(如std::cout、printf等)都是输出到控制台的(也就是传说中的黑窗)。有很多人是不喜欢这个黑窗口的,特别是习惯了像Eclipse这样的IDE的同志,如从Java转到C++的程序员,总想把输出信息集成到VS中。其实是有一种方式可以实现这种需求的,也就是把输出
2016-03-28 17:21:25
10543
转载 使用SecureCRT自动保存设备登陆日志
问题:当在我们处理故障时,有时候由于事情紧急,没有抓下处理故障时的信息,不能给后期的分析提供第一手材料,很是遗憾。这里,给大家介绍一下在SecureCRT中如何自动保存每次的设备登陆日志信息。 思路:在自己的硬盘上设置个专门保存配置的目录,如:d:\SecureCRT log,然后在此目录中以每次登陆的时间作为文件名建立日志文件,自动记录在设备上的操作。 设置步骤: 1. 在
2016-03-17 11:13:01
2790
转载 Ubuntu 12.04中文输入法的安装
Ubuntu上的输入法主要有小小输入平台(支持拼音/二笔/五笔等),Fcitx,Ibus,Scim等。其中Scim和Ibus是输入法框架。 在Ubuntu的中文系统中自带了中文输入法,通过Ctrl+Space可切换中英文输入法。这里我们主要说下Ubuntu英文系统中,中文输入法的安装。 安装输入法的第一步,是安装语言包。我们选择System Settings-->Languag
2016-03-15 19:31:11
390
原创 通过实例分析下getDrawingRect,getHitRect,getLocalVisibleRect,getGlobalVisibleRect区别
通过实例分析下view中getHitRect()、getDrawingRect()、getLocalVisibleRect()、getGlobalVisibleRect、getLocationOnScreen、getLocationWindow这几个函数的区别。先看例子源码布局文件 xmlns:tools="http://schemas.android.com/tools
2015-11-05 13:21:24
3162
1
原创 View事件转发机制流程分析
注:该文章以android5.1源码进行的分析,文章参考了网上其他文章。为了讲解view事件的转发流程,我特意写了个小的demo。以下是主要代码 public class CustBtn extends Button { privatefinal String TAG = "lizhihong"; publicCustBtn(Context
2015-10-30 10:33:32
439
原创 Android设备识别
先用lsusb察看现有设备Bus 001 Device 002: ID 8087:8008 Intel Corp. Bus 002 Device 002: ID 8087:8000 Intel Corp. Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hubBus 002 Device 001: ID 1d6b
2015-09-10 16:22:46
2120
转载 Ubuntu下android adb环境变量配置方法
系统:linux ubuntu121. 配置环境变量复制代码 代码如下:sudo gedit /etc/profile在文件的最后追加一下内容(your_android-sdk-linux_path是绝对路径):复制代码 代码如下:#set path for android sdk toolsexport PATH=$PATH:/your_andro
2015-09-10 16:13:15
9704
转载 ubuntu下openjdk环境配置
在启动终端并输入gedit /etc/profile 在末尾添加一下配置,保存并退出#set jdk environment export JAVA_HOME=/usr/lib/jvm/jdk1.7.0_21 export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$CLASSPATH export PATH
2015-09-10 08:37:41
2077
原创 手机内存二合一的情况下,关机闹钟无法播放手机内存铃声的问题
在AlarmStateManager的getAlarmPath方法中//添加部分 String temppath = "/storage/emulated/"; String temppath2 = "/storage/emulated/0/"; String mediappath = "/data/media/";//添加部分
2015-07-01 09:47:15
672
原创 获取每个卡的运营商名称
private TelephonyManager[] mTelephonyManagers;numPhones = TelephonyManager.getPhoneCount(); mTelephonyManagers = new TelephonyManager[numPhones];String simName = null;CharSequence[]
2015-06-30 13:49:36
1991
原创 android插入usb或充电震动
在NotificationManagerService构造函数中添加filter.addAction(Intent.ACTION_POWER_CONNECTED);在广播接收器中添加处理函数else if (action.equals(Intent.ACTION_POWER_CONNECTED)) { updateACNotification(
2015-06-29 10:45:47
2474
1
原创 用android动画实现手势动画
在PhoneWindowManager中添加如下方法 private static final int END_ANIMATION = 101; private static final int PREPARE_ANIMATION = 102; private static final int PLAY_ANIMATION = 103; private Ani
2015-06-25 15:24:20
1691
原创 apk发送短信不保存到数据库
在SMSDispatcher中handleSendComplete中 if (SmsApplication.shouldWriteMessageForPackage( tracker.mAppInfo.applicationInfo.packageName, mContext)) { // Persist it i
2015-06-23 11:38:47
1263
原创 android开机动画切换
新建一个app,用于选择开机用那个动画布局文件: android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > android:id="@+id/rg_group"
2015-06-15 20:12:23
1023
3
原创 android手势动画
在PhoneWindowManager.java中interceptKeyBeforeQueueing方法中添加如下代码 switch (keyCode) { case KeyEvent.KEYCODE_C: { if (down && SystemProperties.getBoolean("persist.sys.gesture.enable
2015-06-15 19:18:54
1422
原创 andrdoid内置视频文件
这个方法只适合有内置存储的情况,至于和平分区的不在考虑之列1 在vendor/sprd下新建一个文件夹built_in_video 里边放置要内置的视频文件及copy脚步脚步如下:internal_media.mkLOCAL_PATH:= vendor/sprd/built_in_videoPRODUCT_COPY_FILES += \ $(LOCAL_P
2015-06-10 11:46:35
1254
1
原创 android怎么在launcher修改内置apk的icon
找到launcher下的IconCache中添加变量用来存储要修改apk的包名 及要修改成的icon private String[] className = {"com.google.android.apps.maps","com.google.android.googlequicksearchbox"}; private int[] resId = {R.drawab
2015-06-10 10:59:17
2370
原创 添加persist.sys属性写权限方法
1.在AndroidManifest.xml manifest属性中添加android:sharedUserId="android.uid.system"2.如果AndroidManifest.xml manifest属性中已经有android:sharedUserId属性值就只能修改 system/core/init/property_service.ccheck_perms函数
2015-06-06 14:15:48
8485
原创 android桌面壁纸不滑动
在launcher WallpaperCropActivity类中的getDefaultWallpaperSize方法中添加Point defaultSize = new Point(); windowManager.getDefaultDisplay().getRealSize(defaultSize); defaultWidth
2015-06-05 19:21:45
1386
原创 android添加3个虚拟按键音
在PhoneWindowManager.java的interceptKeyBeforeQueueing方法中添加if (keyCode == KeyEvent.KEYCODE_HOME || keyCode == KeyEvent.KEYCODE_BACK || KeyEvent.KEYCODE_MENU) {
2015-06-05 11:11:56
1698
原创 Facebook在settings中不能同步解决方法
【原因分析】 facebook同步字段被google删除 packages\providers\ContactsProvider\src\com\android\providers\contacts\ContactsDatabaseHelper.java中的版本号static final int DATABASE_VERSION = 804; if (oldV
2015-06-05 10:31:52
1056
转载 在makefile中写shell注意点
在Makefile中写shell代码有点诡异,和不同的shell语法不太一样,如果不了解,看Makefile会莫名其妙。下面总结了一些。1:尽在Makefile文件的目标项冒号后的另起一行的代码才是shell代码。eg:xx = xx1 // 这里时makefile代码yy:xx = xx2 // 这是是makefile代码,makefile允许变量赋值时,
2015-05-27 10:23:37
989
转载 Makefile中foreach使用
foreach 函数和别的函数非常的不一样。因为这个函数是用来做循环用的,Makefile中的foreach函数几乎是仿照于Unix标准Shell (/bin/sh)中的for语句,或是C-Shell(/bin/csh)中的foreach语句而构建的。它的语法是: $(foreach ,,)这个函数的意思是,把参数;中的单词逐一取出放到参数;所指定的变量中,然后再执行;所
2015-05-27 10:21:07
47036
转载 Fragment中获取Activity的Context
Fragment中获取Activity的Context时只需要this.getActivity()即可.
2015-05-12 20:46:52
646
原创 android利用Context提供的方法实现java映射
实例如下:private Context mOtherAppsContext=null;private static final String MCUBE_PACKAGE="com.mcube.acc"; private static final String MCUBE_CLASS="com.mcube.acc.SensorControl";private Class mcube
2014-12-04 16:19:31
774
原创 Linux查找并复制文件的方法
find . -iname Phone.apk -exec cp {} ../ \;find . -iname Phone.apk | xargs -i cp {} ../查找并删除文件的方法:find . -iname *.apk | xargs rm -fr
2014-11-27 09:45:58
1812
原创 怎么去掉eclipse源文件左边的错误提示
做android手机上层开发,要经常把Framework和Packages源文件导入到eclipse中,因为导入的不全,源文件中会出现错误提示,让人看起来很不爽。通过设置可以解决这个问题选取windows-->perferences-->editors-->text editor-->annotation-->error项 在里面有三个选项, 勾第一项时在代码窗口的左边标
2014-11-21 16:47:55
2917
原创 vim配置文件
vim配置文件 .vimrc"winpos 5 5 " 设定窗口位置 "set lines=40 columns=155 " 设定窗口大小 set nu " 显示行号 set go= " 不要图形按钮 "color asmanian2 " 设置背景主题 set guifont
2014-11-21 16:39:52
748
原创 git配置文件
git配置文件.gitconfig常用配置[user] name = lizhihong email = lizhihong@szhyst.com [color] diff = auto status = auto branch = auto ui = auto [core] editor = vim
2014-11-21 16:28:31
716
转载 perl 快速入门
本文介绍从变量类型、操作运算符、控制叙述、子程序、I/O和档案处理、 Regular Expressions、Spectial Variables、Help、函数、总结几个部分介绍perl,只是叙述了一些Perl的基本语法
2014-10-28 11:14:30
1815
原创 andrid对不能导入的类,知道类路径如何使用该类
andrid对不能导入的类,知道类路径如何使用该类?使用java的反射机制。下边是一个例子。MTK平台对Android源生的Telephone接口进行了扩展,添加了一个TelephonyManagerEx类来对双卡进行支持:类名: com.mediatek.telephony.TelephonyMangerEx;应用中,我们可以通过java的反射机制来调用其中的接口:Cla
2014-10-27 13:39:30
1360
原创 android几个快速打包命令
在MTK android4.4上,有几条命令可以快速打包system uaserdata bootimage,可提高效率。 snod:这个命令是可以快速打包system。是不会执行android各种依赖文件,既在单编译apk之后,需要打包在system image时候,即可用此命令 userdataimage-nodeps: 这是userdata
2014-10-23 10:53:37
4903
原创 android:分享 一个很强大的LOG开关---Log.isLoggable
1、API亮点:此API可以实现不更换APK,在出问题的手机上就直接能抓到有效log,能提升不少工作效率。2、API介绍最近在解决短信问题时,看到一个很强大的LOG开关---Log.isLoggable1. if (Log.isLoggable(LogTag.TRANSACTION, Log.VERBOSE)) { 2. Log.v(TAG, "Creating Tr
2014-10-23 10:47:47
9708
2
加密与解密(第三版)
2014-08-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人