1、怎么查看Parse的后台数据库
Parse作为这么优的秀后台管理工具,肯定会为我们提供后台数据库的功能。
点击你的App下面的Core就可以进入你的App的核心功能管理处。
我们可以看到这个界面
我们可以在这个界面对我们程序的后台数据进行管理。
2、怎么创建数据并将它保存到后台数据库
这段简单的代码就可以实现我们的功能。
ParseObject gameScore = new ParseObject("GameScore"); gameScore.put("score", 1337); gameScore.put("playerName", "Sean Plott"); gameScore.put("cheatMode", false); gameScore.saveInBackground();
是不是很方便啊。
第一行代码是新建一个ParseObject对象,并让它与数据库中“GameScore”表相关联。
第二行到第四行代码是向ParseObject对象里面添加数据,参数表的第一个参数是对应数据表的列名,第二个参数是我们想要保存到数据表对应列的数据。
第五行代码是将ParseObject对象保存到后台中,此时就是将这个数据保存到后台数据库中。
gameScore.saveInBackground()的功能讲解:
当gameScore中的不包含objectId字段数据时,是在后台数据库插入一条新的数据;
当gameScore中的包含objectId字段数据时,是在后台数据库更新这条数据。
不管gameScore中的包不包含objectId字段数据,只要执行了这个方法,之后gameScore就与后台数据库的数据完全一致。打个简单的比方,gameScore一开始不包含objectId字段数据,执行了这个方法后,就将数据保存到后台数据库并自动为它添加了objectId等字段,再在Android客户端使用gameScore时,它就已经包含objectId字段数据了。
我们在Android程序里面添加上这段代码,就可以实现创建数据并保存到后台数据库的功能。运行Android程序,如果我们添加的那段代码运行了,那么我们可以在我们后台数据库看到添加进GameScore数据表的数据。
3、怎么从后台数据库获取数据
如果我们知道某一条数据的objectId(Parse后台数据库所有数据表的主键都是objectId),就可以通过下面的代码获取这条数据。
ParseQuery<ParseObject> query = ParseQuery.getQuery("GameScore"); query.getInBackground("xWMyZ4YEGZ", new GetCallback<ParseObject>() { public void done(ParseObject object, ParseException e) { if (e == null) { // 这里的object就是我们需要的那一条数据 } else { // something went wrong } } });
我们怎么从object获取某个字段的值,可以通过GetX方法。
int score = gameScore.getInt("score"); String playerName = gameScore.getString("playerName"); boolean cheatMode = gameScore.getBoolean("cheatMode");
对于某些特殊的字段,我们可以通过GetKey方法获得。
String objectId = gameScore.getObjectId(); Date updatedAt = gameScore.getUpdatedAt(); Date createdAt = gameScore.getCreatedAt();PS:数据库的查询操作内容比较多,留到后面集中讲解。
4、怎么从后台数据库获取最新数据
假如你从后台获取了一条数据,之后后台的这条数据改变了,你要获取最新的数据怎么办,通过下面这段代码就可以实现了。
myObject.fetchInBackground(new GetCallback<ParseObject>() { public void done(ParseObject object, ParseException e) { if (e == null) { // Success! } else { // Failure! } } });
PS:myObject必须包含objectId字段数据。
5、离线保存数据
我们用saveInBackground()方法保存数据时,必须是在我们的Android设备有网络的情况下才可以进行的,如果我现在没有网络但是我希望我一有网络就可以把数据保存在Parse后台数据库。我们可以通过saveEventually()方法实现,在离线时,我们通过saveEventually()方法保存的数据都会保存着,一旦我们有网络了,这些数据就按照先后顺序依次保存到Parse后台数据库中。
ParseObject gameScore = new ParseObject("GameScore"); gameScore.put("score", 1337); gameScore.put("playerName", "Sean Plott"); gameScore.put("cheatMode", false); gameScore.saveEventually();
6、怎么更新后台数据库的数据
其实更新后台数据库的数据也是通过saveInBackground()方法实现的,从前面我对saveInBackground()这个方法的讲解中,大家就可以知道。
ParseQuery<ParseObject> query = ParseQuery.getQuery("GameScore"); // Retrieve the object by id query.getInBackground("xWMyZ4YEGZ", new GetCallback<ParseObject>() { public void done(ParseObject gameScore, ParseException e) { if (e == null) { // Now let's update it with some new data. In this case, only cheatMode and score // will get sent to the Parse Cloud. playerName hasn't changed. gameScore.put("score", 1338); gameScore.put("cheatMode", true); gameScore.saveInBackground(); } } });
7、怎么删除后台数据库的数据
我们可以通过delete()方法实现。
gameScore.deleteInBackground()