├── .gitignore ├── .idea ├── .name ├── compiler.xml ├── copyright │ └── profiles_settings.xml ├── encodings.xml ├── gradle.xml ├── misc.xml ├── modules.xml ├── scopes │ └── scope_settings.xml └── vcs.xml ├── BmobTest.iml ├── README.md ├── app ├── .gitignore ├── app.iml ├── build.gradle ├── libs │ ├── BmobSDK_V3.4.3_0820.jar │ └── Bmob_Push_V0.6beta_20150408.jar ├── proguard-rules.pro └── src │ ├── androidTest │ └── java │ │ └── com │ │ └── example │ │ └── euler_kalvinhe │ │ └── bmobtest │ │ └── ApplicationTest.java │ └── main │ ├── AndroidManifest.xml │ ├── java │ └── com │ │ └── example │ │ └── euler_kalvinhe │ │ └── bmobtest │ │ ├── LoginActivity.java │ │ ├── OutActivity.java │ │ ├── RegesterActivity.java │ │ └── User.java │ └── res │ ├── drawable-hdpi │ └── ic_launcher.png │ ├── drawable-mdpi │ └── ic_launcher.png │ ├── drawable-xhdpi │ └── ic_launcher.png │ ├── drawable-xxhdpi │ └── ic_launcher.png │ ├── layout │ ├── activity_main.xml │ ├── login.xml │ └── regester.xml │ ├── menu │ └── menu_main.xml │ ├── values-w820dp │ └── dimens.xml │ └── values │ ├── dimens.xml │ ├── strings.xml │ └── styles.xml ├── build.gradle ├── gradle.properties ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat └── settings.gradle /.gitignore: -------------------------------------------------------------------------------- 1 | .gradle 2 | /local.properties 3 | /.idea/workspace.xml 4 | /.idea/libraries 5 | .DS_Store 6 | /build 7 | -------------------------------------------------------------------------------- /.idea/.name: -------------------------------------------------------------------------------- 1 | BmobTest -------------------------------------------------------------------------------- /.idea/compiler.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /.idea/copyright/profiles_settings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /.idea/encodings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /.idea/gradle.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/scopes/scope_settings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | -------------------------------------------------------------------------------- /.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /BmobTest.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # BmobTest 2 | use Baas tool Bmob to create a DataBase for app 3 | 4 | bmob是一个Baas类型的工具,提供给了android开发者一个快速部署后台的途径,可以方便的集成数据库等后端的需求。 5 | 6 | -------------------------------------------------------------------------------- /app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /app/app.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 8 | 9 | 10 | 11 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | -------------------------------------------------------------------------------- /app/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'com.android.application' 2 | 3 | android { 4 | compileSdkVersion 22 5 | buildToolsVersion "22.0.1" 6 | 7 | defaultConfig { 8 | applicationId "com.example.euler_kalvinhe.bmobtest" 9 | minSdkVersion 15 10 | targetSdkVersion 22 11 | versionCode 1 12 | versionName "1.0" 13 | } 14 | buildTypes { 15 | release { 16 | minifyEnabled false 17 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 18 | } 19 | } 20 | } 21 | 22 | dependencies { 23 | compile fileTree(dir: 'libs', include: ['*.jar']) 24 | compile 'com.android.support:appcompat-v7:22.2.1' 25 | compile files('libs/Bmob_Push_V0.6beta_20150408.jar') 26 | compile files('libs/BmobSDK_V3.4.3_0820.jar') 27 | } 28 | -------------------------------------------------------------------------------- /app/libs/BmobSDK_V3.4.3_0820.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengsehng/BmobTest/61a9f37eb016aa371c0f857145984602e01acd9f/app/libs/BmobSDK_V3.4.3_0820.jar -------------------------------------------------------------------------------- /app/libs/Bmob_Push_V0.6beta_20150408.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengsehng/BmobTest/61a9f37eb016aa371c0f857145984602e01acd9f/app/libs/Bmob_Push_V0.6beta_20150408.jar -------------------------------------------------------------------------------- /app/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # By default, the flags in this file are appended to flags specified 3 | # in D:\androidSdk/tools/proguard/proguard-android.txt 4 | # You can edit the include path and order by changing the proguardFiles 5 | # directive in build.gradle. 6 | # 7 | # For more details, see 8 | # http://developer.android.com/guide/developing/tools/proguard.html 9 | 10 | # Add any project specific keep options here: 11 | 12 | # If your project uses WebView with JS, uncomment the following 13 | # and specify the fully qualified class name to the JavaScript interface 14 | # class: 15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 16 | # public *; 17 | #} 18 | -------------------------------------------------------------------------------- /app/src/androidTest/java/com/example/euler_kalvinhe/bmobtest/ApplicationTest.java: -------------------------------------------------------------------------------- 1 | package com.example.euler_kalvinhe.bmobtest; 2 | 3 | import android.app.Application; 4 | import android.test.ApplicationTestCase; 5 | 6 | /** 7 | * Testing Fundamentals 8 | */ 9 | public class ApplicationTest extends ApplicationTestCase { 10 | public ApplicationTest() { 11 | super(Application.class); 12 | } 13 | } -------------------------------------------------------------------------------- /app/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 15 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /app/src/main/java/com/example/euler_kalvinhe/bmobtest/LoginActivity.java: -------------------------------------------------------------------------------- 1 | package com.example.euler_kalvinhe.bmobtest; 2 | 3 | import android.app.Activity; 4 | import android.content.Intent; 5 | import android.os.Bundle; 6 | import android.view.View; 7 | import android.widget.Button; 8 | import android.widget.EditText; 9 | import android.widget.Toast; 10 | 11 | import java.util.List; 12 | 13 | import cn.bmob.v3.Bmob; 14 | import cn.bmob.v3.BmobQuery; 15 | import cn.bmob.v3.listener.FindListener; 16 | 17 | /** 18 | * Created by Euler-KalvinHe on 2015/8/24. 19 | */ 20 | public class LoginActivity extends Activity { 21 | private EditText userName,password; 22 | private Button login,regeter; 23 | String username,pass; 24 | @Override 25 | protected void onCreate(Bundle savedInstanceState) { 26 | super.onCreate(savedInstanceState); 27 | setContentView(R.layout.login); 28 | initViews(); 29 | Toast.makeText(LoginActivity.this,username+pass,Toast.LENGTH_LONG).show(); 30 | Bmob.initialize(this, "79bda8edfbabc323575348b6d50508e6"); 31 | login.setOnClickListener(new View.OnClickListener() { 32 | @Override 33 | public void onClick(View view) { 34 | username = userName.getText().toString(); 35 | pass = password.getText().toString(); 36 | BmobQuery query = new BmobQuery(); 37 | query.addWhereEqualTo("userName",username); 38 | query.findObjects(LoginActivity.this,new FindListener() { 39 | @Override 40 | public void onSuccess(List users) { 41 | String str = null; 42 | str = users.get(0).getPassword(); 43 | if (str.equals(pass)){ 44 | Intent intent = new Intent(LoginActivity.this,OutActivity.class); 45 | startActivity(intent); 46 | }else{ 47 | Toast.makeText(LoginActivity.this,"用户名或者密码不正确",Toast.LENGTH_LONG).show(); 48 | } 49 | // Toast.makeText(LoginActivity.this,str,Toast.LENGTH_LONG).show(); 50 | } 51 | 52 | @Override 53 | public void onError(int i, String s) { 54 | Toast.makeText(LoginActivity.this,"登录失败",Toast.LENGTH_LONG).show(); 55 | } 56 | }); 57 | } 58 | }); 59 | regeter.setOnClickListener(new View.OnClickListener() { 60 | @Override 61 | public void onClick(View view) { 62 | Intent intent = new Intent(LoginActivity.this,RegesterActivity.class); 63 | startActivity(intent); 64 | finish(); 65 | } 66 | }); 67 | } 68 | private void initViews(){ 69 | userName = (EditText) findViewById(R.id.userName); 70 | login = (Button) findViewById(R.id.log); 71 | password = (EditText) findViewById(R.id.password); 72 | regeter = (Button) findViewById(R.id.regester); 73 | } 74 | private void logIn(){ 75 | username = userName.getText().toString(); 76 | pass = password.getText().toString(); 77 | 78 | } 79 | private String queryPass(String username){ 80 | final String[] passTwo = {null}; 81 | if (username == null){ 82 | return null; 83 | } 84 | BmobQuery query = new BmobQuery(); 85 | query.addWhereEqualTo("userName",username); 86 | query.findObjects(LoginActivity.this,new FindListener() { 87 | @Override 88 | public void onSuccess(List users) { 89 | passTwo[0] = users.get(0).getPassword(); 90 | Toast.makeText(LoginActivity.this,passTwo[0],Toast.LENGTH_LONG).show(); 91 | } 92 | 93 | @Override 94 | public void onError(int i, String s) { 95 | Toast.makeText(LoginActivity.this,"登录失败",Toast.LENGTH_LONG).show(); 96 | } 97 | }); 98 | return passTwo[0]; 99 | } 100 | } 101 | -------------------------------------------------------------------------------- /app/src/main/java/com/example/euler_kalvinhe/bmobtest/OutActivity.java: -------------------------------------------------------------------------------- 1 | package com.example.euler_kalvinhe.bmobtest; 2 | 3 | import android.app.Activity; 4 | import android.os.Bundle; 5 | import android.widget.Toast; 6 | 7 | /** 8 | * Created by Euler-KalvinHe on 2015/8/24. 9 | */ 10 | public class OutActivity extends Activity{ 11 | @Override 12 | protected void onCreate(Bundle savedInstanceState) { 13 | super.onCreate(savedInstanceState); 14 | setContentView(R.layout.activity_main); 15 | Toast.makeText(this,"登陆成功",Toast.LENGTH_LONG).show(); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /app/src/main/java/com/example/euler_kalvinhe/bmobtest/RegesterActivity.java: -------------------------------------------------------------------------------- 1 | package com.example.euler_kalvinhe.bmobtest; 2 | 3 | import android.app.Activity; 4 | import android.content.Intent; 5 | import android.os.Bundle; 6 | import android.view.View; 7 | import android.widget.Button; 8 | import android.widget.EditText; 9 | import android.widget.Toast; 10 | 11 | import java.util.List; 12 | 13 | import cn.bmob.v3.Bmob; 14 | import cn.bmob.v3.BmobQuery; 15 | import cn.bmob.v3.listener.FindListener; 16 | import cn.bmob.v3.listener.SaveListener; 17 | 18 | 19 | public class RegesterActivity extends Activity{ 20 | private EditText userName, phoneNumber, password, passwordAgain; 21 | private Button regester,login; 22 | private String username,pass,passAgain; 23 | private String phone; 24 | @Override 25 | protected void onCreate(Bundle savedInstanceState) { 26 | super.onCreate(savedInstanceState); 27 | setContentView(R.layout.regester); 28 | initViews(); 29 | Bmob.initialize(this, "79bda8edfbabc323575348b6d50508e6"); 30 | regester.setOnClickListener(new View.OnClickListener() { 31 | @Override 32 | public void onClick(View view) { 33 | regesterUser(); 34 | } 35 | }); 36 | login.setOnClickListener(new View.OnClickListener() { 37 | @Override 38 | public void onClick(View view) { 39 | Intent intent = new Intent(RegesterActivity.this,LoginActivity.class); 40 | startActivity(intent); 41 | finish(); 42 | } 43 | }); 44 | } 45 | 46 | private void initViews() { 47 | regester = (Button) findViewById(R.id.regester); 48 | passwordAgain = (EditText) findViewById(R.id.passwordAgain); 49 | password = (EditText) findViewById(R.id.password); 50 | phoneNumber = (EditText) findViewById(R.id.phoneNumber); 51 | userName = (EditText) findViewById(R.id.userName); 52 | login = (Button) findViewById(R.id.login); 53 | } 54 | private void regesterUser(){ 55 | username = userName.getText().toString(); 56 | pass = password.getText().toString(); 57 | passAgain = passwordAgain.getText().toString(); 58 | phone = phoneNumber.getText().toString(); 59 | if (username != null && pass != null && password != null && phone != null ){ 60 | if ( pass.equals(passAgain)){ 61 | BmobQuery query = new BmobQuery(); 62 | query.findObjects(RegesterActivity.this,new FindListener() { 63 | @Override 64 | public void onSuccess(List users) { 65 | boolean flag = false; 66 | for (User u:users){ 67 | if (phone.equals(u.getPhoneNumber())){ 68 | flag = true; 69 | break; 70 | } 71 | } 72 | if (flag){ 73 | phoneNumber.setText(""); 74 | Toast.makeText(RegesterActivity.this, "手机号已经被注册,请重试", Toast.LENGTH_LONG).show(); 75 | }else{ 76 | User user = new User(); 77 | user.setUserName(username); 78 | user.setPassword(pass); 79 | user.setPhoneNumber(phone); 80 | user.save(RegesterActivity.this,new SaveListener() { 81 | @Override 82 | public void onSuccess() { 83 | Toast.makeText(RegesterActivity.this,"注册成功",Toast.LENGTH_LONG).show(); 84 | Intent intent = new Intent(RegesterActivity.this,LoginActivity.class); 85 | startActivity(intent); 86 | finish(); 87 | } 88 | 89 | @Override 90 | public void onFailure(int i, String s) { 91 | Toast.makeText(RegesterActivity.this,"注册失败",Toast.LENGTH_LONG).show(); 92 | } 93 | }); 94 | } 95 | } 96 | 97 | @Override 98 | public void onError(int i, String s) { 99 | Toast.makeText(RegesterActivity.this,"请检查网络重试",Toast.LENGTH_LONG).show(); 100 | } 101 | });}else{ 102 | password.setText(""); 103 | passwordAgain.setText(""); 104 | Toast.makeText(RegesterActivity.this,"密码不一致,请重试",Toast.LENGTH_LONG).show(); 105 | } 106 | }else { 107 | userName.setText(""); 108 | password.setText(""); 109 | passwordAgain.setText(""); 110 | phoneNumber.setText(""); 111 | Toast.makeText(RegesterActivity.this,"不能为空",Toast.LENGTH_LONG).show(); 112 | } 113 | } 114 | } 115 | -------------------------------------------------------------------------------- /app/src/main/java/com/example/euler_kalvinhe/bmobtest/User.java: -------------------------------------------------------------------------------- 1 | package com.example.euler_kalvinhe.bmobtest; 2 | 3 | import cn.bmob.v3.BmobObject; 4 | 5 | /** 6 | * Created by Euler-KalvinHe on 2015/8/24. 7 | */ 8 | public class User extends BmobObject{ 9 | private String userName; 10 | private String phoneNumber; 11 | private String password; 12 | 13 | public String getUserName() { 14 | return userName; 15 | } 16 | 17 | public void setUserName(String userName) { 18 | this.userName = userName; 19 | } 20 | 21 | public String getPhoneNumber() { 22 | return phoneNumber; 23 | } 24 | 25 | public void setPhoneNumber(String phoneNumber) { 26 | this.phoneNumber = phoneNumber; 27 | } 28 | 29 | public String getPassword() { 30 | return password; 31 | } 32 | 33 | public void setPassword(String password) { 34 | this.password = password; 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengsehng/BmobTest/61a9f37eb016aa371c0f857145984602e01acd9f/app/src/main/res/drawable-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengsehng/BmobTest/61a9f37eb016aa371c0f857145984602e01acd9f/app/src/main/res/drawable-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengsehng/BmobTest/61a9f37eb016aa371c0f857145984602e01acd9f/app/src/main/res/drawable-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengsehng/BmobTest/61a9f37eb016aa371c0f857145984602e01acd9f/app/src/main/res/drawable-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_main.xml: -------------------------------------------------------------------------------- 1 | 7 | 8 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /app/src/main/res/layout/login.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 10 | 15 |