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

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

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

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

本文章是基于上篇文章基础之上进行深入学习的。程序员带你学习安卓开发-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进行“新闻显示系统”

请点击关注,获取最新教程

今日头条-做全栈攻城狮。

QQ技术交流群号码:538742639

安卓项目-利用Sqlite数据库,开发新闻发布系统的更多相关文章

  1. 使用JSP/Servalet技术开发新闻发布系统------动态网页开发基础

    什么是动态网页? 动态网页是指在服务器端运行的程序或者网页,它们会随不同客户.不同时间,返回不同的网页. 动态网页的特点? (1).交互性:即网页会根据用户的要求和选择而动态改变和响应.采用动态网页技 ...

  2. 使用JSP/Servlet技术开发新闻发布系统---Servlet基础

    Servlet简介 什么是Servlet 其实就是一个类,主要负责处理用户的请求和做到数据的相应以及页面的跳转,基于Java技术的Web组件 Servlet API Servlet接口 Servlet ...

  3. 使用JSP/Servlet技术开发新闻发布系统---JSP数据交互(二)

    JSP内置对象application application对象 JSP常用的内置对象 对象的作用域 作用的分类 对象的作用域 page作用域 实例 //页面1 <% String name = ...

  4. 第一章使用JSP/Server技术开发新闻发布系统第一章动态网页开发基础

      一:为什么需要动态网页    由于静态网页的内容是固定的,不能提供个性化和定制化得服务,使用动态网页可真正地与用户实现互动. 二:什么是动态网页  ①:动态网页是指在服务器端运行的,使用程序语言设 ...

  5. 使用JSP/Servalet技术开发新闻发布系统------JSP数据交互一

    什么是内置对象 JSP内置对象是 Web 容器创建的一组对象,不用通过手动new就可以使用 JSP中的九大内存对象  request 请求对象  response 响应对象  out   输出对象  ...

  6. Visual Studio下SQLite数据库开发环境设置

    由于我们介绍的内容都是基于微软的Visual Studio下开发的Win32平台,所以下边我们介绍Visual Studio下SQLite数据库开发环境设置.具体而言我们有两种方式可以在Visual ...

  7. Andorid SQLite数据库开发基础教程(3)

    Andorid SQLite数据库开发基础教程(3) 数据库生成方式 数据库的生成有两种方式,一种是使用数据库管理工具生成的数据库,我们将此类数据库称为预设数据库,另一种是使用代码生成的数据库. 使用 ...

  8. Andorid SQLite数据库开发基础教程(2)

    Andorid SQLite数据库开发基础教程(2) 数据库生成方式 数据库的生成有两种方式,一种是使用数据库管理工具生成的数据库,我们将此类数据库称为预设数据库,另一种是使用代码生成的数据库.

  9. DRP PK 牛腩新闻发布系统

    一.JSP与ASP (1)Web服务器的支持:大多数通用的Web服务器如:Apache.Netscape和Microsoft IIS都支持JSP页面,只有微软本身的Microsoft IIS和Pers ...

随机推荐

  1. bzoj1823

    第一道2sat, 其实2sat问题不难,只要记住一个:通过“推导出”连边 什么意思呢?就是一般题目中的变量都有两个状态,只能取一个,我们定义为true和false 对于每一个变量i,我们都拆成两个点, ...

  2. scp linux远程拷贝和本地拷贝命令

    linux远程拷贝和本地拷贝命令   一.linux对linux 远程拷贝   scp命令    scp 文件名  root@远程ip:/路径/    将本地home目录下的test.tar的文件拷贝 ...

  3. ReentrantReadWriteLock读写锁的使用

    Lock比传统线程模型中的synchronized方式更加面向对象,与生活中的锁类似,锁本身也应该是一个对象.两个线程执行的代码片段要实现同步互斥的效果,它们必须用同一个Lock对象. 读写锁:分为读 ...

  4. HDU 5648 DZY Loves Math 暴力打表

    题意:BC 76 div1 1003有中文题面 然后官方题解看不懂,我就不说了,然后看别人的题解 因为询问i,j最大都是15000,所以可以预处理,res[i][j]代表答案,然后显然这是开不下的,也 ...

  5. 【HTML】Advanced5:Accessible Forms

    1.label <form> <label for="yourName">Your Name</label> <input name=&q ...

  6. centos "cannot open display"的问题

    实用技巧:在Linux下设置xhost方法步骤 第一步:用root登陆linux,启动vnc服务: 第二步:根据vnc起来的端口,设置export DISPLAY=localhost:1(1表示vnc ...

  7. 问题-Delphi记忆工程打开的单元(XE2设置项)

    问题情况:每次在delphi中打开了N个单元的窗口,关闭delphi后,第二天还得一个一个打开单元窗口.问题原因:这是因为delphi的记忆功能未打开.问题处理:Tools->Options.. ...

  8. nginx + lua 构建网站防护waf(一)

    最近在帮朋友维护一个站点.这个站点是一个Php网站.坑爹的是用IIS做代理.出了无数问题之后忍无可忍,于是要我帮他切换到nginx上面,前期被不断的扫描和CC.最后找到了waf这样一个解决方案缓解一下 ...

  9. Spring源码入门——AnnotationBeanNameGenerator解析

    ---恢复内容开始--- 接上篇,上篇解析了DefaultBeanGenerator生成bean name的过程(http://www.cnblogs.com/jason0529/p/5272265. ...

  10. Http协议简单解析及web请求过程

    HTTP协议: HTTP是一个属于应用层的面向对象的协议,由于其简捷.快速的方式,适用于分布式超媒体信息系统. 基于HTTP协议的客户端/服务器请求响应机制的信息交换过程包含下面几个步骤: 1)    ...