一.基本配置
1.打开网页进入Leancloud官方网站创建应用
2.这样就成功创建了一个自己的应用 ,点进去可以查看相关数据
3. 将它们粘贴到安卓的build.gradle目录中,点击编译按钮即可应用到当前文件中
对安卓中进行配置代理
点击确定即可进行测试(此功能需要连接国外网站翻墙使用)
4.在官网技术文档找到权限添加位置
在Android中添加需要的配置文件
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
5.进入初始化阶段Java SDK 配置指南 - LeanCloud 文档
新建类并按步骤添加
将Id,key等替换为自己的,选择自己的应用点击会快速生成,但服务器地址需手动复制粘贴。
也可新建Java文件替换
6.在AndroidManifest.xml文件中注册这个类
7.目前已完成该项目的基本配置,记得添加网络权限代码
<uses-permission android:name="android.permission.INTERNET" />
二.实现调用leancoul后台登录注册
1.在这里添加注册用户按钮
2.添加注册界面对应的布局和Java代码,在LoginActivity布局中添加返回注册界面的按钮
2.1在进行注册按钮中添加事件使其跳转到注册界面
添加注册按钮的绑定事件
定义:
private ActivitySingupBinding binding;
// 创建实例 binding = ActivitySingupBinding.inflate(getLayoutInflater());
控件绑定
final EditText usernameEditText = binding.y1; final EditText phoneEditText = binding.y2; final EditText emailEditText = binding.y3; final EditText passEditText = binding.y4;
2.2调用官方文档中的注册按钮事件数据存储开发指南 · Java - LeanCloud 文档
将其中的数据进行替换成自己的,进行代码调试
而图2的注册仅仅实现了一个跳转功能
Intent intent = new Intent(LoginActivity.this, SingupActivity.class);
startActivity(intent);
这样注册界面实现完成,可以点击Leancloud官方网站自己的软件界面查看是否注册完成
这是我自己创建的,显示已经新建用户成功(注意!!!此软件需要联网,才能将注册到的账号关联上去)
控制台信息如下
2.3实现登录按钮
进入loginActivty里面添加相应的控件信息
进入数据存储开发指南 · Java - LeanCloud 文档
官方网站中
复制代码
然后对其进行对应的更改,跳转功能实现
这样完成登录就会跳转到另一个界面。登录功能完成
三.实现数据储存功能,本例是实现拍照上传到Leancloud官网中去
关于拍照界面及代码设计这里不搞过多叙述,主要注意如何更改代码上传到Leancloud数据中心并通过进度条展示出来
3.1在照片回调方法中将储存路径修改
// 拍摄的照片显示出来 // Bitmap bitmap = BitmapFactory.decodeStream(getContentResolver(). // openInputStream(imageUri)); // Log.i("test","pto_________________"+bitmap); // picture.setImageBitmap(bitmap);
首先进行对象的构建,已知LCObject
还支持两种特殊的数据类型 Pointer
和 File
,可以分别用来存储指向其他 LCObject
的指针以及二进制数据。
这里采用LCFile用来储存数据,path指定地址
String path;定义地址
LCFile file = LCFile.withAbsoluteLocalPath("avatar.jpg", path);关联路径
在功能方法中对path获取地址
path=outputImage.getAbsolutePath();
try {
if(outputImage.exists()){
outputImage.delete();
}
outputImage.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
3.2在回调方法中保存对象
file.saveInBackground(new ProgressCallback() {
@Override
public void done(Integer percent) {
// percent 是一个 0 到 100 之间的整数,表示上传进度
Log.i("123","percent:"+percent);
progressBar1.setProgress(percent);
}
});
保存到云后端。
参数:progrescallback -进度回调。ProgressBar为进行进度条监听
按照要求添加新的元数据。(可以进入官网源码查看方法)
file.addMetaData("author","LeanCloud");
下面按照要求将对象保存到云端
仅仅添加了获取名字和地址的东西,将照片显示出来。
下面是进度条的布局定义设置,使用也就是定义控件,获取控件,最后在保存处监听
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="任务完成进度条"
android:textSize="24dp"/>
<!-- 定义水平进度条-->
<ProgressBar
android:id="@+id/progressBar1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:max="100"
style="@android:style/Widget.ProgressBar.Horizontal"/>
<!-- 定义水平进度条,改变轨道外观-->
成功后是这样的,点击链接可以查看图片样子
项目具体实现步骤有
- 在本地电脑创建Android Studio工程,起名为ChangLiao。(5分)
- 使用Android Studio自带模板Login Activity模板。(5分)
- 注册LeanCloud云服务账号并导入SDK。(5分)
- 实现注册页面,并调用LeanCloud注册接口将用户注册信息上传到LeanCloud后台。(10分)
- 处理注册异常返回,显示Toast提示。(5分)
- 实现登录页面,并调用LeanCloud登录接口请求后台返回登录成功与否。(10分)
- 处理登录失败异常返回,显示Toast提示。(5分)
- 创建一个空的Activity,命名为HomeActivity。登录成功,跳转到HomeActivity。(5分)
- 创建一个空的Activity,命名为UploadActivity。包含一个按钮,绑定打开相机并拍照的事件。(10分)
- HomeActivity包含一个按钮,可以跳转到UploadActivity。(5分)
- 在UploadActivity中实现拍照上传功能。将拍照生成的图片保存在某个路径下,然后调用LeanCloud文件上传接口,将文件上传到LeanCloud后台。(10分)
- 使用ProgressBar控件显示上传进度。
https://gitee.com/mr-liu-who-loves-tapping-code/chat-about-android-practice
PS:源码将会放在gitee上方便大家免费查看学习