- 浏览: 133737 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
devilyard:
msdghs 写道JS中没有continue,直接return ...
js for循环,符合某一条件则跳过并进行下次循环 -
msdghs:
JS中没有continue,直接return fasle就行
js for循环,符合某一条件则跳过并进行下次循环 -
LD_21:
js for循环,符合某一条件则跳过并进行下次循环 -
DanielHan:
在avd上测试,不会出现这种情况?
android EditText控件自动获取焦点弹出键盘解决方法 -
Mr.Joe:
logoyang88 写道问题解决了吗,字体颜色怎么修改呢,请 ...
浏览器input输入框修改黄色背景色
worklight项目调原生方法
在sencha touch开发中有些功能实现比较困难,或是某些功能必须使用Android原生代码。这时就需要用sencha touch代码调用Android代码了,可以通过phonegap实现。举例如下(微信分享功能):
首先在Android项目src下添加包com.share,包中新建文件ShareWeiXin.java
文件代码如下
在res-xml下的config.xml中添加:
然后在sencha 代码中调用,这里只例句下调用微信初始化方法:
worklight项目调原生页面
http://geoffrey-qiao.iteye.com/blog/2059500
在sencha touch开发中有些功能实现比较困难,或是某些功能必须使用Android原生代码。这时就需要用sencha touch代码调用Android代码了,可以通过phonegap实现。举例如下(微信分享功能):
首先在Android项目src下添加包com.share,包中新建文件ShareWeiXin.java
文件代码如下
package com.share; //import org.apache.cordova.CallbackContext; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.File; import java.net.URL; import org.apache.cordova.CordovaArgs; import org.apache.cordova.api.CallbackContext; import org.apache.cordova.api.CordovaPlugin; //import org.apache.cordova.CordovaPlugin; import org.json.JSONException; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.os.Environment; import android.widget.Toast; import com.tencent.mm.sdk.openapi.IWXAPI; import com.tencent.mm.sdk.openapi.SendMessageToWX; import com.tencent.mm.sdk.openapi.WXAPIFactory; import com.tencent.mm.sdk.openapi.WXImageObject; import com.tencent.mm.sdk.openapi.WXMediaMessage; import com.tencent.mm.sdk.openapi.WXTextObject; import com.tencent.mm.sdk.openapi.WXWebpageObject; public class ShareWeiXin extends CordovaPlugin { private IWXAPI api; private static String APP_ID = "wx6cc5eb610de5f0b4"; private static final int THUMBWIDTH_SIZE = 100; private static final int THUMBHEIGHT_SIZE = 150; private static final String SDCARD_ROOT = Environment .getExternalStorageDirectory().getAbsolutePath(); @Override public boolean execute(String action, CordovaArgs args, CallbackContext callbackContext) throws JSONException { // TODO Auto-generated method stub if (action.equals("init")) { init(); return true; } else if (action.equals("openWX")) { openWX(); return true; }else if (action.equals("share")) { String message = args.getString(0); String description = args.getString(1); String url = args.getString(2); share(message, description, url); return true; } return false; } private void init() { System.out.println("微信初始化"); api = WXAPIFactory.createWXAPI(this.cordova.getActivity(), APP_ID, false); api.registerApp(APP_ID); } private void openWX() { api.openWXApp(); } private void share(String text, String description, String url) { System.out.println("微信分享..."); System.out.println("微信分享..." + url); // String url = "http://images.liqucn.com/h004/h01/img201108170900460.jpg"; try { WXImageObject imgObj = new WXImageObject(); imgObj.setImagePath(url); WXMediaMessage msg = new WXMediaMessage(); msg.mediaObject = imgObj; Bitmap bmp = BitmapFactory.decodeFile(url); bmp = compressImage(bmp); Bitmap thumbBmp = Bitmap.createScaledBitmap(bmp, THUMBWIDTH_SIZE, THUMBHEIGHT_SIZE, true); bmp.recycle(); msg.thumbData = Util.bmpToByteArray(thumbBmp, true); SendMessageToWX.Req req = new SendMessageToWX.Req(); req.transaction = buildTransaction("img"); req.message = msg; req.scene = SendMessageToWX.Req.WXSceneSession; api.sendReq(req); } catch (Exception e) { System.out.println(e); } } private String buildTransaction(final String type) { return (type == null) ? String.valueOf(System.currentTimeMillis()) : type + System.currentTimeMillis(); } //图片大小压缩 public static Bitmap compressImage(Bitmap image) { ByteArrayOutputStream baos = new ByteArrayOutputStream(); image.compress(Bitmap.CompressFormat.JPEG, 100, baos);//质量压缩方法,这里100表示不压缩,把压缩后的数据存放到baos中 int options = 100; while ( baos.toByteArray().length / 1024>100) { //循环判断如果压缩后图片是否大于100kb,大于继续压缩 baos.reset();//重置baos即清空baos image.compress(Bitmap.CompressFormat.JPEG, options, baos);//这里压缩options%,把压缩后的数据存放到baos中 options -= 10;//每次都减少10 } ByteArrayInputStream isBm = new ByteArrayInputStream(baos.toByteArray());//把压缩后的数据baos存放到ByteArrayInputStream中 Bitmap bitmap = BitmapFactory.decodeStream(isBm, null, null);//把ByteArrayInputStream数据生成图片 return bitmap; } }
在res-xml下的config.xml中添加:
<plugin name="share" value="com.share.ShareWeiXin" />
然后在sencha 代码中调用,这里只例句下调用微信初始化方法:
//微信初始化 cordova.exec(function(){ //调用微信分享 console.log("初始化微信成功..."); }, function(error){ console.log("初始化微信失败..."); }, 'share', 'init', []);
worklight项目调原生页面
http://geoffrey-qiao.iteye.com/blog/2059500
发表评论
-
Webview缓存处理
2017-07-11 09:01 1534之前做了一个功能,用WebView加载一个网页,网页里有登录等 ... -
Android 拨打电话功能
2016-04-06 17:27 429Android拨打电话有两种方式,一种直接拨打,一种跳到拨号页 ... -
WebView中无法下载问题解决方法
2015-11-09 11:43 5376在webview中有时会遇到需要下载文件,这个时候点击下载没有 ... -
Android intent.setFlags方法中的参数值含义
2015-08-20 10:21 719一. intent.setFlags()方法中的参数值含义: ... -
Android再按一次退出程序实现方法
2015-08-14 15:34 736private long exitTime = 0; ... -
Android计时器
2015-08-13 10:08 622private Handler handler = ne ... -
Android手机调试log不全
2015-07-29 12:32 1381今天弄了个新手机 华为mate7,调试时候log很少,明显不全 ... -
Android去除标题栏及自定义title栏
2015-06-12 18:13 3883一、Android去标题栏方法: 1、针对单个页面进入页面的 ... -
android使用keystore打包错误解决方法
2015-05-29 11:02 1784打包时报如下错误: Export aborted becau ... -
动态设置控件宽高
2015-05-26 15:38 756Android中有的控件可以直接使用setHeight或是se ... -
android 获取屏幕宽高、密度、dpi
2015-05-26 15:33 1205获取屏幕宽高、密度、dpi DisplayMetrics ... -
worklight-FWLST1040E: iphone build failed
2015-03-19 14:23 1042使用worklight生成iphone环境时报错: [2015 ... -
Android httpClient Get&Post方法
2015-02-09 10:54 589GET方法: //先将参数放入List,再对参数进行URL ... -
Android GestureDetector滑动监听事件
2015-01-29 17:10 3353项目中需要做滑动监听 ... -
sencha touch list infinite 属性
2014-12-29 16:26 656sencha touch list 1 默认每一项的高度 ... -
Android 自定义dialog
2014-12-12 10:56 2313自定义dialog分别需要样式、自定义布局、控制显示3部分 ... -
Android 键盘弹出\收起及监听
2014-12-10 11:09 53321、键盘显示则隐藏,没有显示则弹出 InputMethod ... -
Android使用include后仍然报错java.lang.NullPointerException
2014-12-09 18:44 1314今天在使用include时控制引入的layout控件总是报空指 ... -
Android 延迟执行方法
2014-12-15 13:25 937方法一: Timer timer = new Timer( ... -
Android ImageView显示网络图片
2014-12-05 13:19 1942String url = "http://192 ...
相关推荐
可拷贝到MyApp文件夹下直接运行(使用服务器端PHP脚本文件的代码示例在运行时需要为MyApp文件夹建立网站服务器、或者将MyApp文件夹下的所有子文件夹及其中文件拷贝至某个网站服务器中),MyApp文件夹下包括了所有...
本文通过对 Sencha Touch 框架的介绍,使读者对该框架有一定的了解,并通过一些代码示例给用户更详细直观的对 Sencha Touch 框架功能的了解。 ExtJS ExtJS 是为 web 开发人员提供的基于 JavaScript 和 web 标准快速...
SenchaTouch权威指南的代码示例,在本机亲自测试通过,是学习的好材料
SenchaTouch权威指南》代码清单
sencha touch中文翻译文档,包含sencha touch入门基础和一些控件的使用说明
针对sencha touch 2.3中datepicker的汉化
内含《SenchaTouch权威指南》源代码 及多个senchatouch + phonegap实例代码
Sencha Touch开发的项目《般若人生》源码
sencha touch 折叠list
sencha touch 应用案例 sencha touch 案例 一个完整的sencha touch 应用案例 移动WEB社区开发的日志案例 非常不错!
讲其解压到Tomcat的webAPP目录下,即可访问
sencha-touch grid 最新的代码
MAC OS 下sencha touch +cordova 开发环境配置。可以将H5 hybird 应用打包成IOS 应用。
Sencha Touch 2入门教程之MVC 讲解如何使用 Sencha Touch 2 mvc模式来开发一个登录界面
sencha touch 2.4.0最新版 原版包下载
sencha touch list demo
sencha touch cookbook 英文高清文字版 !
《Sencha Touch 权威指南》陆凌牛著的源码包