您的位置:首页 >  新闻中心 > 云通讯公告
  云通讯公告
 

不需要搭后台,通过Bmob轻松制作一个Android APP

来源:原创    时间:2017-11-03    浏览:0 次

怎么轻松建立一个效劳器端,制造一款归于自己的app呢?今日我们来一同学习一下!首要我们先来看看它------Bmob。

Bmob 是一个能够开发云存储的移动运用软件,给运用软件快速增加一个安全灵敏的后台办理体系,便利阅读终端保存的各种信息。针对移动运用开发的特性,Bmob还供给了主动推送效劳,能够让移动开发者将信息从效劳器直接推送到运用程序中,然后完结软件的主动更新、信息告诉等效劳。

关于许多Android/iOS个人移动开发者来说,开发一个具有网络功用的运用不是一件简略的事,不只需求购买/租借效劳器,还有必要把握一门比如Java/.net/php这类的效劳器开发言语,每开发一款移动运用程序,就有必要开发保护对应的效劳器程序。这一切关于移动开发者来说,都是一个冗长的噩梦。

怎么让移动开发者从繁琐的机械劳作中摆脱出来,将更多精力投入到移动运用程序的构思研制,然后不断提高产品质量呢?Bmob移动运用云存储途径的诞生就很好地处理了以上难题。

在Bmob途径上,只需注册一个帐号,成功后恳求创立恣意多个数据库,取得对应的Key,下载对应版别的SDK并将其嵌入到移动运用中,便能够调用存取API,进行数据的恣意操作。有了Bmob,您在5分钟内就能够学会怎么开发一个云存储的移动运用软件,给运用软件快速增加一个安全灵敏的后台办理体系,便利您阅读终端保存的各种信息。

是不是很心动啊,废话不多说,我们直接开端吧!



创立运用

首要你需求注册一个Bmob账号,注册成功之后页面是这样的:


你的应该是空白的,点击创立运用:




按操作进行即可,这儿我们挑选开发版免费的。当你创立完运用,点击所创立的运用:



你的应该只要一个数据表_User,我这儿现已创立了两个数据表,我们先翻开设置看一个非常重要的东西:



这个ID必定要留意,很重要,我们持续。页面右下角有一个文档,我们点开找到Android开发文档:





你能够快速阅读一下这儿的快速入门,接下来我们开端导入sdk,首要阐明一点我们运用Android Studio来完结开发作业,在快速入门中你会看到导入sdk的办法,我们优先挑选主动导入。



主动导入

在 Project 的 build.gradle 文件中增加 Bomb 的 maven 库房地址:


 buildscript { 
     repositories { 
         jcenter() 
     } 
     dependencies { 
         classpath     'com.android.tools.build:gradle:1.2.3' 
     } 
 } 

 allprojects { 
     repositories { 
         jcenter() 
         //Bmob的maven库房地址--必填 
         maven { url "https://raw.github.com/bmob/bmob-android-sdk/master" } 
     } 
 }
依照文档阐明来即可。接着装备AndroidManifest.xml,最终一步比较重要的是就是初始化BmobSDK了。



初始化BombSDK

在你的运用程序发动的 Activity 的 onCreate办法中初始化BombSDK:


package com.bmob.example; 
import cn.bmob.v3.Bmob; 
import android.app.Activity; 
import android.os.Bundle; 
public class MainActivity extends Activity { 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
         // TODO Auto-generated method stub 
        super.onCreate(savedInstanceState); 
         //供给以下两种办法进行初始化操作: 

        //榜首:默许初始化 
        Bmob.initialize(this, "Your Application ID"); 
        // 注:自v3.5.2开端,数据sdk内部缝合了计算sdk,开发者无需额定集成,传途径参数即可,不传默许没敞开数据计算功用 
        //Bmob.initialize(this, "Your Application ID","bmob"); 

        //第二:自v3.4.7版别开端,设置BmobConfig,答应设置恳求超时时刻、文件分片上传时每片的巨细、文件的过期时刻(单位为秒), 
        //BmobConfig config =new BmobConfig.Builder(this) 
        ////设置appkey 
        //.setApplicationId("Your Application ID") 
        ////恳求超时时刻(单位为秒):默许15s 
        //.setConnectTimeout(30) 
        ////文件分片上传时每片的巨细(单位字节),默许512*1024 
        //.setUploadBlockSize(1024*1024) 
        ////文件的过期时刻(单位为秒):默许1800s 
        //.setFileExpiration(2500) 
        //.build(); 
        //Bmob.initialize(config); 
    } 
}

当你初始化完结而且上述过程都无误的情况下你就能运用bmob啦,我们来验证一下:



当你随便在一个java类文件中写上bmob的时分就会呈现许多bmob的相关办法了,至此装备bmob现已悉数完结,接下来开端运用bmob吧!



创立数据表


我觉得bmob的一个中心就是数据的运用,就是上传数据,读取数据,也注重说一下这点,首要我们创立一个自己需求的数据表:

public class FoundData extends BmobObject {
    private String title;    
    private String describe;    
    private String phone;    
    
    public void setPhone(String phone) {
        this.phone = phone;
    }    
        
    public void setDescribe(String describe) {
        this.describe = describe;
    }    
        
    public void setTitle(String title) {
        this.title = title;
    }    
    
    public String getPhone() {        
        return phone;
    }    
    
    public String getDescribe() {        
        return describe;
    }    
    
    public String getTitle() {        
        return title;
    }
}
这儿我依据项目需求创立了一个FoundData数据表,我们创立数据表的时分记住要承继自Bmobject这个类,然后界说相关特点,增加set与get办法,在我们的项目中成功创立数据表之后我们需求在bmob后端操控太增加数据表与之构成对应:



挑选增加表:



这儿挑选自界说,要留意这儿的称号有必要与你在项目里创立的数据表称号如出一辙,增加表完结之后翻开这个表:



由于你是刚创立的所以你的里边只要objectid String这一样,你需求手动增加,我们挑选增加列:



留意列的称号也有必要与你项目中创立的变量称号共同,包含数据类型:



完结上述操作我们就成功创立一个数据表了,接下来我们要点说一下对数据的读取,首要我们需求在数据表中增加相关数据,像这样:



记住增加数据的时分是增加行。然后我们翻开开发文档:



点开开发文档:



这是关于bmob关于android开发的一系列操作,我们需求找到查询数据的办法:



找到查询指定列



这儿给我们供给一个查询指定列的办法,我们看在项目中的具体运用:


    //获取数据  
    public void getData(){  

        //获取数据  
        BmobQuerybmobQuery = new BmobQuery();  
        //不指定查找具体的哪一项则为查找悉数数据  
        // bmobQuery.addQueryKeys("title");  
        bmobQuery.findObjects(new FindListener() {  
            @Override  
            public void done(Listlist, BmobException e) {  

            }  
        });  


    }

我们需求留意,bmob供给的是查询指定列的办法,就是它能够得到一列的数据,可是我们知道我们的数据并不是只要一列数据,如果我们想查询一切数据该怎么办呢?很简略我们将查询指定列的那段代码去掉就能够查询悉数数据了,留意看我代码的注释。

我一向觉得关于查询得到的数据的处理是一个难点,当你做好了app的界面,再加入网络功用能够读取后台数据,根本上一个简略的app就成了,接下来我们就说说怎么处理得到的数据:


//获取数据 
public void getData(){ 

    //获取数据 
    BmobQuerybmobQuery = new BmobQuery(); 
    //不指定查找具体的哪一项则为查找悉数数据 
    // bmobQuery.addQueryKeys("title"); 
    bmobQuery.findObjects(new FindListener() { 
        @Override 
        public void done(Listlist, BmobException e) { 
        Toast.makeText(getContext(),"改写成功"+list.size(),Toast.LENGTH_SHORT).show(); 

        /** 
        * 1.list为得到的数据源 
        * 2.得到的数据有三项 
        *  2.1 title 
        *  2.2 phone 
        *  2.3 describe 
        */ 
        //处理list中的数据,for循环遍历 
        for(FoundData data : list){ 
            mHashMap = new HashMap<>(); 
            mHashMap.put("title",data.getTitle()); 
            mHashMap.put("phone",data.getPhone()); 
            mHashMap.put("describe",data.getDescribe()); 
           } 
         List
> mapList = new ArrayList<>(); 
         mapList.add(mHashMap); 
         simpleAdapter = new SimpleAdapter(getContext(),mapList,R.layout.list_item,new String[]{"title","phone","describe"},new int[]{R.id.lf_title,R.id.lf_phone,R.id.lf_describe}); 
         //数据布局填充adapter,便是绑定数据 
         listView.setAdapter(simpleAdapter); 
         simpleAdapter.notifyDataSetChanged(); 
      } 
  }); 
}

我们要清楚的知道得到的数据是什么,这儿是一个list调集,调集中的数据是FoundData目标,而且含有三项数据,看注释,得到的数据是要给用户看的,我们一般选在listview,处理数据的一个规范仍是要看我们挑选的适配器,这儿我挑选运用simpleAdapter,如果挑选运用了simpleAdapter我们就需求一个数据源,这个数据源是一个list调集,可是调集中的每一个数据又都是一个map调集,因而我们就需求将得到的list转化成simpleAdapter需求的数据源,这儿我们处理的逻辑是先运用hashmap接纳得到的list,再将其转化成数据元素是map调集的list,留意看代码完结。运转过上述代码的可能会发现,上述代码的完结好像有点问题,当我们在多增加一行数据的时分发现读取到的数据却只要一行,这是由于运用for循环遍历的时分处理不妥,修正如下:


@Override 
public void done(Listlist, BmobException e) { 
    Toast.makeText(getContext(),"改写成功"+list.size(),Toast.LENGTH_SHORT).show(); 
    List
> mapList = new ArrayList<>(); 
    /** 
     * 1.list为得到的数据源 
     * 2.得到的数据有三项 
     *  2.1 title 
     *  2.2 phone 
     *  2.3 describe 
     */     //处理list中的数据,for循环遍历     
    for(FoundData data : list){ 
        mHashMap = new HashMap<>(); 
        mHashMap.put("title",data.getTitle()); 
        mHashMap.put("phone",data.getPhone()); 
        mHashMap.put("describe",data.getDescribe()); 
        mapList.add(mHashMap); 
    }
}
当我们处理好以上逻辑,完结相应的界面设置我们在app上就能够看到相应的数据了:



至此大公乐成,更多更具体的能够仔细阅读开发文档,bmob让你的开发愈加简略方便!