自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 收藏
  • 关注

原创 Stable Diffusion 如何生成字体拼图

Stable Diffusion 特效字体图

2023-03-28 15:04:36 960

原创 Stable Diffusion 如何生成有质感的皮肤图像

皮肤的质感太光滑了,不像真实照片。这种情况需要用 Negative Prompt 来控制。

2023-03-28 14:52:53 4917

原创 谈谈熟悉在GUI界面下编译代码的同学怎么快速入门Android Studio

本文面向原来熟悉在GUI界面(例如VisualStudio)下编译代码的同学。Visual Studio确实是一个傻瓜式的开发环境,像Visual C++,在Visual Studio里把C/C++代码写好,点一下“运行”按钮,就可以把程序运行起来了。对比Linux里传统的开发模式,不仅要写C/C++代码,还要写makefile。Android Studio其实也是继承了这种思想,开发Android应用(以下都简称App),不仅要写Java代码,还要写编译Java代码的代码,也就是说,编译过程本身也是执行一

2017-11-01 12:56:29 1784

原创 Android 4.0 对通知栏图标的尺寸有要求

某应用,之前在各版本的 Android 系统上运行良好,最近测试部门在 Android 4.0 兼容性测试中,发现该应用在通知栏显示图标时,图标显示不全。经检查发现,创建通知栏图标时:Notification nf = new Notification(R.drawable.notify_icon, "", System.currentTimeMillis());图片资源 noti

2011-11-24 11:33:32 12825 1

原创 用 managedQuery() 时需要注意的一个陷阱

Activity 里面提供了一个 managedQuery() 方法,按照 Android SDK 里面的说明,“the activity will manage its lifecycle for you.” 听起来很好,Activity 可以替你管理 Cursor 的生命周期了,就不用记着去 close() 了,代码可以更简洁。但是 Activity 是怎么去管理 Cursor 的生命周期

2011-11-16 14:13:08 9338 1

原创 Android 原生系统给电信发短信出现乱码或者收不到的原因

网上说的方法是修改/system/framework/framework.odex文件,找9a13040b,改为9a130408。方法是没错,不过原理没说清楚。其实问题是出在 framework/base/telephony/java/com/android/inte

2011-10-18 19:22:57 7850 4

原创 Android monkey test 脚本的编写

Android 的 monkey test 工具提供了 -f scriptfile 参数,可以指定 test 脚本,然而翻遍了 Android 的网站也没有找到这个脚本的文档,最终只在 monkey 的源码 MonkeySourceScript.java 中找到了一小段注释,里面

2011-10-11 20:15:54 20055 2

原创 Windows 下面可用的 C/C++ 的正则表达式库

<br />1. 最省事的是 ATL 里面自带的 CAtlRegExp。不过对 POSIX 标准支持很差,而且非常慢。<br />2. boost,名气很大,但是过于臃肿,而且速度也不快。<br />3. 以前微软研究院有个小组搞过一个greta,号称速度是boost的7倍多,不过03年以后就再也没更新了。在 VC8 以上版本编译需要稍作修改。兼容性不错。<br />4. VBScript.RegExp。兼容性和速度都很好,尤其是速度上出人意料地击败了greta,比较复杂的规则比greta快了1

2011-06-02 11:05:00 8702 4

原创 Android 中用 tcpdump 调试网络程序

<br />Android 默认没有 tcpdump,从网上下一个其它人 port 的版本就可以了,这个很容易 google 到,我就不再赘述了。也可以自己从 http://www.tcpdump.org 下载源码编译。NDK r5 之后直接用 toolchain 编译就行。<br /> <br />如果我们用 tcpdump 来调试 http 程序,可以这么写:<br /> <br />tcpdump -p -nnn -vvv -s 0 -w /sdcard/1.pcap port 80 and tcp<

2011-03-25 20:03:00 2885 1

原创 C 语言版本的 string replace 函数

<br />ANSI C 中并没有提供 string replace 的函数,网上有一些自己实现的,不过大多有一个问题:不是全部替换。<br /> <br />例如,This is a test to test string replacing.<br />如果要替换 test 成 example,全部替换的结果应该是:This is a example to example string replacing.<br />网上很多的实现都是只要找到一个结果就返回了。<br /> <br />这里我写了一个全

2011-01-14 10:22:00 14257 1

原创 NDK r5 Toolchain 简单测试

<br />NDK r5 带的 toolchain 终于可以支持 makefile 的编译系统了。不过为了让它支持 GNU libc++ 还颇费了一番功夫,文档实在太缺乏了。下面是一个简单的试成功了的 case:<br /> <br />首先我们写一个简单的 C++ 程序,这里命名为 test.cpp,里面用到了 iostream, vector, typeid,libc++ 的基本特性都包含在里面了:<br />#include <vector>#include <iostream>#includ

2010-12-28 17:11:00 3340 3

原创 NDK r5 支持 RTTI 了

<br />在 NDK r5 的 sources/cxx-stl/gnu-libstdc++/README 文件里,写着:<br />To use it, define APP_STL to 'gnustl_static' in your Application.mk.See docs/CPLUSPLUS-SUPPORT.html for more details.This implementation fully supports C++ exceptions and RTTI.<br />也

2010-12-28 16:57:00 6366 2

原创 Android App 如何动态加载类

<br />在 Java 里面,我们可以把一些类放到 .jar 文件里面,然后用 ClassLoader 动态加载。例如:<br />URLClassLoader ucl = URLClassLoader.newInstance(new URL[]{new URL("file:/sdcard/files/test.jar")});Class clazz = ucl.loadClass("com.test.TestClass"); <br />但是在 Android 上面,情况有所不同。<br /> 

2010-12-24 19:38:00 28599 16

原创 开发 Standalone Android Java 应用程序

<br />一般来说,我们开发的 Android 应用程序都是基于 Activity 的,由 Android 系统来管理程序的生命周期;但是,有的时候,我们也想自己来控制程序的流程。例如,如果只是开发一个类似 /system/bin/pm 那样的 console 应用程序,用 Activity 就不合适了。这里我称这种自行控制流程的程序为 Standalone 的 Android 程序。<br /> <br />开发的方法和开发普通的 Java 应用程序并没有太大区别。例如,我们以 Java 的 Hello

2010-12-23 18:37:00 6155 2

原创 Android Native 应用程序启动 Activity 的方法

<br />调用 /system/bin/am.<br /> <br />用法:<br />usage: am [subcommand] [options]<br /><br />    start an Activity: am start [-D] [-W] <INTENT><br />        -D: enable debugging<br />        -W: wait for launch to complete<br /><br />    start a Servi

2010-12-17 10:21:00 3117

原创 Android HotPatch

如果要 patch 掉系统的一些服务,例如 installd, ps 之类,可以直接把 /system/bin/ 目录下的文件直接重命名,然后把 patch 的新文件用原来的名字保存到这个目录下,重启手机后生效。但是直接写文件是不行的,会遇到 Read-only file system 的错误,所以要 remount,命令行是mount -o remount rw /system/注意在 Android Emulator 下面的话重启之后就还原了,只能在真机上这么做。

2010-12-09 13:42:00 3800 1

转载 Android APK 是怎么安装的?

<br />http://justanapplication.wordpress.com/2009/08/22/a-standalone-android-runtime-application-installation/<br /> <br />It turns out that an application can be installed, such that it can subsequently be run, simply by placing the package containing

2010-12-08 18:34:00 1634

原创 点评 Firefox 导入 IE Cookie 的代码

<br />Firefox 在安装完成的时候,会问你要不要导入其它浏览器的数据,比如说导入 IE 的 cookie, history 之类。导入的代码在<br />browser/components/migration/src/nsIEProfileMigrator.cpp<br />其中,导入 cookie 的代码是:<br />/* Fetch and translate the current user's cookies. Return true if successful. */ns

2010-12-06 10:19:00 2819

原创 在 Android Emulator 中开发 LKM 程序

在 Android Emulator 里面用 insmod 安装 LKM 时,会报告错误,例如:# insmod hello.koinsmod: init_module 'hello.ko' failed (Function not implemented)这是因为 Android SDK 里面自带的 Emulator 所用的 kernel 关闭了加载 LKM 的功能。要在 Emulator 里面开发和调试 LKM,必须自己重新编译 kernel. 编译方法可以参考 http://linuxclue

2010-12-03 19:53:00 8942

原创 用 Android NDK 开发 Native 应用程序(二)

调试1. 首先把要调试的程序上传到模拟器中。假定我们用 adb push hello /data/hello 将程序传到了模拟器的 /data 目录。注意确认 hello 有可执行权限。2. 在模拟器上运行 gdbserver : hello,启动调试。其中 port 是 gdbserver 在手机上监听的端口号,注意和后面我们用 gdb 连接的端口可能不是同一个。运行结果可能是:# gdbserver :6789 helloProcess hello created; pid = 277Liste

2010-12-02 17:34:00 3744

原创 用 Android NDK 开发 Native 应用程序(一)

编译 Native App1. 安装 Android NDK,不必赘述。假定我们安装到了 /Developer/android-ndk-r4b/.2. 在工作目录下建立一个 jni 目录。如果要使用 NDK 自带的 Android.mk,必须叫做这个名字,否则 make 的时候会找不到文件,错误提示可能类似下面:Android NDK: Could not find application project directory ! Android NDK: Please define the

2010-12-02 17:10:00 21774

原创 Firefox 实现 NPAPI 时的一个 BUG

在 NPAPI 里有一个接口 NPN_PostURL(),可以用来控制浏览器做 HTTP POST,接口是这样的:NPError NPN_PostURL(NPP instance, const char* url,const char* target, uint32 len, const char* buf, NPBool file); 可以看出来,这个接口没有指定 HTTP

2009-03-19 09:44:00 2511 1

空空如也

空空如也

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

TA关注的人

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