安卓项目-利用Sqlite数据库,开发新闻发布系统

本教程致力于程序员可以快速的学习安卓移动端手机开发。

适合于已经习得一种编程语言的同仁。

更多志同道合,想要学习更多编程技术的大神们。

小弟不才,麻烦关注一下我的今日头条号-做全栈攻城狮。

本文章是基于上篇文章基础之上进行深入学习的。程序员带你学习安卓开发-XML文档的创建与解析

Sqlite数据库:

Sqlite数据库是在安卓中使用较广泛的数据库。其为简单、轻巧的Sql类文件型数据库。因以简单的文本形式保存,所以安全性不是很高。只要拿到sqlite数据库文件就可以得到数据。所以这就决定了sqlite数据库不宜保存较为隐私重要的数据。

为了方便的编辑Sqlite数据库,我们这边使用一个Sqlite数据库可视化工具。Navicat Premium。

我这里找到一个比较不错的版本。分享给你。下载地址:https://yunpan.cn/cM9wzNM4KefD8 访问密码 6a40 软件安装很简单。一步一步下一步就安装成功了。安装成功打开如图:

Naviate:可以链接绝大都数数据库引擎,并且操作简单,支持强大的代码智能提示等。推荐大家使用。

一、Naviate 软件使用

1.创建Sqlite数据库:

配置数据库相关数据

链接名是左边项目显示的名称,可以自定义。这时我们发现,在桌面生成了一个first.db的文件。

没错的了,这就是sqlite的数据库文件。所有的数据都是保存在这个文件中的。

2.打开现有数据库文件:

打开链接即可打开成功。

3.我们可以初始化数据库结构和数据,例如:

3.1添加News表

CREATE TABLE "News" (

"Id" INTEGER NOT NULL,

"Title" TEXT,

"Content" TEXT,

PRIMARY KEY ("Id")

);

3.2初始化数据:

在这里只添加两行数据加入:News:

INSERT INTO "News" VALUES ('1', '英语四级高频词汇,纯干货,收藏', '1.alter [''ɔ:ltə] v. 改变,改动,变更2.burst [''bə:ðən] vi.,n. 突然发生,爆裂3.dispose [dis''pəuz] vi. 除掉;处置;解决;处理(of)4.blast [blɑ:st] n. 爆炸;气流 vi. 炸,炸掉5.consume [kən''sju:m] v. 消耗,耗尽作者:头条号 / 做全栈攻城狮');

INSERT INTO "News" VALUES ('2', '推荐几个对Asp.Net开发者比较实用的工具 2', '推荐几个对Asp.Net开发者比较实用的工具。大家有相关工具也可以在评论区留言,一起努力学习。

作为程序员要有挑战精神,大家可以尝试一下这些工具。');

其实和原生的sql语法差不多的啦。随便看看,对于你来说应该问题不大。

二、使用Android代码操作数据库:

1.我们继续做一个新闻发布管理系统

前台界面效果,很简单的布局操作的。这边我贴一下我的布局,供以参考。

2.Sqlite数据库操作:

2.1在onCreate方法中初始化控件:

private EditText editTitle;

private EditText editContent;

@Override

protected void onCreate(Bundle savedInstanceState)

{

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

editTitle = (EditText) findViewById(R.id.editTitle);

editContent = (EditText) findViewById(R.id.editContent);

}

2.2“保存”按钮绑定后台save方法,获取用户输入的新闻信息:

2.2.1 用户输入信息预处理:

public void save(View v)

{

String title = editTitle.getText().toString().trim();

String content = editContent.getText().toString().trim();

if (TextUtils.isEmpty(title)||TextUtils.isEmpty(content))

{

Toast.makeText(MainActivity.this, "信息填写不完整", Toast.LENGTH_SHORT).show();

return;

}

}

3. 将用户输入的新闻信息保存到数据库:

3.1 新建NewsSqliteHelper 继承自 SQLiteOpenHelper。用以维护和创建数据库。

3.2创建News对象,对应News表:

3.3 新建操作News表的Dao操作类:

因新闻发布系统,目前只能进行增加新闻,暂时先创建一个添加数据的方法。下节文章讲解:新闻列表展示功能。

3.4 保存数据到数据库:

News news = new News();

news.setTitle(title);

news.setContent(content);

NewsDao dao = new NewsDao(MainActivity.this);

dao.add(news);

Toast.makeText(MainActivity.this, "添加成功", Toast.LENGTH_SHORT).show();

4.最终效果

我们通过Android Device Monitor。把生成的数据库文件导出。

打开Android Device Monitor:

找到数据库文件导出:

用Naviate查看一下数据库数据。

至此一个简单的新闻发布系统完成。下节讲解利用Sqlite进行“新闻显示系统”

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏游戏杂谈

Node + Express + Mysql的CMS小结

因为之前用过上述的组合完成过很多系统,而这一次是为了实现一个帮助系统的静态网页发布。因为很久不写,重点说遇到的几个坑:

15720
来自专栏数据库架构设计

mysql高可用架构设计

主要介绍:复制功能介绍,mysql二进制日志,mysql复制拓扑,高可用框架,单点故障,读写分离和负载均衡

22400
来自专栏深度学习与数据挖掘实战

【neo4j图数据库】基础入门&案例整理

neo4j有社区版本和企业版。社区版本是免费的,只支持单机版;企业版是付费的,是分布式的。整理了一些不错的参考资料分享给大家。

37120
来自专栏游戏杂谈

node.js使用mysql模块的坑

  之前用node.js写的订餐系统,很容易挂掉,一直也没想去解决它。今天看了一下,试了试,原因是在连接数据库的时候没有对error事件进行处理,导致程序一直挂...

25830
来自专栏Java架构

深入理解高并发下分布式事务的解决方案

分布式事务就是指事务的参与者、支持事务的服务器、资源服务器以及事务管理器分别位于不同的分布式系统的不同节点之上。以上是百度百科的解释,简单的说,就是一次大的操作...

14120
来自专栏linux驱动个人学习

Linux进程调度策略的发展和演变--Linux进程的管理与调度(十六)

调度器面对的情形就是这样, 其任务是在程序之间共享CPU时间, 创造并行执行的错觉, 该任务分为两个不同的部分, 其中一个涉及调度策略, 另外一个涉及上下文切换...

23920
来自专栏Coding+

编码、加密和 Hash

散列函数(英语:Hash function)又称散列算法、哈希函数,是一种从任何一种数据中创建小的数字“指纹”的方法。散列函数把消息或数据压缩成摘要,使得数据量...

35520
来自专栏vue学习

48、mongoose入门

现在假设我们想把看到的每一只猫都用数据库给记录下来,即每只猫都是一条document(数据行)。

13420
来自专栏码生

python django 中生成 Authorization token

rest 框架中请求需要在头部增加 Authorization token 来证明是合法的用户 至于这个token如何生成,下面介绍三种方法:

34840
来自专栏JavaEE

Java面试题 - 03前言:三、框架篇:

1. JDBC编程有什么不足?mybatis是如何解决的? 答:主要有以下几个方面:

12010

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励