本页文章导读:
▪保留页面 保存页面
关于使用Eclipse调试Launcher的完美解决方法 [复制链接] firefox7 发短消息加为好友firefox7 当前在线 阅读权限50 注册时间2010-5-24 最后登录2011-1-14 在线时间256小时 . 高级工程.........
▪ 获取联网模式 获取联网方式
ConnectivityManager cm = (ConnectivityManager)act.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo info = cm.getActiveNetworkInfo();
String typeName = info.getTypeName();//联网的方式
.........
▪ NSScanner种参考 NSScanner类参考
NSString *string = @"Product: Acme Potato Peeler; Cost: 0.98 73\nProduct: Chef Pierre Pasta Fork; Cost: 0.75 19\nProduct: Chef Pierre Colander; Cost: 1.27 2\n";
NSCharacterSet *semicolonSet;
NSScanner *theScanner;
NSString *PROD.........
[1]保留页面
来源: 互联网 发布时间: 2014-02-18
保存页面
关于使用Eclipse调试Launcher的完美解决方法 [复制链接]
firefox7 发短消息加为好友firefox7 当前在线 阅读权限50 注册时间2010-5-24 最后登录2011-1-14 在线时间256小时 .
高级工程师
高级工程师, 积分 840, 距离下一级还需 160 积分
UID31776 精华1 帖子162 e望6 点 e币394 元 在线时间256小时 . 1#
发表于 2010-11-24 14:35 |只看该作者 |倒序浏览 |打印 本帖最后由 firefox7 于 2010-12-23 14:24 编辑
看了论坛还没有帖子解决这个问题,特写这篇教学,大家互相学习。
由于在Android源码中,很多方法、成员、类、包都被打上@hide标签,这些成员在SDK中没有公开,以至于在编译Launcher源码时最常遇到的类android.view.View的成员mScrollX无法访问。
下面说说如何解决这个问题。
1,准备好编译后的Android源码。
2,在该源码的out目录下寻找包含你所用隐藏类的jar文件,通常文件名为classes.jar。例如framework的jar文件为out\target\common\obj\JAVA_LIBRARIES\framework_intermediates\classes.jar。
3,在eclipse的Android项目中,选择项目属性->Java Build Path->Libraries->Add Library->User Library->Next-> UserLibraries进入到User Libraries管理界面,点击New新建一个User Library,比如android_framework,点击Add Jars把Jar包加入到建立的User Library中,最后点击OK就可以了。
注意:为了访问因此成员,需要改变类搜索顺序,选择项目属性->Java Build Path->Order and Export,把所建立的User Libraries移到Android SDK的上面。
这个时候你的eclipse中的错误应该已经减少,甚至没有了。
要想在模拟器上马上看效果的话,按照以下方式进行修改:
改掉原始包的名字,切记使用eclipse的重命名机制(在包名上按F2可修改),不仅是类的引用,还有很多xml文件内部的引用(如import com.android.launcher3.R;),只要重命名不错,这些都可以一次性搞定的。最后在AndroidManifest.xml文件里面,找到这句话删除掉(android:sharedUserId="android.uid.shared")。到现在为止,你就拥有了自己的Launcher了!
关于如何调试代码的问题请参考以下网址:
原帖地址:
http://blog.163.com/sxs_solo/blog/static/2633338200931385520714/
eoe地址:http://www.eoeandroid.com/thread-22210-1-1.html编译好的代码见下面这个帖子:
【FF7】共享ADW_Launcher和Launcher2已配置好的Eclipse项目源码文件
http://www.eoeandroid.com/thread-52439-1-1.html
关于使用Eclipse调试Launcher的完美解决方法 [复制链接]
firefox7 发短消息加为好友firefox7 当前在线 阅读权限50 注册时间2010-5-24 最后登录2011-1-14 在线时间256小时 .
高级工程师
高级工程师, 积分 840, 距离下一级还需 160 积分
UID31776 精华1 帖子162 e望6 点 e币394 元 在线时间256小时 . 1#
发表于 2010-11-24 14:35 |只看该作者 |倒序浏览 |打印 本帖最后由 firefox7 于 2010-12-23 14:24 编辑
看了论坛还没有帖子解决这个问题,特写这篇教学,大家互相学习。
由于在Android源码中,很多方法、成员、类、包都被打上@hide标签,这些成员在SDK中没有公开,以至于在编译Launcher源码时最常遇到的类android.view.View的成员mScrollX无法访问。
下面说说如何解决这个问题。
1,准备好编译后的Android源码。
2,在该源码的out目录下寻找包含你所用隐藏类的jar文件,通常文件名为classes.jar。例如framework的jar文件为out\target\common\obj\JAVA_LIBRARIES\framework_intermediates\classes.jar。
3,在eclipse的Android项目中,选择项目属性->Java Build Path->Libraries->Add Library->User Library->Next-> UserLibraries进入到User Libraries管理界面,点击New新建一个User Library,比如android_framework,点击Add Jars把Jar包加入到建立的User Library中,最后点击OK就可以了。
注意:为了访问因此成员,需要改变类搜索顺序,选择项目属性->Java Build Path->Order and Export,把所建立的User Libraries移到Android SDK的上面。
这个时候你的eclipse中的错误应该已经减少,甚至没有了。
要想在模拟器上马上看效果的话,按照以下方式进行修改:
改掉原始包的名字,切记使用eclipse的重命名机制(在包名上按F2可修改),不仅是类的引用,还有很多xml文件内部的引用(如import com.android.launcher3.R;),只要重命名不错,这些都可以一次性搞定的。最后在AndroidManifest.xml文件里面,找到这句话删除掉(android:sharedUserId="android.uid.shared")。到现在为止,你就拥有了自己的Launcher了!
关于如何调试代码的问题请参考以下网址:
原帖地址:
http://blog.163.com/sxs_solo/blog/static/2633338200931385520714/
eoe地址:http://www.eoeandroid.com/thread-22210-1-1.html编译好的代码见下面这个帖子:
【FF7】共享ADW_Launcher和Launcher2已配置好的Eclipse项目源码文件
http://www.eoeandroid.com/thread-52439-1-1.html
[2] 获取联网模式
来源: 互联网 发布时间: 2014-02-18
获取联网方式
ConnectivityManager cm = (ConnectivityManager)act.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo info = cm.getActiveNetworkInfo();
String typeName = info.getTypeName();//联网的方式
[3] NSScanner种参考
来源: 互联网 发布时间: 2014-02-18
NSScanner类参考
NSString *string = @"Product: Acme Potato Peeler; Cost: 0.98 73\nProduct: Chef Pierre Pasta Fork; Cost: 0.75 19\nProduct: Chef Pierre Colander; Cost: 1.27 2\n"; NSCharacterSet *semicolonSet; NSScanner *theScanner; NSString *PRODUCT = @"Product:"; NSString *COST = @"Cost:"; NSString *productName; float productCost; NSInteger productSold; semicolonSet = [NSCharacterSet characterSetWithCharactersInString:@";"]; theScanner = [NSScanner scannerWithString:string]; while ([theScanner isAtEnd] == NO) { if ([theScanner scanString:PRODUCT intoString:NULL] && [theScanner scanUpToCharactersFromSet:semicolonSet intoString:&productName] && [theScanner scanString:@";" intoString:NULL] && [theScanner scanString:COST intoString:NULL] && [theScanner scanFloat:&productCost] && [theScanner scanInteger:&productSold]) { NSLog(@"Sales of %@: $%1.2f", productName, productCost * productSold); } }
Scans the string until a given string is encountered, accumulating characters into a string that’s returned by reference.
(从当前位置开始,根据指定的字符串扫描,直到找到指定的字符串停止(不不会指定的字符串),返回从当前位置开始到指定字符串之间的字符串,并赋值给(stringValue)这个参数)
- (BOOL)scanUpToString:(NSString *)stopString intoString:(NSString **)stringValue
Scans a given string, returning an equivalent string object by reference if a match is found.
(跳过指定的字符串) stringValue中的值和string 中的一样
- (BOOL)scanString:(NSString *)string intoString:(NSString **)stringValue
最新技术文章: