android服务器Bmob的使用

使用Bmob无需再造应用后端,便能轻松拥有应用开发的各种后端能力支持,减少了开发者将应用从idea到产品(成品)的时间,我们提供了大量标准的API接口,根据需要接入相关服务,开发者可以更加专注于应用的开发,让产品交付更快速。

话不多少 先看代码

实现提交数据的功能

public class MainActivity extends Activity {
    private EditText edt1, edt2;
    private Button btn1,btn2;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        edt1 = (EditText) findViewById(R.id.edt1);
        edt2 = (EditText) findViewById(R.id.edt2);
        btn1 = (Button) findViewById(R.id.btn1);
        btn2 = (Button) findViewById(R.id.btn2);
        // 初始化SDK
        Bmob.initialize(this, "c945e1b1070e900af132bc082d22aae8");
        btn1.setOnClickListener(new OnClickListener() {


            @Override
            public void onClick(View v) {
                String name = edt1.getText().toString();
                String password = edt2.getText().toString();
                // TODO Auto-generated method stub
                if (name.equals("") || password.equals("")) {
                    return;
                }
                FeedBack feedbackobj = new FeedBack();
                feedbackobj.setName(name);
                feedbackobj.setFeedback(password);
                feedbackobj.save(getApplicationContext(),new SaveListener() {


                    @Override
                    public void onSuccess() {
                        // TODO Auto-generated method stub
                        Toast.makeText(getApplicationContext(), "y", Toast.LENGTH_SHORT).show();
                    }

                    @Override
                    public void onFailure(int arg0, String arg1) {
                        // TODO Auto-generated method stub
                        Toast.makeText(getApplicationContext(), "N", Toast.LENGTH_SHORT).show();
                    }
                });
            btn2.setOnClickListener(new OnClickListener() {

                @Override
                public void onClick(View v) {
                    // TODO Auto-generated method stub

                }
            });
            }
        });
    }


}

用javabean来装数据 这里是用的FeedBack.java
代码如下

public class FeedBack extends BmobObject {
private String name;
private String feedback;
public String getName() {
    return name;
}
public void setName(String name) {
    this.name = name;
}
public String getFeedback() {
    return feedback;
}
public void setFeedback(String feedback) {
    this.feedback = feedback;
}

}

上面的代码是用来提交数据的,基本布局如下

提交数据到云数据库

这里写图片描述

注意使用前 需要导包

Bmob还可以实现查询

    btn2.setOnClickListener(new OnClickListener() {
                    String str1 = edt3.getText().toString();

                    @Override
                    public void onClick(View v) {
                        // TODO Auto-generated method stub
                        BmobQuery<FeedBack> query = new BmobQuery<FeedBack>();
                        //query.addWhereEqualTo("name", str);
                        query.findObjects(getApplicationContext(), new FindListener<FeedBack>() {

                            @Override
                            public void onError(int arg0, String arg1) {
                                // TODO Auto-generated method stub
                                Toast.makeText(getApplicationContext(), "N", Toast.LENGTH_SHORT).show();
                            }

                            @Override
                            public void onSuccess(List<FeedBack> feedbacks) {
                                // TODO Auto-generated method stub
                                AlertDialog.Builder builder = new AlertDialog.Builder(getApplicationContext());
                                builder.setTitle("query");
                                String str = "";
                                for (FeedBack feedback : feedbacks) {
                                    str += feedback.getName() + ":" + feedback.getFeedback() + "\n";
                                }
                                builder.setMessage(str);
                                builder.create().show();
                            }

                        });

                    }
                });

消息推送的功能

public void pushAll(View view) {
        BmobPushManager push = new BmobPushManager(getApplicationContext());
        push.pushMessageAll("Test");
    }
``


新建一个servers



``
public class MyPushMessageReceiver extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {
        String Message = "";
        if (intent.getAction().equals(PushConstants.ACTION_MESSAGE)) {
            String msg = intent.getStringExtra(PushConstants.EXTRA_PUSH_MESSAGE_STRING);
            Toast.makeText(context, msg, Toast.LENGTH_SHORT).show();
            JSONTokener jsontoken = new JSONTokener(msg);
            try {
                JSONObject object = (JSONObject) jsontoken.nextValue();
                Message = object.getString("alert");
            } catch (JSONException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
NotificationManager manager=(NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
            Notification notification=new Notification();
            manager.notify(R.drawable.ic_launcher,notification);
        }

    }

}
       <service
        android:label="PushService"
        android:name="cn.bmob.push.lib.service.PushService"
        android:process="cn.bmob.push"
        android:exported="true">
         <intent-filter>
             <action android:name="cn.bmob.push.lib.service.PushService"/>
         </intent-filter>
    </service>

    <receiver android:name="cn.bmob.push.PushReceiver" >
        <intent-filter>
            <!-- 系统启动完成后会调用 -->
            <action android:name="android.intent.action.BOOT_COMPLETED" />               
            <!-- 解锁完成后会调用 -->
            <action android:name="android.intent.action.USER_PRESENT" />
            <!-- 监听网络连通性 -->
            <action android:name="android.net.conn.CONNECTIVITY_CHANGE" />               
        </intent-filter>
    </receiver>

    <!-- 第四部中创建的消息接收器,在这里进行注册 -->
    <receiver android:name="com.example.bmob.MyPushMessageReceiver">
         <intent-filter >
              <action android:name="cn.bmob.push.action.MESSAGE"/>
         </intent-filter>
    </receiver>

所需要调用的权限

<!-- 允许联网 -->
    <uses-permission android:name="android.permission.INTERNET" />
    <!-- 获取GSM(2g)、WCDMA(联通3g)等网络状态的信息 -->
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <!-- 获取wifi网络状态的信息 -->
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <!-- 保持CPU 运转,屏幕和键盘灯有可能是关闭的,用于文件上传和下载 -->
    <uses-permission android:name="android.permission.WAKE_LOCK" />
    <!-- 获取sd卡写的权限,用于文件上传和下载 -->
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <!-- 允许读取手机状态 用于创建BmobInstallation -->
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
   <!--BmobSDK所需的权限 -->
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <!--推送所需的权限-->
    <uses-permission android:name="android.permission.RECEIVE_USER_PRESENT" />
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />

转载于:https://www.cnblogs.com/Tesi1a/p/7624162.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
针对校园APP的特点,文中分析了校园APP国内国外的研究背景以及意义,同时提出了当前校园APP存在的问题,结合本课题相关研究内容,对如何利用Bmob后端云等有关理论知识进行了详细的讲解。 本文结合当前流行的技术,以Android Studio为集成开发工具,当前很多的APP需要后端的支持来完成数据维护,而本文采用Bmob后端云来实现不用编写后端代码就能实现开发的一款校园APP,软件开发的后台管理需要提供最新的信息,包括图片,链接等等内容,管理数据库的人员甚至在不具备专业知识的情况下也可以在Bmob后端云的云数据库中进行维护,增删改查这些功能都能够实现,实现了软件的无后端开发。采用免费开源且专注于灵活性和性能的Gradle自动化构建工具,为项目依赖的第三方库、为项目添加有用的默认设置和约定,节省了开发时间并减少了错误的发生,实现了快速开发。 依靠现有的移动通信网络,本文研究设计出了一种集浏览新闻、寻找兼职和浏览课表,失物招领和二手交易等多功能的面向广大学生的校园APP,学生可以在本APP上获取丰富的新闻信息,实时了解到各种重大新闻与校内的活动,编写了模拟爬取课程表的功能,从教务处获取课表,查看课表的详细信息。针对当前缺少兼职信息展示的现象,文中编写了兼职信息展示的功能,在有了通讯录之后,查找老师的联系方式也就更便捷,经过学号认证后,用户还可以在APP中修改个人基本资料。 本文经过系统需求分析、设计、编码实现等,在整个开发和维护的过程中,使用面向对象的Java语言,利用Android进行前端开发。将整个系统划分为小的模块进行分析设计后再进行集成,持续进行严谨的测试,给出了各个模块的类图,展示了系统实现的具体效果图,APP可以正确、快速的运行,基本满足了当前大学生的使用需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值