自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(42)
  • 资源 (5)
  • 收藏
  • 关注

原创 Android中远程Service和Activity交互

Android四大组件之二: Activity和Service, 两者在很多情况下, 不是分裂的,那么,它们如何联系起来呢?通常使用IBinder两者建立关联, 方法如下:为了描述两者的通讯方式, 我们需要建立两个App, 一个为server, 另一个为client。 一个App内包含server和client的这种本地service我们就不描述, 没有什么挑战。1. 使用Android 

2017-04-19 22:01:30 1644 1

转载 Activity启动模式

看过很多关于Activity的启动模式讲解的文章, 一般都是使用打印, 图解来说明, 结果越说明越乱, 完全不知所云, 偶然找到一篇文章, 清晰简洁的描述出了Activity的启动模式. 链接见:Activity的几种启动模式介绍看之前, 建议先了解Android关于任务栈的概念, 这样理解起来就会很容易了./******************************

2017-04-19 10:47:28 316

原创 Android中Handler的使用一例

1. 继承Handler, 编写自己的Handler类static class MyHandler extends Handler { private WeakReference mActivity; public MyHandler(MainActivity activity) { mActivity = new

2017-04-19 09:58:45 578

原创 STM8S使用AWU无法唤醒的问题的解决过程

最近使用STM8S005做一个项目, 想达到进入Halt状态然后定时唤醒, 查看了一下文档, 发现可以用自动唤醒功能AWU来做. 于是有了如下代码: AWU_APR = 0x3E; //64分频AWU_TBR = 0x0F; //32秒唤醒CLK_PCKENR2 |= (0x04); /* AWU与主时钟连接 */ AWU_CSR |= 0x10; //使能自动唤醒CLK

2017-03-29 17:28:58 3799

转载 如何优雅的控制C#的线程

一直以来, 没有找到一种比较优雅的控制线程的方式, 今天翻看了一下chrome的书签, 发现以前居然收藏过这样的文章, 呵呵, 果然只收藏是不行的, 还得看./// /// 使用Event做同步控制 /// 三个Event组合使用就可以产生同Suspend,Resuem,Abort相同的效果 /// 而且你可以控制Abort的时机以及并

2017-03-22 09:43:36 1354

原创 STM32F103下模拟I2C的接口代码

硬件I2C虽然高效, 但是调试的时候老是遇到这样那样的问题, 赶项目也没有太多时间在里面折腾, 就使用了模拟I2C来完成. 效率虽然不怎么样, 胜在简单快捷...废话少说, 这就送上完全注释版的模拟I2C代码, STM32系列下适用, 其他单片机就要修改SCL和SDA的定义以及修改延时函数.#include "stm32f10x.h"#define HIGH 1#define LOW

2017-03-17 17:23:22 16258 5

原创 命令行启动已经创建了的AVD

找到已经创建的AVD的位置, 通常在C:\Documents and Settings\用户名.android下(这个是XP系统), 我的系统是WIN7, 在位置C:\Users\eafly.android\avd\ 下, 找到你需要启动的AVD, 打开config.ini文件, 找到其中的”AvdId=*” 这一行, “=”后面的字符是我们启动的时候需要用到的. 假设这里的AvdId=test找

2016-12-23 15:33:10 622

原创 Android源码编译出来的img如何运行起来

以前只知道将Android编译出来的img在Linux下运行, 想将编译出来的img运行在windows下却找不到方法, 今天晚上, 忽然有了一个以下思路, 居然真的运行起来了, 哈... 先记录下来.1. 编译Android源码, 这里我编译的是Android 4.4, 编译方法如下:source build/envsetup.shlunchmake -j82. 执行完毕后,

2016-12-22 19:51:23 3660

原创 在Android系统中发送模拟按键

使用源码来编译出一个可以发送模拟按键的app最近一个项目, 需要将车上的按键转化为导航主机的操作, 比如奥迪的MMI, 奔驰的Comond, 宝马的iDriver, 思考了一下, 决定采用转化物理按键为键盘消息的方法来操作导航主机的功能, 当然, 这里的导航主机指的是Android的导航主机:权限,属性代码编写签名打包,运行按键值对照表权限,属性 需要用到的权限及设置的属性:

2016-12-22 19:22:41 5874

原创 如何显示应该显示的App到类Launcher的应用上

标题很拗口...    最近做一个类似Launcher的App, 需要显示已经安装的App出来, 但是, 系统里面已经安装了很多的App, 总不能都显示出来吧? 参照google官方的Launcher, 得出类似的代码功能://这里的pm为获取到的PackageManagerfinal String TAG = "GetAllApps";final Intent mainIntent

2016-11-23 17:58:08 812

原创 接收端收不到 SendMessage发送的消息

使用C#的 SendMessage 发送消息给另一个进程, 如下: public const int WM_COPYDATA = 0x004A;[StructLayout(LayoutKind.Sequential)]public struct COPYDATASTRUCT{ public int Reserved; public int Length; public int

2016-08-10 15:05:00 6043

转载 WinCE下画弧线的方法

在项目中有一次需要画一段弧线, 但是DrawArc方法在WinCE的CF框架下不存在, 只能在Windows下使用. 于是到网上找到了一个方法: private Point[] CreateArc(float StartAngle, float SweepAngle, int PointsInArc, int Radius, int xOffset, int yOffse

2016-08-04 15:27:46 565

原创 Genymotion 出现“Unable to load virtualbox engine”错误解决方案

使用Win10系统, 在官网上下Genymotion模拟器, 带virtual box虚拟机,安装后,启动Genymotion,报错Unable to load virtualbox engine,照例在网上搜索一番, 什么修改路径错误, 修改注册表路径,安装virtual box的驱动,删除genymotion 的log文件, 兼容模式都试过了。无作用。无意中, 查看C:

2015-07-04 11:11:35 3494

原创 使用命令行创建并运行android apk

有时候觉得为了写一个简单的apk就开启android studio或者Eclipse太麻烦了. 所以就想着是不是可以用命令行的方式来生成一个android apk工程并安装到手机上测试.于是, 上网搜刮资料, 于是就有了如下内容:1. 在命令行中输入 : android list. 这个命令是用来查看当前我们安装了的有效的android系统(SDK)2. 创建android

2015-05-08 16:26:22 2170

原创 让Activity和Service建立联系(单向通讯)

1. 我们建立一个自己的Service, 继承于Service类public class ContentParseService extends Service2. 由于Service和Activity通讯是通过Binder来进行, 所以需要在Service内部(或者另外一个文件? 为了让这个Binder使用ContentParseService的相关变量/方法, 还是将它放在Se

2015-04-13 16:15:46 568

原创 关于Android stdio使用的一些小问题的解决方法

1. 安装了Genymotion插件后, 发现界面上没有显示出那个红色手机的小图标, 这个是因为Toolbar默认没有显示出来, 这时候你可以点击Android stdio的View-->Toolbar来让它显示出来.2. 明明安装了Genymotion, 而且也启动了, 可是Android Studio就是识别不到它, 这个是应为你的Genymotion的SDK路径采用了它本身的路径了, 需

2015-04-01 15:44:30 675

原创 安装一个新的Launcher

编译出来一个Launcher后, 可能用常规的方法安装不上, 那么就要尝试下面的方法了:1. 为了让系统分区的apk可以删除, 需要先在命令行中: adb remount2.进入到adb shell模式: adb shell3. 删除系统分区的app目录下的Launcher.apk(不同的rom可能不同名字, 这里需要找到相应的Launcher的apk): adb rm -r

2015-03-30 15:55:53 671

原创 通过git远程管理自己本地的工程

自己有这样的需求: 在公司写了一个项目, 下班后又想回家再接着写. 以前是使用U盘拷贝, 拷多了发现很麻烦, 后来发现了有免费的远程git管理工具, 于是写下这篇文章, 以备不时之需.Step1: 注册一个git管理帐号, 我使用的开源中国的git( http://git.oschina.net), 假设你已经注册了一个帐号叫abc, 并且你已经在上面创建了一个工程叫做 myproje

2014-08-26 19:32:23 10138 1

原创 写一个自己的listview

首先, 我们在layout文件中添加一个list:

2014-08-26 09:23:13 645

原创 WINCE下模拟鼠标点击,移动

最近进行一个车载项目, 碰到这样的需求: 通过串口接收鼠标的按下/弹起和坐标消息, 在WINCE下模拟鼠标消息.经过努力, 得出了两个方案:1. 使用广播发送鼠标消息2. 使用mouse_event. 实际测试的时候经过测试, 发现广播发送鼠标消息效果不佳:

2014-06-18 19:53:29 2964

原创 第一个linux内核模块的编写

最近, 感觉自己应该学一下linux的东西了, 于是,拿linux内核来开刀, 其实, 自己都不知道会坚持多久, 但是, 但是!!!既然现在开始了, 遇到一些问题, 就应该把它记录下, 以方便自己温习和别人参考。我使用的是ubuntu 10.04 Server版的linux, 在这里, 我假设你已经编译了内核(什么?你还没有编译内核,呃, 那么你还是不要往下看了, 先去把内核编译了吧, 具体的...

2014-06-10 22:52:00 7087 3

原创 一个优化if-else的例子

public class hello{ public enum MyEnum { Name(0), Age(1), Address(2); public int mEnum; MyEnum(int iEnum) { mEnum = iEnum; } } public static void main(String[] args) {

2014-02-13 17:01:06 1323

原创 C#中BeginInvoke和EndInvoke的用法

有时候, 我们希望在当前UI线程中去做另一件费时的事, 但是我们知道:在当前UI线程中直接调用一个类似while(true)这样的操作, 我们的UI会出现无响应的情况. 如何避免这种情况呢, C#为我们准备了BeginInvoke和EndInvoke.首先定义一个委托:private delegate int ConsumeTimeDelegate(int iPercent);然后

2013-11-03 14:26:57 4033

原创 为Android仿真器创建并使用SD

如果没有SD卡,先创建SD卡:1.运行Windows的命令控制台CMD2.假设你当前路径为D:\Android那么键入:mksdcard 512M MySD回车后即可在D:\Android目录下创建了容量为512MB,名字为MySD的SD卡接下来,我们要让这个SD卡在Android仿真器启动的时候挂载:1.先列出你当前已经创建的Android仿真器,使用命令:and

2013-06-22 11:23:53 1470

原创 TCPMP编译出现Error PRJ0019错误的一个解决方案

使用VS2008编译tcpmp,发现编译common的时候出现了一个error PRJ0019的错误.Project : error PRJ0019: 工具从"正在执行预生成事件..."     开始我不知道问题出现在哪里,然后上网搜索,找到回答说是:预生成事件的设置的问题.但是这些设置我都没有更改过.只不过clear一下.然后再编译就出问题了.所以应该不是设置的问题.  换了一个编译器V

2012-11-20 11:31:01 1709

转载 让Notepad++变成一个轻量级的C/C++编译器 - 电脑狂 - IT世界 http://www.itlodge.net/article/121.html

为什么要这样?C/C++的IDE(如VS)的启动速度太慢了!对于刷题的人来说,单个文件还要开IDE,就跟大炮打蚊子一样!而且那些项目文件20多M,实际的代码,obj文件和exe文件不超过1M,对于那些刷题帝来说,太浪费硬盘空间了。我们需要速度,我们需要操作简便,我们需要更大的硬盘空间,于是我们把Notepad++打造成一个C/C++编译器。实际上,其它的文本编辑器如ultraeditor等也可

2012-09-20 11:55:40 5198

转载 在RELEASE版本中快速定位DATA ABORT的方法

原帖:http://www.cnblogs.com/walzer/archive/2007/09/28/909626.html这几天在调试一个程序,出现release中出现了异常,信息中有PC指针,开始还不知道怎么找异常点,后来google了一番,终于找到了解决方案:07年10月11日补充:注意,该方法只能定位显性泄漏,定位到的C语句一定产生泄漏了,但可能这

2012-06-05 19:40:58 780

原创 VC调试内存泄露

<br />在编写程序的时候,很多时候出现了内存泄露却不知道该从哪里找.当然,从源头上制止这种现象才是最重要的,但是,有的时候做不到这一点,那么怎么找出这些讨厌的bug呢?下面介绍一些方法:<br />在头文件中或者源码文件中包含/* for memory leak detect */#define _CRTDBG_MAP_ALLOC#include <stdlib.h>#include <crtdbg.h>PS:这些文件的顺序不要改变然后,在主函数开始的地方添加_CrtDump

2010-11-10 18:06:00 1628

原创 创建异形文字

<br />void C***Dialog::CreateRgn(){ HRGN wndRgn; CClientDC dc(this); CFont mFont; if (dc.m_hDC!=NULL) { VERIFY(mFont.CreateFont(200, 50, 0, 0, FW_HEAVY, TRUE, FALSE, 0, ANSI_CHARSET, OUT_DEFAULT_PRECIS, CLI

2010-10-13 15:47:00 774

转载 使用GDI+

GDI+ 是GDI(Windows 早期版本提供的图形设备接口)的后续版本,是Microsoft Windows XP作系统即后续版本的图形显示技术。它已经集成到了.Net开发环境中,所以不管你的OS是什么版本,只要安装了.Net框架,就有了GDI+(注意:是.Net框架,而不是.Net开发环境,所以Win98中也可以使用GDI+)。在头文件中加入下面的代码:#include using namespace Gdiplus;#pragma comment(lib,"gdiplus.lib")

2010-09-16 14:05:00 590

原创 截屏并保存为bmp格式

<br />嗯,代码大部分是在网上找的.自己组合了一下.算是拿来主义吧...哈.<br />void CSaveBmpDlg::OnButton1() { // TODO: Add your control notification handler code here HWND hWnd = ::GetDesktopWindow();//获得屏幕的HWND. HDC hScreenDC = ::GetDC(hWnd); //获得屏幕的HDC. int widt

2010-09-09 13:37:00 1435 1

原创 MFC窗体透明

<br /> <br />    //首先修改属性<br />    SetWindowLong(this->GetSafeHwnd(),GWL_EXSTYLE,<br />        GetWindowLong(this->GetSafeHwnd(),GWL_EXSTYLE)^0x80000);<br />    //装载DLL<br />    HINSTANCE hInst = LoadLibrary("User32.DLL"); <br />    if(hInst) <br

2010-08-20 12:13:00 829

原创 递归创建文件夹的例子

char szDir[255] = {0}, szFileName[255] = {0}, tmpDir[255] = {0}; int i, lastPos = 0, dirLen = (strlen(lcl_path->data) > 255)? 255 : strlen(lcl_path->data); memcpy(szDir, lcl_path->data, dirLen); for(i = 0; i

2010-07-23 16:41:00 1031

转载 (zt)如何执行一个资源中的可执行程序

<br />C++ 代码CFile f;char* pFileName = "Execution.exe";if( !f.Open( pFileName, CFile::modeCreate | CFile::modeWrite, NULL ) ){AfxMessageBox("Can not create file!");return 0;}CString path = f.GetFilePath();HGLOBAL hRes;HRSRC hResInfo;//

2010-07-08 15:29:00 646

原创 如何获取当前时间的前N天时间格式字符串

<br />  最近做项目,有这么一个需求:根据当前时间,得到前N天的年月日格式字符串,比如今天是2010年06月04日,那么今天的格式字符串为:20100604,昨天的应该为20100603,前天的为20100602, etc...<br />  看到这个需求的时候,我首先是想根据年月日推算前N天分别是什么.但是后来一想,这个方法太麻烦了,要考虑年月日的进位退位,不是一般的繁琐.<br />后来在老大的帮助下,使用了一种新的方法.就是得到当前距离1970年的秒数,然后分别减去一天的秒数,然后再转换回CTi

2010-06-04 18:17:00 1404

原创 非模态对话框的销毁

非模态对话框是在堆上创建的.所以销毁的时候需要重载OnOK和OnCancel以及PostNcDestroy,在OnOK和OnCancel中使用DestroyWindow(); 来替换原来的代码.如果对话框为游离状态(指父窗体或其他窗体没有掌控指向该对话框的指针),就需要重载PostNcDestroy()函数.在PostNcDestroy()中添加delete this; 即

2010-05-29 16:33:00 797

原创 CImage显示透明PNG

在做项目的时候,需要用到透明的png格式的图片,使用CImage的时候,发现显示出来的并不是透明背景的图片,而且一些黑色边加一大片白色背景的图片,这是怎么回事呢?用ps来看的时候明明就是透明的呀...不明白.于是google一番,找到一些关于这类问题的看法:以下为转述:PNG图片的透明背景总是一片白色,后来才发现这其实是微软GDI+的设计问题,PNG图片是ARGB,使用GDI+载入图片的时

2010-05-24 10:36:00 6110 9

原创 防止刷新的时候背景闪烁

在某些时候,我们需要控件或者画图更新之后刷新显示,可以使用Invalidate或者InvalidateRect.但是Invalidate会导致整个窗口刷新,这个有时候我们不需要,InvalidateRect可以刷新指定的区域,如果这样使用:InvalidateRect(rect); 但是这样会导致rect区域的背景也会刷新,经过google一番,发现应该这样使用:InvalidateR

2010-05-22 15:28:00 1113

转载 (ZT)MFC中模态对话框的调用流程小解

 首先,DoModal()会使用对话框模板名来从应用程序的资源文件中查找、载入并锁定对话款模板。如果DoModal()不能定位资源,则返回错误代码-1;然后,这个函数会调用PreModal()。PreModal会执行一些安全检查,然后为对话框查找父句柄(会通过CWnd::GetSafeOwner)。然后将结果保存在m_hWnd中。之后,它会调用EnabledWindow(FALSE)来冻结

2010-05-15 17:59:00 1030

原创 RTP传输H264时的sps和pps的获取

最近在做一个项目,其中用到了RTP传输H264,记录一点心得吧.使用RTSP传输H264的时候,需要用到sdp协议描述,其中有两项:Sequence Parameter Sets (SPS) 和Picture Parameter Set (PPS)需要用到,那么这两项从哪里获取呢?答案是从H264码流中获取.在H264码流中,都是以"0x00 0x00 0x01"或者"0x00 0x00 0x

2009-12-12 09:53:00 8368 2

glibc-2.3.6-version-info.h_err.patch

CSDN一定要设置资源分。。。不是我想设置的。这个其实也是网上找来的。怕以后找不到。 就上传上来。

2017-10-18

linux-libc-headers-2.6.12.0.tar.bz2

不想要资源分的.无奈CSDN居然一定要选, 而且没有资源分为0的选项。

2017-10-18

使用STM32F103RC来驱动HMC5883L

使用STM32F103的模拟I2C来驱动读取HMC5883L, 使用模拟I2C是因为硬件I2C调试得实在让人苦恼. 打印输出使用UART1. 注意, 你的HMC5883L记得要加上拉电阻...

2017-03-21

COM本质论中文版(绝版PDF格式)part2

COM本质论中文版(绝版PDF格式),关于COM的书籍,很不错的。。。

2008-11-18

COM本质论中文版(绝版PDF格式)

COM本质论中文版(绝版PDF格式),关于COM的书籍,质量还不错。。。

2008-11-18

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除