扣丁学堂笔记第26天云平台、Git与Linux
来源:互联网 发布:windows 10掌机 编辑:程序博客网 时间:2024/04/28 13:40
1.Bmob云服务
Bmob云服务实现简易增删改查代码
Person.java
package com.example.bmobtest;import cn.bmob.v3.BmobObject;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; }@Overridepublic String toString() {return "Person [name=" + name + ", address=" + address + "]";} }
activity_main
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="com.example.bmobtest.MainActivity" > <TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Bmob云服务测试" /> <Button android:id="@+id/button_add" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentRight="true" android:layout_below="@+id/textView1" android:layout_marginTop="19dp" android:text="添加数据" android:onClick="addClick" /> <Button android:id="@+id/button_delete" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/button_add" android:layout_alignRight="@+id/button_add" android:layout_below="@+id/button_add" android:text="删除数据" android:onClick="deleteClick"/> <Button android:id="@+id/button_update" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/button_delete" android:layout_alignRight="@+id/button_delete" android:layout_below="@+id/button_delete" android:text="更新数据" android:onClick="updateClick" /> <Button android:id="@+id/button_query" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/button_update" android:layout_alignRight="@+id/button_update" android:layout_below="@+id/button_update" android:text="查询数据" android:onClick="queryClick" /></RelativeLayout>
MainActivity
package com.example.bmobtest;import cn.bmob.v3.Bmob;import cn.bmob.v3.BmobQuery;import cn.bmob.v3.listener.DeleteListener;import cn.bmob.v3.listener.GetListener;import cn.bmob.v3.listener.SaveListener;import cn.bmob.v3.listener.UpdateListener;import android.app.Activity;import android.os.Bundle;import android.view.View;import android.widget.Toast;public class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);// 初始化BmobBmob.initialize(this, "7e705209d5a43852b4fa855219507807");}//添加数据public void addClick(View view) {Person p = new Person();p.setName("威哥");p.setAddress("北京");p.save(this, new SaveListener() {@Overridepublic void onSuccess() {// TODO Auto-generated method stubToast.makeText(MainActivity.this, "添加数据成功", Toast.LENGTH_SHORT).show();}@Overridepublic void onFailure(int arg0, String arg1) {// TODO Auto-generated method stubToast.makeText(MainActivity.this, "添加数据失败", Toast.LENGTH_SHORT).show();}});}//删除数据public void deleteClick(View view) {Person p = new Person();p.delete(this, "7313714c50", new DeleteListener() {@Overridepublic void onSuccess() {// TODO Auto-generated method stubToast.makeText(MainActivity.this, "删除数据成功", Toast.LENGTH_SHORT).show();}@Overridepublic void onFailure(int arg0, String arg1) {// TODO Auto-generated method stubToast.makeText(MainActivity.this, "删除数据失败", Toast.LENGTH_SHORT).show();}});}//更新数据public void updateClick(View view) {Person p = new Person();p.setAddress("北京海淀");p.update(this, "7313714c50", new UpdateListener() {@Overridepublic void onSuccess() {// TODO Auto-generated method stubToast.makeText(MainActivity.this, "更新数据成功", Toast.LENGTH_SHORT).show();}@Overridepublic void onFailure(int arg0, String arg1) {// TODO Auto-generated method stubToast.makeText(MainActivity.this, "更新数据失败", Toast.LENGTH_SHORT).show();}});}//查询数据public void queryClick(View view) {BmobQuery<Person> query = new BmobQuery<Person>();query.getObject(this, "7313714c50", new GetListener<Person>() {@Overridepublic void onFailure(int i, String s) {// TODO Auto-generated method stubToast.makeText(MainActivity.this, "查询数据失败", Toast.LENGTH_SHORT).show();}@Overridepublic void onSuccess(Person person) {// TODO Auto-generated method stubToast.makeText(MainActivity.this, person.toString(), Toast.LENGTH_SHORT).show();}});}}
AndroidManifest
<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_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.READ_LOGS" />
注册与登陆代码
User.java
package com.example.bmobtest;import cn.bmob.v3.BmobUser;import cn.bmob.v3.datatype.BmobFile;public class User extends BmobUser{BmobFile icon;String password;public BmobFile getIcon() {return icon;}public void setIcon(BmobFile icon) {this.icon = icon;}}
LoginActivity
package com.example.bmobtest;import cn.bmob.v3.Bmob;import cn.bmob.v3.BmobUser;import cn.bmob.v3.listener.SaveListener;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.view.View;import android.widget.EditText;import android.widget.Toast;public class LoginActivity extends Activity {private EditText et_username_login,et_password;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_login);// 初始化BmobBmob.initialize(this, "7e705209d5a43852b4fa855219507807");et_username_login = (EditText) findViewById(R.id.et_username);et_password = (EditText) findViewById(R.id.et_password);}public void loginClick(View view){String name = et_username_login.getText().toString();String password = et_password.getText().toString();final BmobUser bmobUser = new User();bmobUser.setUsername(name);bmobUser.setPassword(password);bmobUser.login(this, new SaveListener() {@Overridepublic void onSuccess() {// TODO Auto-generated method stubUser user = BmobUser.getCurrentUser(LoginActivity.this,User.class);StringBuffer userMessage = new StringBuffer();userMessage.append("username="+user.getUsername());userMessage.append("password="+user.getPassword());userMessage.append("email="+user.getEmail());Toast.makeText(LoginActivity.this, userMessage, Toast.LENGTH_SHORT).show();}@Overridepublic void onFailure(int arg0, String arg1) {// TODO Auto-generated method stubToast.makeText(LoginActivity.this, "登陆失败", Toast.LENGTH_SHORT).show();}});}public void regClick(View view){Intent intent = new Intent(this,RegActivity.class);startActivity(intent);}}
activity_login
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <EditText android:id="@+id/et_username" android:layout_width="match_parent" android:layout_height="wrap_content"/> <EditText android:id="@+id/et_password" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_below="@+id/et_username" android:ems="10" android:inputType="textPassword" > <requestFocus /> </EditText> <Button android:id="@+id/button_login" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_below="@+id/et_password" android:text="登陆" android:onClick="loginClick" /> <Button android:id="@+id/button_reg" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:layout_below="@+id/et_password" android:text="注册" android:onClick="regClick" /></RelativeLayout>
RegActivity
package com.example.bmobtest;import java.io.File;import cn.bmob.v3.datatype.BmobFile;import cn.bmob.v3.listener.SaveListener;import cn.bmob.v3.listener.UploadFileListener;import android.app.Activity;import android.os.Bundle;import android.os.Environment;import android.view.View;import android.widget.EditText;import android.widget.Toast;public class RegActivity extends Activity {private EditText et_username,et_pass,et_emial,et_icon;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_reg);et_username = (EditText) findViewById(R.id.et_1);et_pass = (EditText) findViewById(R.id.et_2);et_emial = (EditText) findViewById(R.id.et_3);et_icon = (EditText) findViewById(R.id.et_4);}public void registerClick(View view){final String name = et_username.getText().toString();final String pass = et_pass.getText().toString();final String email = et_emial.getText().toString();//String icon = et_icon.getText().toString();User user = new User();user.setUsername(name);user.setPassword(pass);user.setEmail(email);//user.setIcon(icon);//获取图片文件的路径String path = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS)+"/1.jpg";//文件上传final BmobFile bmobFile = new BmobFile(new File(path));bmobFile.upload(this, new UploadFileListener() {@Overridepublic void onSuccess() {// TODO Auto-generated method stub//上传成功User user = new User();user.setUsername(name);user.setPassword(pass);user.setEmail(email);user.setIcon(bmobFile);//注册(注意这里new的是SaveListener)user.signUp(RegActivity.this, new SaveListener() {@Overridepublic void onSuccess() {// TODO Auto-generated method stubToast.makeText(RegActivity.this, "注册成功", Toast.LENGTH_SHORT).show();}@Overridepublic void onFailure(int arg0, String arg1) {// TODO Auto-generated method stub}});}@Overridepublic void onFailure(int i, String s) {// TODO Auto-generated method stub}});}}
activity_reg
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <EditText android:id="@+id/et_1" android:layout_width="match_parent" android:layout_height="wrap_content" android:ems="10" android:hint="username" /> <EditText android:id="@+id/et_2" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="password" android:inputType="textPassword" /> <EditText android:id="@+id/et_3" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="email" android:inputType="textEmailAddress" /> <EditText android:id="@+id/et_4" android:layout_width="match_parent" android:layout_height="wrap_content" android:ems="10" android:hint="icon" /> <Button android:id="@+id/button_reg" android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="registerClick" android:text="注册" /></LinearLayout>
AndroidManifest
<activity android:name=".LoginActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".RegActivity" android:label="@string/app_name" > </activity>
便签案例
略
2.Linux基本命令操作
(Windows端不可直接运行)
3.Git版本控制
入门与创建版本库
教程:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000
首先配置环境变量:将git的bin目录添加到系统环境变量(或者用户变量)path中
创建版本库
打开Git Bash,输入以下Linux命令行创建版本库
基本命令操作
分支管理
Git与GitHub
了解Git本地服务器创建于Android Studio
0 0
- 扣丁学堂笔记第26天云平台、Git与Linux
- 扣丁学堂笔记第14天Handler与多线程
- 扣丁学堂笔记第18天HttpURLConnection与HttpClient
- 扣丁学堂笔记第20天动画与图形
- 扣丁学堂笔记第21天Bitmaps与优化
- 扣丁学堂笔记第11天广播接收器、短信与闹钟服务
- 扣丁学堂笔记第13天ActionBar、电话服务与内容分享
- 扣丁学堂笔记第17天ContentProvider组件与Loaders
- 扣丁学堂笔记第19天Volley、android-async-http、ksoap2与WebView组件
- 扣丁学堂笔记第23天Camera、音频录制与Vitamio框架
- 扣丁学堂笔记第27天NDK、屏幕适配与APP上线
- 扣丁学堂笔记第02天UI布局
- 扣丁学堂笔记第08天Activity组件
- 扣丁学堂笔记第09天Intent
- 扣丁学堂笔记第10天Service组件
- 扣丁学堂笔记第12天Fragments
- 扣丁学堂笔记第16天SQLite数据库
- 扣丁学堂笔记第22天多媒体播放
- Java参数传递,传递引用,传递值浅析
- Jquery的extend
- UVA_793_Network Connections
- ffmpeg 和 x264的参数对照
- 关于Office web apps的问题:写CheckFileInfo服务时遇到的问题
- 扣丁学堂笔记第26天云平台、Git与Linux
- stl -- 适配器
- [线段树] BZOJ 4491 我也不知道题目名字是什么
- Mysql表的分区实现
- c语言基础概念(2)
- Android开发文档翻译之-Services
- 在js中的改进版的冒泡排序法 和 二分查找法
- 从ffmpeg源代码分析如何解决ffmpeg编码的延迟问题
- bzoj 1529