上一篇文章列出了在Android上对数据库进行操作的基本流程,及简单的增,删,查的方法。这一篇实现添加用户,查找用户的方法调用。UserInfo类请参考上一篇文章。
在Android中,我们通过ContentValues往数据库中传值,屏蔽了复杂了insert语句,十分方便。首先结合Android:SNS客户端开发二:获取账号资料中,我们得到的用户信息,声明一个ContentValue对象。代码:
ContentValues values = new ContentValues();
values.put("userid", user_id);
values.put("name", name);
values.put("nickname", screen_name);
values.put("access_token", access_token);
values.put("access_secret", access_secret);
values.put("type", "sina");
values.put("icon", ImageUtil.getBytesFromUrl(headUrl));
以上的各个字段信息都是在获取账号资料放中得到的。然后我们调用上篇文章中DBOperate中的insert方法,将用户信息插入到数据库中。
if (!dboperate.isExist(values)) {
dboperate.insertUser(values);
Toast.makeText(context, "添加账号成功", Toast.LENGTH_LONG).show();
} else {
Toast.makeText(context, "该账号已存在", Toast.LENGTH_LONG).show();
}
先判断用户数据是否已经在数据库里,如果不存在则插入到数据库中,若存在则显示账号已存在。
那么到这里,我们的数据库操作基本就完成了。下一篇会开始介绍发送一篇微博的界面设计。
补充:我们可以看到在第一段代码中有这么一句话
values.put("icon", ImageUtil.getBytesFromUrl(headUrl));
在上一篇中,我们在建立user表时,将icon(头像)的数据类型设置为blob,也就是二进制字段。那么我们在将用户头像存入数据库的时候,需要从网络上拉取到用户头像文件,并转化成二进制信息之后再存入数据库。附上ImageUtil中的getBytesFromUrl方法代码:
public class ImageUtil {
public static byte[] getBytesFromUrl(String url) throws Exception {
return readInputStream(getRequest(url));
}
public static byte[] readInputStream(InputStream inStream) throws Exception {
ByteArrayOutputStream outSteam = new ByteArrayOutputStream();
byte[] buffer = new byte[4096];
int len = 0;
while ((len = inStream.read(buffer)) != -1) {
outSteam.write(buffer, 0, len);
}
outSteam.close();
inStream.close();
return outSteam.toByteArray();
}
public static InputStream getRequest(String path) throws Exception {
URL url = new URL(path);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");
conn.setConnectTimeout(5000);
if (conn.getResponseCode() == 200) {
return conn.getInputStream();
}
return null;
}
}
分享到:
相关推荐
Android:SNS客户端开发八:发送带图片的微博 第一种方法
报报告:SNS在中国的机会及未来发展趋向报报告:SNS在中国的机会及未来发展趋向
基于安卓Android的SNS社交网络客户应用需求调研报告范本.pdf基于安卓Android的SNS社交网络客户应用需求调研报告范本.pdf基于安卓Android的SNS社交网络客户应用需求调研报告范本.pdf基于安卓Android的SNS社交网络客户...
电子商务案例分析:SNS平台案例.ppt
SNS社交网站数据库设计[归纳].pdf
人人都玩开心网:Ext+JS+Android+SSH整合开发Web与移动SNS
开心网CEO程炳皓:SNS的3个方向.docx
Android的SNS App源码,内容自己看哈,互相交流学习下
我的第二个android sns应用程序。 与相比,此应用程序是升级版本。 잭트는 진화된잭트NS NS케케케케케NS NS NS。 。른른。구현했습니구현했습니구현했습니구현했습니。 목차 기술스택 언어: Java,PHP,...
大型SNS网站数据库设计
二.NoSQL数据库的产生 关系数据库面临挑战 关系数据库面对超大规模和高并发的SNS类型的web2.0纯动态网站显得力不从心,暴露了很多难以克服的问题 A 大数据发展 大规模数据集合,多重数据带来了许多挑战,尤其是...
SNS社交网站数据库详细设计,对社交网站开发有帮组
本人在12年7月份研究android如何与SNS网站接入时写的备忘录,主要信息也是收集于各SNS网站的接入开发说明,然后加以精简,希望节省大家时间,对大家有帮助。主要网站包括开心网、腾讯微博、新浪微博、人人网。
Android经典开发---豆瓣网移动客户端 讲解+源代码
基于安卓Android的SNS社交网络客户应用需求调研报告范本.docx基于安卓Android的SNS社交网络客户应用需求调研报告范本.docx基于安卓Android的SNS社交网络客户应用需求调研报告范本.docx基于安卓Android的SNS社交网络...
它是支持ActivityPub的分布式SNS的客户端。 如何使用 您可以通过输入分布式SNS的实例地址并登录来使用它。 支持的操作系统 Windows10 64位 对于Mac和Linux,我们将尽快制作兼容版本。 (也许) 更新记录 1.0.0第一...
Caokun.Net:trade_mark: SNS:开源社交网络服务软件,PHP + MySQL编写
Android娱乐多媒体软件、赶集网手机客户端、移动办公、来电管理器、短信监控器、电话监控器、手机安全软件、手机守护神、新浪微博客户端、贪吃蛇游戏、数独游戏。 Java虚拟机实现、基于分布式架构的大型B2C电子商务...
SNS-简单名称服务器这是什么? SNS-使用动态名称服务器很容易。 该软件的主要目标-替换DNS数据包中的数据。 简单的工作方法: 使用之前:DNS客户端<----> DNS服务器使用后:DNS客户端<----> SNS <---...
自己编写的android社交网络客户端,服务器也是自己编写的