当前位置: 编程技术>移动开发
本页文章导读:
▪【Cordova2.9】 本地通报Notification插件开发 【Cordova2.9】 本地通知Notification插件开发
本文目的:通过一个简单的本地通知插件开发来熟悉PhoneGap插件开发流程
PhoneGap(Cordova)是一个用来搭起js & html与原生Android沟通的桥梁,在phoneGap中.........
▪ UIScrollView的touchesBegan跟touchesEnd UIScrollView的touchesBegan和touchesEnd
[iOS Dev] UIScrollView的touchesBegan和touchesEnd
2012 年 04 月 22 日 by hsin
touchesBegan跟touchedEnd沒有提供給UIScrollViewDelegate 所以要自己建立一個繼承自UIScrollView的class 重.........
▪ java2个日期差 java2个日期差!
写道
pattern 格式需要跟 sf.parse(“2013/07/08 9:00:00”); 方法内的参数 格式一致 / 或者 - 要一致 否则会出现 java.text.ParseException: Unparseable date 异常
n = "yyyy/MM/dd hh:mm:ss";
SimpleDa.........
[1]【Cordova2.9】 本地通报Notification插件开发
来源: 互联网 发布时间: 2014-02-18
【Cordova2.9】 本地通知Notification插件开发
本文目的:通过一个简单的本地通知插件开发来熟悉PhoneGap插件开发流程
PhoneGap(Cordova)是一个用来搭起js & html与原生Android沟通的桥梁,在phoneGap中,所有的js与原生android代码交互都通过插件机制完成。官方发布的phoneGap中已经提供了一些常用的插件,但这些插件在实际应用中还远远不够,仍然需要自行扩展大量的插件来满足应用的需求。在phoneGap中,开发一个插件是一件相当简单的事情,在本文提到的本地通知插件中,包含了一个send函数,用来调用Android原生的Notification在任务栏发出通知信息,该函数接收的JsonArray格式为[title,text],即通知的标题和内容信息。
后台插件类代码为:
public class NotificationPlugin extends CordovaPlugin { @Override public boolean execute(String action, JSONArray args, CallbackContext callbackContext) throws JSONException { if ("send".equals(action)) { NotificationManager manager = (NotificationManager) this.cordova .getActivity().getSystemService( Context.NOTIFICATION_SERVICE); String title = args.getString(0); String text = args.getString(1); System.out.println("需要发送的信息..." + text); Notification notification = new Notification(R.drawable.icon, text, System.currentTimeMillis()); notification.setLatestEventInfo(this.cordova.getActivity(), title, text, PendingIntent.getActivity(this.cordova.getActivity(), 0, this.cordova.getActivity().getIntent(), 0)); manager.notify(1, notification); return true; } else { return false; } } }
将该插件注册给PhoneGap:
<feature name="Notify"> <param name="android-package" value="org.dylan.phonegap.plugins.NotificationPlugin"/> </feature>
前台的插件注入代码为:
(function(cordova) { var define = cordova.define; define("cordova/plugin/notify",function(require, exports, module){ var argscheck = require('cordova/argscheck'), exec = require('cordova/exec'); exports.send=function(message,successCB,failCB){ argscheck.checkArgs('AFF', 'notify.send', arguments); console.log("send notification["+message[1]+"]"); if (!message) { failCB && failCB("请输入要通知的信息."); } else { exec(successCB, failCB, "Notify", "send", message); } }; }); cordova.addConstructor(function() { if (!window.plugins) { window.plugins = {}; } console.log("将插件注入cordova..."); window.plugins.notify = cordova.require("cordova/plugin/notify"); console.log("注入结果:" + typeof(window.plugins.notify)); }); })(cordova);
在应用中使用该插件的示例如下:
var msg = ["新消息","消息内容"]; window.plugins.notify.send(msg,function(){ alert("成功"); },function(msg){ alert(msg || "失败"); });
[2] UIScrollView的touchesBegan跟touchesEnd
来源: 互联网 发布时间: 2014-02-18
UIScrollView的touchesBegan和touchesEnd
[iOS Dev] UIScrollView的touchesBegan和touchesEnd
2012 年 04 月 22 日 by hsin
touchesBegan跟touchedEnd沒有提供給UIScrollViewDelegate
所以要自己建立一個繼承自UIScrollView的class
重寫這兩個method
▼ myScrollView.h
1
2
@interface myScrollView : UIScrollView
@end
▼ myScrollView.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
-(void) touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{
[super touchesBegan:touches withEvent:event];
if ( !self.dragging )
{
[[self nextResponder] touchesBegan:touches withEvent:event];
}
}
-(void) touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event{
[super touchesEnded:touches withEvent:event];
if ( !self.dragging )
{
[[self nextResponder] touchesEnded:touches withEvent:event];
}
}
之後建立UIScrollView就是用myScrollView建立 即可使用這兩個method
1
myScrollView *contentScrollView = [[myScrollView alloc] init];
[3] java2个日期差
来源: 互联网 发布时间: 2014-02-18
java2个日期差!
写道
pattern 格式需要跟 sf.parse(“2013/07/08 9:00:00”); 方法内的参数 格式一致 / 或者 - 要一致 否则会出现 java.text.ParseException: Unparseable date 异常
n = "yyyy/MM/dd hh:mm:ss"; SimpleDateFormat sf = new SimpleDateFormat(pattern); try { Date inventoryDate = sf.parse("2013/07/08 9:00:00"); Date nowDate = sf.parse("2013/07/08 9:00:00"); long diff =nowDate.getTime()- inventoryDate.getTime(); diff = diff / 1000 / 60 / 60 / 24; android.util.Log.v("====",diff+" <<<"); } catch (ParseException e) { e.printStackTrace(); }
最新技术文章: