zoukankan      html  css  js  c++  java
  • libgdx robovm bmob IOS SDK的绑定

    bmob是一个后端提供商,为用户提供

    数据服务

    支持丰富的数据类型,灵活方便的增删改查,可视化的数据操作,安全的角色和ACL管理,多表关联处理,数据的批量处理,本地数据缓存,开发者们无需关注服务器后端,就可以实现多平台的同步开发。

    • 文件服务
    • 文件服务允许上传任何的文件类型,支持分片断点续传,此外,针对移动端对图片业务的需求,还提供了生成高压缩比的缩略图服务。
    • 推送服务
    • 提供了Android和iOS两个版本的推送服务,采用Websocket保持长连接,稳定性更好,目前,64GB的单机能够支撑600万的用户长连接。
    • 扩展服务
      • 提供APP官网、计划任务、地理位置、云端代码等扩展服务,确保您的个性化业务逻辑能够在云端更好的运转。

        现在来介绍怎么使用IOS绑定版本的bmob sdk.

        1.首先配置环境

        在robovm.xml里面写入配置:
        <framework>CoreLocation</framework>
            <framework>Security</framework>
             <framework>CoreGraphics</framework>
            <framework>MobileCoreServices</framework>
            <framework>CFNetwork</framework>
            <framework>CoreTelephony</framework>
            <framework>SystemConfiguration</framework>
            <framework>AVFoundation</framework>
             <framework>MediaPlayer</framework>
            <framework>BmobSDK</framework>

        <libs>
              <lib>icucore</lib>   
              <lib>sqlite3</lib>  
              <lib>z.1.2.5</lib>  
          </libs>


      增删改查:
    • private void add() {
      		// bmob
      		Bmob.registerWithAppKey("34b7704a3b372576a732b7675abce9e8");
      		// Gdx.app.log("xxx", "showInterAd");
      		System.out.println("showInterAd");
      		final BmobObject gameScore = new BmobObject("GameScore");
      		gameScore.setObject(new NSString("小明"), "playerName");
      		gameScore.setObject(NSNumber.valueOf(100), "playerScore");
      		gameScore.setObject(NSNumber.valueOf(true), "cheatMode");
      
      		gameScore.saveInBackgroundWithResultBlock(new BmobBooleanResultBlock() {
      			@Override
      			public void invoke(boolean isSuccessful, NSError error) {
      				if (isSuccessful) {
      					System.out.println("success");
      					System.out.println(gameScore.getObjectId());
      					System.out.println(Bmob.getServerTimestamp());
      					query();
      				} else {
      					System.out.println(error.getErrorCode() + error.getDomain());
      				}
      			}
      		});
      		System.out.println("showInterAd ---- end");
      	}
      
      	private void query() {
      		BmobQuery mBmobQuery = new BmobQuery("GameScore");
      		mBmobQuery.getObjectInBackgroundWithId("bad60c9b08",
      				new BmobObjectResultBlock() {
      
      					@Override
      					public void invoke(BmobObject object, NSError error) {
      						String name = object.objectForKey("playerName")
      								.toString();
      						System.out.println("name = " + name);
      
      						change(object);
      					}
      				});
      	}
      
      	private void change(final BmobObject object) {
      		BmobObject obj = BmobObject.objectWithoutDatatWithClassName(
      				object.getClassName(), object.getObjectId());
      		obj.setObject(new NSString("改过的小明"), "playerName");
      		obj.updateInBackgroundWithResultBlock(new BmobBooleanResultBlock() {
      
      			@Override
      			public void invoke(boolean isSuccessful, NSError error) {
      				// TODO Auto-generated method stub
      				System.out.println("修改成功....");
      
      				delete(object);
      			}
      		});
      	}
      
      	private void delete(BmobObject object) {
      		object.deleteInBackgroundWithBlock(new BmobBooleanResultBlock() {
      
      			@Override
      			public void invoke(boolean isSuccessful, NSError error) {
      				System.out.println("删除成功....");
      			}
      		});
      	}

      代码地址:https://github.com/tianqiujie/robovm-ios-bindings

    数据服务
  • 相关阅读:
    awk线程号
    std::string::substr函数
    计数器表的简单使用
    vim + oh-my-zsh + git搭建开发环境
    <<代码大全>>阅读笔记之二 变量名的力量
    <<代码大全>>阅读笔记之一 使用变量的一般事项
    压测工具ab的简单使用
    nginx配置文件详解
    numba初体验
    Linux查找文件内容小技巧
  • 原文地址:https://www.cnblogs.com/tqj-zyy/p/4559741.html
Copyright © 2011-2022 走看看