- (1)增一条数据
- public class Person extends BmobObject {
- private String name;
- private String address;
- public String getName() {
- return name;
- }
- public void setName(String name) {
- this.name = name;
- }
- public String getAddress() {
- return address;
- }
- public void setAddress(String address) {
- this.address = address;
- }
- }
- (2)添加
- public class Person extends BmobObject {
- private String name;
- private String address;
- public String getName() {
- return name;
- }
- public void setName(String name) {
- this.name = name;
- }
- public String getAddress() {
- return address;
- }
- public void setAddress(String address) {
- this.address = address;
- }
- }
- (3)获取一行数据
- //查找Person表里面id为6b6c11c537的数据
- BmobQuery<Person> bmobQuery = new BmobQuery<Person>();
- bmobQuery.getObject(this, "6b6c11c537", new GetListener<Person>() {
- @Override
- public void onSuccess(Person object) {
- // TODO Auto-generated method stub
- toast("查询成功");
- }
- @Override
- public void onFailure(int code, String msg) {
- // TODO Auto-generated method stub
- toast("查询失败:" + msg);
- }
- (4)修改数据
- //更新Person表里面id为6b6c11c537的数据,address内容更新为“北京朝阳”
- Person p2 = new Person();
- p2.setAddress("北京朝阳");
- p2.update(this, "6b6c11c537", new UpdateListener() {
- @Override
- public void onSuccess() {
- // TODO Auto-generated method stub
- toast("更新成功:" + p2.getUpdatedAt());
- }
- @Override
- public void onFailure(int code, String msg) {
- // TODO Auto-generated method stub
- toast("更新失败:" + msg);
- }
- });
- (5)删除
- Person p2 = new Person();
- p2.setObjectId("6b6c11c537");
- p2.delete(this, new DeleteListener() {
- @Override
- public void onSuccess() {
- // TODO Auto-generated method stub
- toast("删除成功");
- }
- @Override
- public void onFailure(int code, String msg) {
- // TODO Auto-generated method stub
- toast("删除失败:" + msg);
- }
- });
- (6)对象
- APP中创建的BmobObject类的子类
- public class GameScore extends BmobObject{}
- (7)批量
- 在BmobObject对象中提供了三种用于批量操作的方法,分别是insertBatch、updateBatch、deleteBatch,批量添加、更新、删除。
XinHang1
- (1)gradle
- (换版本)
- dependencie
- (2)配置boom后端
- build.gradle(app)
- build.gradle(XinHang)
- 快速入门(配置gradle)
- (3)
- 权限
- (4)登录注册
- u.login(MainActivity.this, OtherActivity.class){
- public void onSuccess(){}
- public void onFailuser(){}
- }
- u.signUp
- (5)增删改查
- //发送TAG_ADD_CONTACT请求
- BmobChatManager.getInstance(mContext).sendTagMessage(BmobConfig.TAG_ADD_CONTACT, contract.getObjectId(),new PushListener() {
- userManager.deleteContact(user.getObjectId(), new UpdateListener()
- (6)
- 发送图片
- sendImageMessage(BmobChatUser targetUser,String localPath,String extra, String showAlert,UploadListener uploadCallback)
- 发送语音
- sendVoiceMessage(BmobChatUser targetUser,String localPath, int length, String extra,String showAlert,UploadListener uploadCallback)
- (7)登录注册
- 对象.login(MainActivity.this, OtherActivity.class){
- public void onSuccess(){}
- public void onFailuser(){}
- }
- 对象.signUp();
- /**********************************/
- 旧 API 开发语句 q.findObjects(MainActivity.this, new FindListener<User>() {
- /**********************************/
- (1)查询数据
- BmobQuery<User> q = new BmobQuery<User>();
- q.findObjects(MainActivity.this, new FindListener<User>() {
- @Override
- public void onSuccess(List<User> list) {
- Log.i(tag,"查询成功"+"$$$");
- for(int i=0;i<list.size();i++){
- Log.i(tag,"第"+i+"数据:"+list.get(i).getUsername()+"|"+list.get(i).getCreatedAt()+"$$$");
- }
- Toast.makeText(MainActivity.this, "查询成功:"+list.size(), Toast.LENGTH_SHORT).show();
- }
- @Override
- public void onError(int i, String s) {
- Log.i(tag,"查询失败"+"$$$");
- }
- });
- //(1)注册
- register.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- username = e_username.getText().toString();
- password = e_password.getText().toString();
- User u = new User();
- u.setUsername(username);
- u.setPassword(password);
- u.signUp(MainActivity.this, new SaveListener() {
- @Override
- public void onSuccess() {
- Log.i(tag,"注册成功!$$$");
- Toast.makeText(MainActivity.this, "注册成功!", Toast.LENGTH_SHORT).show();
- }
- @Override
- public void onFailure(int i, String s) {
- Log.i(tag,"注册失败!$$$");
- }
- });
- }
- });
- //(2)登录
- login.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- username = e_username.getText().toString();
- password = e_password.getText().toString();
- User u = new User();
- Log.i(tag,"数据:(name|pwd)"+username+"|"+password);
- u.setUsername(username);
- u.setPassword(password);
- u.login(MainActivity.this, new SaveListener() {
- @Override
- public void onSuccess() {
- Log.i(tag,"登录成功!$$$");
- Toast.makeText(MainActivity.this, "登录成功!", Toast.LENGTH_SHORT).show();
- }
- @Override
- public void onFailure(int i, String s) {
- Log.i(tag,"登录失败!$$$");
- }
- });
- }
- });
- //(3)获取数据
- getdata.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- BmobQuery<User> q = new BmobQuery<User>();
- q.findObjects(MainActivity.this, new FindListener<User>() {
- @Override
- public void onSuccess(List<User> list) {
- Log.i(tag,"查询成功"+"$$$");
- for(int i=0;i<list.size();i++){
- Log.i(tag,"第"+i+"数据:"+list.get(i).getUsername()+"|"+list.get(i).getCreatedAt()+"$$$");
- }
- Toast.makeText(MainActivity.this, "查询成功:"+list.size(), Toast.LENGTH_SHORT).show();
- }
- @Override
- public void onError(int i, String s) {
- Log.i(tag,"查询失败"+"$$$");
- }
- });
- }
- });
- //(4)分页获取数据
- limit.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- BmobQuery<User> q = new BmobQuery<User>();
- q.setLimit(2); //每次取 5条数据
- q.setSkip(2); //跳过前两条数据
- q.findObjects(MainActivity.this, new FindListener<User>() {
- @Override
- public void onSuccess(List<User> list) {
- Log.i(tag,"查询成功 $$$");
- for(int i=0;i<list.size();i++){
- Log.i(tag,"第"+i+"条数据"+list.get(i).getUsername()+"|"+list.get(i).getCreatedAt()+" $$$");
- }
- Toast.makeText(MainActivity.this, "查询成功,有"+list.size()+"条数据", Toast.LENGTH_SHORT).show();
- }
- @Override
- public void onError(int i, String s) {
- Log.i(tag,"查询失败 $$$");
- }
- });
- }
- });
- //(5)更新
- test.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- User u = new User();
- u.setPassword("123");
- u.update(MainActivity.this, "1234", new UpdateListener() {
- @Override
- public void onSuccess() {
- Log.i(tag,"更新成功"+"$$$");
- }
- @Override
- public void onFailure(int i, String s) {
- Log.i(tag,"更新失败"+"$$$");
- }
- });
- }
- });
- /***********************************/
- API 3.5.0
- /***********************************/
- u.signUp(new SaveListener<User>(){
- @Override
- public void done(User user, BmobException e) {
- if(e!=null){ //异常不为空,操作失败
- Log_i("注册失败!");
- }else{
- Log_i("注册成功!");Toast_text("注册成功!你的账户:"+username+"|"+password);
- }
- }
- } );
- 注册
- name,pwd
- 登录
- name,pwd
- 无条件查询:
- 查询多条
- 条件查询
- 但数据查询ById
- 删除
- ById
- listView
- 列表的使用 OK 2016/6/30 4:16 pm
XinHang3
- 表的使用
- 时间:
- t_text1.setText(p.getCreatedAt());
- t_text2.setText(p.getUpdatedAt());
- Calendar calendar = Calendar.getInstance();
- int year = calendar.get(Calendar.YEAR);
- int month = calendar.get(Calendar.MONTH)+1;
- int day = calendar.get(Calendar.DAY_OF_MONTH);
- int hour = calendar.get(Calendar.HOUR_OF_DAY);
- int minute = calendar.get(Calendar.MINUTE);
- int s = calendar.get(Calendar.SECOND);
- t_text3.setText(year+"-"+month+"-"+day+" "+hour+":"+minute+":"+s);
- DecimalFormat df = new DecimalFormat("00");
- t_text4.setText(year+"-"+df.format(month)+"-"+df.format(day)+" "+df.format(hour)+":"+df.format(minute)+":"+df.format(s));
- String result = "未知时间";
- String time = p.getCreatedAt();
- Log.i("TAG","time :"+time);
- long currentTime = System.currentTimeMillis();
- SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); //自定义格式
- try{
- Date date = sdf.parse(time);
- long lastTime = date.getTime();
- Log_i("lastTime :"+lastTime);
- long min = (currentTime - lastTime)/(1000*60);
- Log_i("min :"+min);
- if(min == 0){ //通过分钟差推算时间差
- result = (currentTime - lastTime)/(1000)*60 + " 秒前";
- }else if (min < 60){ //n 分钟前
- result = min + " 分钟前";
- }else if (min >= 60 && min <= 1440){ //n 小时前
- result = min / 60 + " 小时前";
- }else if (min >1440 && min <= 43200){ //n 天前
- result = min / 1440 + " 天前";
- }else if (min >43200 && min <= 518400){ //n 月前
- result = min / 43200 + " 月前";
- }else
- result = time.substring(0,10);
- }catch(Exception e){ e.printStackTrace();}
- t_text5.setText(result);
- t_text1: 2016-07-04 09:14:58
- t_text2: 2016-07-04 09:14:58
- t_text3: 2016-7-04 10:2:40
- t_text4: 2016-07-04 10:02:40
- t_text5: 10天前
XinHang4
- 1.当前用户
- BmobUser u = BmobUser.getCurrentUser();
- if(u!=null){
- //获取当前用户成功!
- }
- 2.注销登录
- BmobUser.logOut();
- BmobUser user = BmobUser.getCurrentUser();
- if(user==null){
- //注销成功!
- }
- 3.密码修改
- BmobUser.updateCurrentUserPassword(userpwd, newpwd, new UpdateListener(){
- if(e==null){
- //修改成功!
- }
- });
画图
- Bitmap output = Bitmap.createBitmap(bitmap.getWidth(),bitmap.getHeight(), Bitmap.Config.ARGB_8888);
- Canvas canvas = new Canvas(output);
- final int color = 0xff424242;
- final Paint paint = new Paint();
- final Rect rect = new Rect(0,0,bitmap.getWidth(),bitmap.getHeight());
- final RectF rectf = new RectF(rect);
- final float roundPx = pixels;
- paint.setAntiAlias(true);
- canvas.drawARGB(0,0,0,0);
- paint.setColor(color);
- canvas.drawRoundRect(rectf,roundPx,roundPx,paint);
- paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_IN));
- canvas.drawBitmap(bitmap,rect,rect,paint);
- return output;