当前位置:  编程技术>移动开发
本页文章导读:
    ▪Objective-C中的NSObject对象常常使用到的方法        Objective-C中的NSObject对象经常使用到的方法 /* 用于判断对象是不是参数提供的类型(参数可以是父类的class)  参数示例: [NSObject class]; */- (BOOL)isKindOfClass:(Class)aClass;/*  用于判断对象是.........
    ▪ 读取plist资料        读取plist文件   //取得mainBundle NSBundle *bundle = [NSBundle mainBundle]; //取得文件路径 NSString *plistPath = [bundle pathForResource:@"文件名" ofType:@"plist"]; //也可以写成 NSString *plistPath = [[NSBundle mainBundle] path.........
    ▪ 发通报 PendingIntent 中Intent 内容没有更新       发通知 PendingIntent 中Intent 内容没有更新 <activity android:name="SkyfileActivity" android:launchMode="singleTask" />   当我们把Activity 启动模式设置为 singleTask 之后 当我们下次 再去 用Intent 启动 这个.........

[1]Objective-C中的NSObject对象常常使用到的方法
    来源: 互联网  发布时间: 2014-02-18
Objective-C中的NSObject对象经常使用到的方法

/*
 用于判断对象是不是参数提供的类型(参数可以是父类的class) 
 参数示例: [NSObject class];
 */
- (BOOL)isKindOfClass:(Class)aClass;


/* 
 用于判断对象是不是参数提供的类型(参数不可以是父类的class) 
 参数示例: [NSObject class];
 */
- (BOOL)isMemberOfClass:(Class)aClass;


/*
 用于判断对象是否遵守了参数提供的协议 
 参数示例: @protocol(UIApplicationDelegate)
 */
- (BOOL)conformsToProtocol:(Protocol *)aProtocol;


/*
 用于判断对象是否拥有参数提供的方法 
 参数示例: @selector(test) or @selector(testById:)
 */
- (BOOL)respondsToSelector:(SEL)aSelector;  


/*
 延迟调用参数提供的方法,参数所需参数用withObject传入(类似于ActionScript3.0中的setTimeout函数)
 delay单位:秒
 */
- (void)performSelector:(SEL)aSelector withObject:(id)anArgument afterDelay:(NSTimeInterval)delay;


    
[2] 读取plist资料
    来源: 互联网  发布时间: 2014-02-18
读取plist文件

 

//取得mainBundle
NSBundle *bundle = [NSBundle mainBundle]; 

//取得文件路径
NSString *plistPath = [bundle pathForResource:@"文件名" ofType:@"plist"]; 

//也可以写成
NSString *plistPath = [[NSBundle mainBundle] pathForResource:@"文件名" ofType:@"plist"];
 
//读取到一个NSDictionary
NSDictionary *dictionary = [[NSDictionary alloc] initWithContentsOfFile:plistPath];
 
//读取到一个NSArray
NSArray *array = [[NSArray alloc] initWithContentsOfFile:plistPath];

    
[3] 发通报 PendingIntent 中Intent 内容没有更新
    来源: 互联网  发布时间: 2014-02-18
发通知 PendingIntent 中Intent 内容没有更新
<activity android:name="SkyfileActivity" 
	 	 android:launchMode="singleTask" />
   当我们把Activity 启动模式设置为 singleTask 之后 当我们下次 再去 用Intent 启动 这个 Activity 的时候 就不会去调用 onCreate方法 而是去调用onNewIntent()方法 然后把Intent中的数据传给它 , 前几天遇到的问题是  当我 发一个通知给状态栏  然后点击这个通知  自然会执行 PendingIntent 里边的Intent。  但是   在Activity那边的 onNewIntent()方法里边 得到的数据  不是最新的 也就是说 是 第一次的 以后 不管我怎么点通知 它都 是 第一次点击通知得到的数据,当以后再点击通知的时候其实 数据已经变了 但是 onNewIntent()方法总是得不到最新的数据,   无语了很久,  去 农民伯伯翻译组 发问得解    需要给 PendingIntent 加一个 FLAG

PendingIntent contentIntentBegin = PendingIntent.getActivity(
					notificationContext, 0, inStart, PendingIntent.FLAG_UPDATE_CURRENT);


   最后一个参数就是 FLAG,这个FLAG 的 意思就是:如果系统中已存在该PendingIntent对象,那么系统将保留该PendingIntent对象,但是会使用新的Intent来更新之前PendingIntent中的Intent对象数据,例如更新Intent中的Extras。这个非常有用,例如之前提到的,我们需要在每次更新之后更新Intent中的Extras数据,达到在不同时机传递给MainActivity不同的参数,实现不同的效果。

   就是 Intent里边的数据没更新而已, 很2个问题 搞了很久 才发现原来加个FLAG 就行了,有点伤不起了。!!

  代码片段
	public void showNotiMessageBegin(String message, int requestCode,
			String itemid) {
		notification = new Notification(R.drawable.skyfile_upload_noti,
				message, System.currentTimeMillis());
		if (requestCode == 1 && notification.contentIntent == null) {
			int index = itemid.lastIndexOf("/");
			final String backPath1 = itemid
					.substring(0, index == 0 ? 1 : index);
			           
			Intent inStart = new Intent(notificationContext, SkyfileActivity.class);
			inStart.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
			inStart.setData(Uri.parse(MetaDataView.class.getName()));
			inStart.putExtra(MetaDataView.BUNDLE_PATH, backPath1);
			PendingIntent contentIntentBegin = PendingIntent.getActivity(
					notificationContext, 0, inStart, PendingIntent.FLAG_UPDATE_CURRENT);
			notification.contentIntent = contentIntentBegin;
			notification.flags |= Notification.FLAG_AUTO_CANCEL;
			notification.setLatestEventInfo(notificationContext,
					UPLOATTITLE, message, contentIntentBegin);
			notificationMgr.notify(1, notification);
		} else {
			notification.contentIntent.cancel();
		}
	}


   更多关于PengingIntent 的 大家可以看看 这里。 http://www.7dot9.com/2011/04/android-pendingintent%E7%9A%84%E4%B8%80%E4%BA%9B%E5%B0%8F%E8%BF%B7%E6%83%91/

    
最新技术文章:
▪Android开发之登录验证实例教程
▪Android开发之注册登录方法示例
▪Android获取手机SIM卡运营商信息的方法
▪Android实现将已发送的短信写入短信数据库的...
▪Android发送短信功能代码
▪Android根据电话号码获得联系人头像实例代码
▪Android中GPS定位的用法实例
▪Android实现退出时关闭所有Activity的方法
▪Android实现文件的分割和组装
▪Android录音应用实例教程
▪Android双击返回键退出程序的实现方法
▪Android实现侦听电池状态显示、电量及充电动...
▪Android获取当前已连接的wifi信号强度的方法
▪Android实现动态显示或隐藏密码输入框的内容
▪根据USER-AGENT判断手机类型并跳转到相应的app...
▪Android Touch事件分发过程详解
▪Android中实现为TextView添加多个可点击的文本
▪Android程序设计之AIDL实例详解
▪Android显式启动与隐式启动Activity的区别介绍
▪Android按钮单击事件的四种常用写法总结
▪Android消息处理机制Looper和Handler详解
▪Android实现Back功能代码片段总结
▪Android实用的代码片段 常用代码总结
▪Android实现弹出键盘的方法
▪Android中通过view方式获取当前Activity的屏幕截...
▪Android提高之自定义Menu(TabMenu)实现方法
▪Android提高之多方向抽屉实现方法
▪Android提高之MediaPlayer播放网络音频的实现方法...
▪Android提高之MediaPlayer播放网络视频的实现方法...
▪Android提高之手游转电视游戏的模拟操控
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3