- 浏览: 137395 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
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 1580之前做了一个功能,用WebView加载一个网页,网页里有登录等 ... -
Android 拨打电话功能
2016-04-06 17:27 466Android拨打电话有两种方式,一种直接拨打,一种跳到拨号页 ... -
WebView中无法下载问题解决方法
2015-11-09 11:43 5547在webview中有时会遇到需要下载文件,这个时候点击下载没有 ... -
Android intent.setFlags方法中的参数值含义
2015-08-20 10:21 775一. intent.setFlags()方法中的参数值含义: ... -
Android再按一次退出程序实现方法
2015-08-14 15:34 775private long exitTime = 0; ... -
Android计时器
2015-08-13 10:08 653private Handler handler = ne ... -
Android手机调试log不全
2015-07-29 12:32 1431今天弄了个新手机 华为mate7,调试时候log很少,明显不全 ... -
Android去除标题栏及自定义title栏
2015-06-12 18:13 3927一、Android去标题栏方法: 1、针对单个页面进入页面的 ... -
android使用keystore打包错误解决方法
2015-05-29 11:02 1853打包时报如下错误: Export aborted becau ... -
动态设置控件宽高
2015-05-26 15:38 791Android中有的控件可以直接使用setHeight或是se ... -
android 获取屏幕宽高、密度、dpi
2015-05-26 15:33 1246获取屏幕宽高、密度、dpi DisplayMetrics ... -
worklight-FWLST1040E: iphone build failed
2015-03-19 14:23 1090使用worklight生成iphone环境时报错: [2015 ... -
Android httpClient Get&Post方法
2015-02-09 10:54 627GET方法: //先将参数放入List,再对参数进行URL ... -
Android GestureDetector滑动监听事件
2015-01-29 17:10 3398项目中需要做滑动监听 ... -
sencha touch list infinite 属性
2014-12-29 16:26 698sencha touch list 1 默认每一项的高度 ... -
Android 自定义dialog
2014-12-12 10:56 2356自定义dialog分别需要样式、自定义布局、控制显示3部分 ... -
Android 键盘弹出\收起及监听
2014-12-10 11:09 54681、键盘显示则隐藏,没有显示则弹出 InputMethod ... -
Android使用include后仍然报错java.lang.NullPointerException
2014-12-09 18:44 1377今天在使用include时控制引入的layout控件总是报空指 ... -
Android 延迟执行方法
2014-12-15 13:25 982方法一: Timer timer = new Timer( ... -
Android ImageView显示网络图片
2014-12-05 13:19 1989String url = "http://192 ...
相关推荐
可拷贝到MyApp文件夹下直接运行(使用服务器端PHP脚本文件的代码示例在运行时需要为MyApp文件夹建立网站服务器、或者将MyApp文件夹下的所有子文件夹及其中文件拷贝至某个网站服务器中),MyApp文件夹下包括了所有...
2. **示例代码**:包含许多实际应用的例子,展示了如何在项目中使用Sencha Touch的各种功能。 3. **快速入门指南**:针对初学者的教程,引导他们快速上手Sencha Touch的开发环境和基本操作。 4. **用户手册**:...
这些插件的JavaScript接口可以在你的Sencha Touch应用中调用。 8. **打包发布**:完成开发和测试后,可以使用Eclipse的Export功能生成APK文件,进行签名和优化。然后,你可以将APK上传到Google Play Store或其他...
5. **config.xml**:在Sencha Touch中,这个文件可能用于配置应用程序的元数据,比如应用的名称、版本、图标、启动画面等,通常是针对PhoneGap或Cordova这样的混合应用开发环境。 6. **resource**:这个文件夹可能...
PhoneGap和Sencha Touch是两种在移动应用开发中广泛使用的框架,它们的结合可以让你创建跨平台的原生感观的Android应用程序。本教程将深入探讨如何利用PhoneGap和Sencha Touch 2.0来构建Android应用。 PhoneGap,现...
1. **安装与设置**:如何下载Sencha Touch库,如何在项目中引入,以及配置开发环境,包括HTML、CSS和JavaScript的基础知识。 2. **架构与模型**:解释Sencha Touch的基本架构,如MVC模式,以及如何定义和使用数据...
本文通过对 Sencha Touch 框架的介绍,使读者对该框架有一定的了解,并通过一些代码示例给用户更详细直观的对 Sencha Touch 框架功能的了解。 ExtJS ExtJS 是为 web 开发人员提供的基于 JavaScript 和 web 标准快速...
标题中的"Sencha Touch在VScode上的插件"指的是为VSCode开发的扩展,目的是为了在VSCode环境中更好地支持Sencha Touch的开发工作。这样的插件通常会提供代码提示、自动完成、错误检查、格式化等特性,提升开发效率。...
SenchaTouch权威指南的代码示例,在本机亲自测试通过,是学习的好材料
在深入探讨《般若人生》项目的源码之前,我们先来了解一下Sencha Touch的核心特性: 1. **跨平台兼容性**:Sencha Touch支持iOS、Android、BlackBerry等主流移动操作系统,通过HTML5、CSS3和JavaScript实现原生般的...
5. 触摸事件处理:讲解在Sencha Touch中如何响应用户的触摸操作。 6. 数据管理:介绍如何使用数据包(Data Package)来管理应用中的数据。 7. 动画与过渡效果:展示如何使用Sencha Touch提供的动画效果来增强用户...
在登录场景中,控制器会监听登录按钮的点击事件,获取输入框的值,然后调用模型的同步方法,将数据发送到服务器进行验证。如果验证成功,可以跳转到下一个页面;如果失败,可以显示错误提示。 实现Sencha Touch登录...
在“sencha touch list demo”中,我们主要关注的是Sencha Touch中的列表(List)组件,这是一个核心且常用的组件,用于展示数据集合。 1. **Sencha Touch 框架概述** Sencha Touch 是一个基于JavaScript的框架,...
SenchaTouch权威指南》代码清单
4. **初始化图表**:在Sencha Touch 的控制器(Controller)中,当数据加载完成后,利用FusionCharts的API创建图表实例。你需要指定图表类型、宽度、高度、数据源以及容器ID。 ```javascript var chart = new ...
Sencha Touch 2是一款专为移动设备设计的前端框架,它允许开发者构建功能丰富的、响应式的Web应用程序,可运行在iOS、Android等多平台。在本教程中,我们将深入探讨Sencha Touch 2中的MVC(Model-View-Controller)...
在Sencha Touch 2.4.0版本中,有几个关键的知识点值得关注: 1. **性能优化**:2.4.0版本针对移动设备的性能进行了优化,减少了内存占用和渲染时间,提高了应用的启动速度和整体用户体验。 2. **新UI组件**:此...
8. **模板与渲染**:Sencha Touch支持使用模板(Template)来动态生成HTML,这在创建复杂视图时非常有用,例如在列表中显示城市信息。 9. **路由与导航**:如果项目涉及多页面或组件间的导航,那么可能使用到了路由...