如何为Android写一个PhoneGap插件

如何为Android写一个PhoneGap插件,第1张

对于Android,Sencha的phonegap也是基于此方法对网页程序进行打包的,下载phonegap后,其主要包括二个文件:1、phonegap.0.9.4.jar此jar文件中包含了类DroidGap,其对Activity及WebView进行了适当的封装,可以让用户更方便地进行打包。更主要的功能是能实现的多个Webkit的plugin,通过这些plugin可以在javascript中直接调用android的一些系统功能,比如得到设备的信息如屏幕大小,系统版本号等,还有打电话,发送短信,写本地文件等一系列功能。2、phonegap.0.9.4.js此js文件作了更高层次的封装,以便于在javascript中更方便地调用所增加的plugin的功能。

许多人可能也知道,PhoneGap中针对iOS用得最多的两大插件是NativeControls和ChildBrowser,但插件安装起来有点棘手,你也无法在互联网上轻轻松松就能找到这种帮助。就拿我来说吧,我在阅读了PhoneGap的插件安装说明、进行了测试,才算弄了个明白。于是在本文中,我会介绍设置和使用NativeControls的整个过程(但这个过程同样适用于iOS源代码库中的其他任何插件),力求非常简洁扼要,连PhoneGap初学者也能明白。

我假设你已经将Xcode环境安装在了Mac机上,并进行了配置,而且熟悉最新版本的Xcode。

你要做的第一件事就是下载phonegap-plugins源代码库压缩文档 ,然后将它解压缩到你喜欢的任何文件夹。现在进入到解压缩后的文件夹,找到iPhone/NativeControls,将NativeControls.h和NativeControls.m拷贝到Xcode上的/<Project

Name>/Plugins文件夹,然后将NativeControls.js移到www文件夹中你所希望的地方。完成了这一切拷贝和粘贴后,你必须在/<Project

Name>/Supporting Files下打开PhoneGap.plist,使用Key NativeControls、Value

NativeControls和Type String,为Plugins数据添加一个新的项。最后,你的项目看来应该像这样:

现在你可以准备开始钻研代码了。你要做的第一件事是按这个顺序,将所需的Javascript文件加入到你的索引HTML源代码中。

<script

src="phonegap-1.0.0.js" type="text/javascript"

charset="utf-8"></script>

<script src="NativeControls.js"

type="text/javascript"

charset="utf-8"></script>

接下来要做的是找到你的主Javascript文件——该文件包含onDeviceReady事件集,然后把NativeControls初始化代码放在那里。在这个例子中,我们会使用TabBar组件输出这样的内容:

你可能也注意到了,我在那里使用了Glyphish

Pro图标库,你花25美元就能买到,但是一分价钱一分货,因为它对你的TabBars及更多组件来说是一个非常齐全的图标库。首先,你应该对NativeControls变量进行初始化,然后为它赋予TabBar,请使用这段代码:

nativeControls

=

window.plugins.nativeControls

nativeControls.createTabBar()

然后你可以开始使用该JSON结构,为标签(tab)创建一个图标/按钮:

nativeControls.createTabBarItem(

"books",

"Books",

"/www/tabs/book.png",

{"onSelect": function()

{

// Do something

}}

)

第一项是名称变量,第二项是图标标签,第三项是图标路径,最后一项是每当图标点击,就应该被调用的函数。要注意:你应该插入与项目文件夹相对应的图标路径!至于视网膜图标,我确实鼓励你仔细看一下关于如何组织视网膜图标的这番解释(http //stackoverflow com/questions/3666963/iphone-4-tab-bar-icons/3667247#3667247)。你添加了想为TabBar添加的所有图标后,应该在屏幕中显示它。然后开始放置图标(图标按照你在该函数中声明的次序来放置),最后指定应用程序开启后,处于活动状态的TabBar,就像这样:

nativeControls.showTabBar()

nativeControls.showTabBarItems("books",

"finished",

"about")

nativeControls.selectTabBarItem("books")

如果你希望只要使用这些关键字作为图标项,就能够在苹果在其软件开发包(SDK)中默认情况下包含的预定义TabBar图标之间进行选择:

-

tabButton:More

- tabButton:Favorites

- tabButton:Featured

-

tabButton:TopRated

- tabButton:Recents

- tabButton:Contacts

-

tabButton:History

- tabButton:Bookmarks

- tabButton:Search

-

tabButton:Downloads

- tabButton:MostRecent

-

tabButton:MostViewed

谨记:标签将无法使用,因为这些图标会覆盖标签,但是你应该在标签项上放置些什么东西,否则它无法使用。

我把整个源代码上传到了我的Gist,你可以在Example

of NativeControls in PhoneGap – Gist 中仔细查看。

完成了这些艰难的工作后,你可以准备编译应用程序、测试它了。如果你正确遵照了上面的 *** 作步骤,那么应该一切顺利。转载仅供参考,版权属于原作者。祝你愉快,满意请采纳哦

创建项目

cordova create 文件夹名字 包名 应用名字

cordova create Myproj com.myproj.jpush MyTestProj

添加平台

cd Myproj :不进行这一步可能会出现[RangeError:Maximum call stack size exceeded]

cordova platform add android

Android使用PhoneGap/Cordova CLI自动安装

使用 phonegap 或者 cordova cli 添加插件(建议在git客户端下使用,在windows 的cmd界面下 该命令提示git command line tool 不可用):

cordova plugin a com/jpush/jpush-phonegap-plugin.git

添加device插件,部分API需要根据平台进行调用,需添加org.apache.cordova.device插件

cordova plugin add org.apache.cordova.device

修改[your project]/plugins/android.json生成脚本的JPUSH_APPKEY字段

"xml": "<meta-data android:name=\"JPUSH_APPKEY\" android:value=\"your appkey in JPush Portal\" />",

执行 cordova build android 使修改的JPUSH_APPKEY写入AndroidManifest.xml文件

温馨提示:如果使用eclipse来生成安装包,步骤2与步骤3可省略。直接在AndroidManifest.xml文件中修改JPUSH_APPKEY即可


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11593056.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存