Bmob 开发 Android程序快速入门 11 其他功能

小编 2026-07-12 阅读:1229 评论:0
                         Bmob 开发 Android程序快速入门 11 其他功能     获取服务器时间 在Bmob对象中提供了一个静态方法,用于获取服务器时间。 B...

                         Bmob 开发 Android程序快速入门 11 其他功能

 

 

获取服务器时间

在Bmob对象中提供了一个静态方法,用于获取服务器时间。

Bmob.getServerTime(MainActivity.this, new GetServerTimeListener() {
    @Override
    public void onSuccess(long time) {
        // TODO Auto-generated method stub
        SimpleDateFormat formatter = new SimpleDateFormat(
                \"yyyy-MM-dd HH:mm\");
        String times = formatter.format(new Date(time * 1000L));
        toast(\"当前服务器时间为:\" + times);
    }

    @Override
    public void onFailure(int code, String msg) {
        // TODO Auto-generated method stub
        toast(\"获取服务器时间失败:\" + msg);
    }
});

 

短信服务

由于Bmob官方对外提供的服务都是免费的,而短信服务产生的费用我们无法把控,因此短信服务的功能我们没有直接对外提供,而主要针对有需要的合作客户。如果你有这方面的需要,可以联系我们的技术客服琪琪(QQ:2395453054)。

短信服务的功能包括:

  • 短信验证码服务(注册和找回密码等);
  • 短信模板服务(需要你先设定短信模板,方便运营商审核,不支持法律禁止或者与政策相违背的短信服务);
  • 可自定义短信后缀,如“尊敬的*,你购买的商品已经在快递中,请注意查收。【Bmob快递】”,其中Bmob快递就是短信后缀,可以替换为你的公司名称。

 

云端代码的调用

很多时候,单纯的前端代码是不能完成全部事情的,一些重要和复杂的业务逻辑还是希望能够在服务端中执行。比如:对比较大量的比赛数据进行排序,对某个网站进行资料采集和处理,获取用户的IP信息,等等。Bmob不仅提供了云端存储,还开放了云端的业务逻辑代码功能,也就是云端代码。

相关云端代码的使用,大家可以参考开发文档: http://docs.bmob.cn/cloudcode/developdoc/index.html?menukey=develop_doc&key=develop_cloudcode

云端代码的执行有多种方法:

其中,在SDK中调用云端代码的方法如下:

AsyncCustomEndpoints ace = new AsyncCustomEndpoints();
//第一个参数是上下文对象,第二个参数是云端代码的方法名称,第三个参数是上传到云端代码的参数列表(JSONObject cloudCodeParams),第四个参数是回调类
ace.callEndpoint.callEndpoint(MainActivity.this, cloudCodeName, params, 
    new CloudCodeListener() {
            @Override
            public void onSuccess(Object object) {
                // TODO Auto-generated method stub
                toast(\"云端usertest方法返回:\" + object.toString());
            }
            @Override
            public void onFailure(int code, String msg) {
                // TODO Auto-generated method stub
                toast(\"访问云端usertest方法失败:\" + msg);
            }
        });

 

地理位置

Bmob允许用户根据地球的经度和纬度坐标进行基于地理位置的信息查询。通过在BmobObject的查询中添加一个BmobGeoPoint的对象查询,你就可以实现轻松查找出离当前用户最接近的信息或地点的功能。

创建地理位置对象

首先需要创建一个BmobGeoPoint对象。例如,创建一个东经116.39727786183357度,北纬39.913768382429105度的BmobGeoPoint对象:

BmobGeoPoint point = new BmobGeoPoint(116.39727786183357, 39.913768382429105);

查询地理位置信息

现在,你的数据表中有了一定的地理坐标对象的数据,这样可以测试找出最接近某个点的信息了。你可以使用BmobQuery对象的addWhereNear方法来这样做:

BmobQuery<Person> bmobQuery = new BmobQuery<Person>();
bmobQuery.addWhereNear(\"gpsAdd\", new BmobGeoPoint(112.934755, 24.52065));
bmobQuery.setLimit(10);    //获取最接近用户地点的10条数据
bmobQuery.findObjects(this, new FindListener<Person>() {
    @Override
    public void onSuccess(List<Person> object) {
        // TODO Auto-generated method stub
        toast(\"查询成功:共\" + object.size() + \"条数据。\");
    }
    @Override
    public void onError(int code, String msg) {
        // TODO Auto-generated method stub
        toast(\"查询失败:\" + msg);
    }
});

要限制查询指定距离范围的数据可以使用addWhereWithinKilometersaddWhereWithinMilesaddWhereWithinRadians方法。

要查询一个矩形范围内的信息可以使用addWhereWithinGeoBox来实现:

BmobGeoPoint southwestOfSF = new BmobGeoPoint(116.10675, 39.711669);
BmobGeoPoint northeastOfSF = new BmobGeoPoint(116.627623, 40.143687);
BmobQuery<Person> query = new BmobQuery<Person>();
query.addWhereWithinGeoBox(\"gpsAdd\", southwestOfSF, northeastOfSF);
query.findObjects(this, new FindListener<Person>() {
    @Override
    public void onSuccess(List<Person> object) {
        // TODO Auto-generated method stub
        toast(\"查询成功:共\" + object.size() + \"条数据。\");
    }
    @Override
    public void onError(int code, String msg) {
        // TODO Auto-generated method stub
        toast(\"查询失败:\" + msg);
    }
});

注意事项 目前有几个需要注意的地方:

  1. 每个BmobObject数据对象中只能有一个BmobGeoPoint对象。

  2. 地理位置的点不能超过规定的范围。纬度的范围应该是在-90.0到90.0之间。经度的范围应该是在-180.0到180.0之间。如果您添加的经纬度超出了以上范围,将导致程序错误。

 

自动更新组件

Bmob为大家提供了应用的自动更新组件,使用这个组件可以快速方便实现应用的自动升级功能。 详细的使用操作可以参考文档:http://docs.bmob.cn/android/autoupdate/index.html?menukey=otherdoc&key=autoupdate

 

希望对你有帮助。

 

 

版权声明

本文仅代表作者观点,不代表百度立场。
本文系作者授权百度百家发表,未经许可,不得转载。

热门文章
  • Sequential Monte Carlo Methods (SMC) 序列蒙特卡洛/粒子滤波/Bootstrap Filtering

    Sequential Monte Carlo Methods (SMC) 序列蒙特卡洛/粒子滤波/Bootstrap Filtering
    Problem Statement 我们考虑一个具有马尔可夫性质、非线性、非高斯的状态空间模型(State Space Model):对于一个时间序列上的观测结果{yt,t∈N}\\{ y_t , t \\in N \\}{yt​,t∈N},我们认为每个观测结果yty_tyt​的生成依赖于一个无法直接观察的隐变量xt∈{xt,t∈N}x_t \\in \\{x_t , t \\in N \\}xt​∈{xt​,t∈N},即:p(...
  • 机房智能化温湿度解决方式之POE供电以太网温湿度传感器

    机房智能化温湿度解决方式之POE供电以太网温湿度传感器
    机房智能化温湿度解决方式之POE供电以太网温湿度传感器 北京盈创力和电子科技有限公司 智能型TCP网口温湿度记录仪 北京IP网络温湿度记录仪厂家,北京盈创力和 北京智能型TCP网口温湿度记录仪IP网络温湿度记录仪是一种新型的基于TCP/IP协议双绞线以太网标准温湿度采集模块,利用它可以实现现场温度值、相对湿度值的采集,同时利用其自身的RJ45通信接口可以方便地和机房监控主机或交换机集线器进行联网。 工作于-40℃~85℃工业级带...
  • Hive 系统函数及示例

    Hive 系统函数及示例
    查看所有系统函数 show functions; 函数分类 内置函数【系统函数】 数学函数: floor、round、ceil、cos、log2等 字符串函数: length、reverse、trim、lower、get_json_object、repeat等 收集函数: size 转换函数: cast 日期函数: year、month、datediff、date、date_add等 条件函数: coalesce、case…w...
  • CSRF的原理和防范措施

    CSRF的原理和防范措施
    a)攻击原理:i.用户C访问正常网站A时进行登录,浏览器保存A的cookieii.用户C再访问攻击网站B,网站B上有某个隐藏的链接或者图片标签会自动请求网站A的URL地址,例如表单提交,传指定的参数iii.而攻击网站B在访问网站A的时候,浏览器会自动带上网站A的cookieiv.所以网站A在接收到请求之后可判断当前用户是登录状态,所以...
  • HTTP状态保持的原理

    HTTP状态保持的原理
    a)在用户登录之后,浏览器返回响应的时候会在响应中添加上cookieb)浏览器接收到cookie之后会自动保存c)当用户再次请求同一服务器中的其他网页的时候,浏览器会自动带上之前保存的cookied)服务接收到请求之后可以请 request 对象中取到cookie 判断当前用户是否登录  Http是无状态的,就是连接时数据互通,关闭后...
标签列表