当前位置: 编程技术>移动开发
本页文章导读:
▪下午玩的两个SFTP 上午玩的两个SFTP
之前老是用scp命令行,还是相当麻烦,对于多个文件的操作几乎不可能,所以搜索了一下,找了两个SFTP的软件。
RBrowser,收费软件,但是提供了free lisence,看起来好像也没.........
▪ 线程中的讯息机制 线程中的消息机制
1、向哪个Handler 发送消息,就必须在哪个handler 里面接收;
2、直接使用JAVA 的 Thread 是无法更新Android UI的,因为Android View 在设计的时线程是不完全的,不过Android 提供了.........
▪ object-c 动态反照 object-c 动态反射
最近要做一个ios平台的快速开发框架 需要用到高级语言的反射的功能:总结了一下object-c的反射功能:1:Class clazz = [self class]; u_int count; Ivar* ivars = class_copyIvarList(cl.........
[1]下午玩的两个SFTP
来源: 互联网 发布时间: 2014-02-18
上午玩的两个SFTP
之前老是用scp命令行,还是相当麻烦,对于多个文件的操作几乎不可能,所以搜索了一下,找了两个SFTP的软件。
RBrowser,收费软件,但是提供了free lisence,看起来好像也没有什么限制,功能还算ok,可以批量上传下载删除,可以直接编辑,也可以远程压缩和解压,这样就不用再用命令行了。缺点是没有命令行窗口.
RBrowser free lisence是有期限的,过了期限会禁止sftp功能,刁。
Fugu 免费软件,没有右键菜单,不支持压缩解压等。优点:有命令行,但是似乎只支持有限的命令(sftp命令?),而且字体超级小的。有本地目录栏,不过不提供tree目录结构。在线编辑只能支持限定的几个,默认有安装的好像就只有vi和emacs,对这些命令行下面的工具还是不太感冒。勉强可用,但是不爽。
1 楼
runrungo
2011-10-11
[2] 线程中的讯息机制
来源: 互联网 发布时间: 2014-02-18
线程中的消息机制
1、向哪个Handler 发送消息,就必须在哪个handler 里面接收;
2、直接使用JAVA 的 Thread 是无法更新Android UI的,因为Android View 在设计的时线程是不完全的,不过Android 提供了几种供开发者在线程中更新UI的方法,如下:
Activity.runOnUiThread( Runnable )
View.post( Runnable )
View.postDelayed( Runnable, long )
Hanlder
3、直接使用hanlder .post 等方法是在当前主线程里面做操作,而不是另外新建线程,建议使用Thread 线程直接新建另外一个线程或者使用HandlerThread类也可以。
4、记住消息队列的先进先出原则。
[3] object-c 动态反照
来源: 互联网 发布时间: 2014-02-18
object-c 动态反射
最近要做一个ios平台的快速开发框架 需要用到高级语言的反射的功能:
总结了一下object-c的反射功能:
1:
Class clazz = [self class];
u_int count;
Ivar* ivars = class_copyIvarList(clazz, &count);
NSMutableArray* ivarArray = [NSMutableArray arrayWithCapacity:count];
for (int i = 0; i < count ; i++)
{
const char* ivarName = ivar_getName(ivars[i]);
[ivarArray addObject:[NSString stringWithCString:ivarName encoding:NSUTF8StringEncoding]];
}
free(ivars);
objc_property_t* properties = class_copyPropertyList(clazz, &count);
NSMutableArray* propertyArray = [NSMutableArray arrayWithCapacity:count];
for (int i = 0; i < count ; i++)
{
const char* propertyName = property_getName(properties[i]);
[propertyArray addObject:[NSString stringWithCString:propertyName encoding:NSUTF8StringEncoding]];
}
free(properties);
Method* methods = class_copyMethodList(clazz, &count);
NSMutableArray* methodArray = [NSMutableArray arrayWithCapacity:count];
for (int i = 0; i < count ; i++)
{
SEL selector = method_getName(methods[i]);
const char* methodName = sel_getName(selector);
[methodArray addObject:[NSString stringWithCString:methodName encoding:NSUTF8StringEncoding]];
}
free(methods);
NSDictionary* classDump = [NSDictionary dictionaryWithObjectsAndKeys:
ivarArray, @"ivars",
propertyArray, @"properties",
methodArray, @"methods",
nil];
NSLog(@"%@", classDump);
2:
NSString* className = @"Car";
id* p = [Magic createClassByName:className];
[p turnOnEngine];
3:
Class cls = objc_get_class( "Test" );
id obj = class_create_instance( cls );
[ obj free ];
邮箱 jiangzhoubai@gmail.com
最近要做一个ios平台的快速开发框架 需要用到高级语言的反射的功能:
总结了一下object-c的反射功能:
1:
Class clazz = [self class];
u_int count;
Ivar* ivars = class_copyIvarList(clazz, &count);
NSMutableArray* ivarArray = [NSMutableArray arrayWithCapacity:count];
for (int i = 0; i < count ; i++)
{
const char* ivarName = ivar_getName(ivars[i]);
[ivarArray addObject:[NSString stringWithCString:ivarName encoding:NSUTF8StringEncoding]];
}
free(ivars);
objc_property_t* properties = class_copyPropertyList(clazz, &count);
NSMutableArray* propertyArray = [NSMutableArray arrayWithCapacity:count];
for (int i = 0; i < count ; i++)
{
const char* propertyName = property_getName(properties[i]);
[propertyArray addObject:[NSString stringWithCString:propertyName encoding:NSUTF8StringEncoding]];
}
free(properties);
Method* methods = class_copyMethodList(clazz, &count);
NSMutableArray* methodArray = [NSMutableArray arrayWithCapacity:count];
for (int i = 0; i < count ; i++)
{
SEL selector = method_getName(methods[i]);
const char* methodName = sel_getName(selector);
[methodArray addObject:[NSString stringWithCString:methodName encoding:NSUTF8StringEncoding]];
}
free(methods);
NSDictionary* classDump = [NSDictionary dictionaryWithObjectsAndKeys:
ivarArray, @"ivars",
propertyArray, @"properties",
methodArray, @"methods",
nil];
NSLog(@"%@", classDump);
2:
NSString* className = @"Car";
id* p = [Magic createClassByName:className];
[p turnOnEngine];
3:
Class cls = objc_get_class( "Test" );
id obj = class_create_instance( cls );
[ obj free ];
1 楼
jiangzhoubai
2012-06-04
求下源码,大大。
2 楼
jiangzhoubai
2012-06-04
jiangzhoubai 写道
求下源码,大大。
邮箱 jiangzhoubai@gmail.com
最新技术文章: