技术标签: java sqlite 数据库开发 android studio intellij-idea intellij idea
Android studio 之数据库的使用 连接创建SQLite
大家好,欢迎来到寒依。
相信看啦我的教程 当老师问你在学习Android studio 数据库使用过程中遇到什么困难,分享一下你的感悟和解决方法 的时候,你可以直接大胆的说出来: “老师我没有遇到问题,看啦寒依的教程 畅行无阻”
我使用的工具是 Intillij idea 专业版 但是方法都一样 因为 Intellij idea 是Android studio 的祖宗 方法都是一样
Intellij idea专业版 yyds
相信你能看到这篇文章 肯定是在学习Android studio 连接数据库时遇到啦问题。哪恭喜你,你今生都很幸运,不然也不可能你遇到我,哪下面呢就让我给下面带来最精彩都得教程。相信你也会觉得非常的简单。
如果你是大佬就单纯想来看看我,那就当我没说,还请大佬来指点指点,必将感激不敬。
不废话啦, 傻瓜式教程马上开始。小板凳坐好啦,下面才是学习Android 开发正确的打开方式。
SQLite 为Android studio 自带 无需下载
Android studio 接数据库(SQLite),创建数据库
第一步 新建一个新的Android 项目 不会看图
新建Android 选择一个空的(Empty Activity)项目 接着点击 下一步
Name 自己取就ok 语言Language 选择 java 点击完成
接下来才是最精彩的时刻 竖起小耳朵 张大眼睛盯好啦 (新建一个类 )
DbContect.java
package com.example.dbproject;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.widget.Toast;
public class DbContect extends SQLiteOpenHelper {
private static final int VERSION=1;
private static final String DBNAME="Users.db"; // 创建数据库名叫 Users
private Context mContext;
public DbContect(Context context){
super(context,DBNAME,null,VERSION);
mContext = context;
}
//创建数据库
public void onCreate(SQLiteDatabase db){
//创建密码表 pwd_tb
db.execSQL("create table pwd_tb (pwd varchar(20) primary key)");
//创建收入表 user_tb
db.execSQL("create table user_tb(_id integer primary key autoincrement, money decimal," +
" time varchar(10),type varchar(10),handler varchar(100),mark varchar(200))");
}
//数据库版本更新
public void onUpgrade(SQLiteDatabase db,int oldVersion,int newVersion)
{
db.execSQL("drop table if exists pwd_tb");
db.execSQL("drop table if exists user_tb");
onCreate(db);
}
}
再来到 activate_main.xml
activaty_main.xml
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<LinearLayout android:layout_width="match_parent"
android:layout_height="match_parent">
<Button
android:id="@+id/create"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#00BCD4"
android:textSize="22dp"
android:text="点击创建Users数据库"
>
</Button>
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
再打开 MainActivaty .java
MainActivaty .java
package com.example.dbproject;
import android.database.sqlite.SQLiteDatabase;
import android.view.View;
import android.widget.Button;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
public class MainActivity extends AppCompatActivity {
DbContect helper;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
helper=new DbContect( MainActivity.this);
Button btn=findViewById(R.id.create);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View V) {
SQLiteDatabase db=helper.getWritableDatabase();
}
});
}
}
好啦 代码完事 刚才是最精彩的时刻 现在到啦激动人心的时候
测试一下是否成功 和数据可视化 精彩即将呈现
运行项目
点开模拟器 小手机
别急 还没完事 结果还没出呢 再来到
此时在右下角会跳出一个东西
到第二个data 下面找到
直接看图吧 不想打字啦
Users.db 就是我们创建的数据库
接下来可视化
方法一 :
嘿嘿 出来啦 激动不激动
可视化方式二:
将数据库保持下来 用其他的可视化工具打开 直接将 保存的 Users.db 托到 Navicat
直接托进去 就ok
好啦 老师再敢问你学习Android studio数据库的使用中有没有什么困难的时候就可以很有底气的跟她说 “老师我没有遇到问题 ,学习中畅行无阻”
教程完毕 欢迎 投稿提问
也欢迎大佬指导
谢谢大家 !
1. 导出GPS坐标 不同型号的GPS接收机导出的数据格式不同:国产与国外不同、静态与差分不同、基站与流动不同;RINEX格式是一个国际上通用的数据交互格式,通常接收机可以导出这种格式,所以不必烦恼。(可参考(要看博客?老师说博客内容不严谨,那你可以找本书啊!!!书是经过严谨论证的,博客可能有感而发,错字是不是就是见怪不怪?书读的少,怪我喽?):https://blog.csdn...
1配置文件调用顺序**_moveit_planning_execution.launch->move_group.launch→ **_moveit_controller_manager.launch.xml (填写控制器)->controllers.yaml2.新建controllers.yaml3.编写一个启动文件 https://blog....
在C++发明阶段,C++之父Stroustrup和贝尔实验室的C++小组对原先的宏方法进行了修订,对其进行了简化并将它从预处理范围移入了编译器。这种新的代码替换装置被称为模板,而且它变现了完全不同的代码重用方法:模板对源代码重用,而不是通过继承和组合重用对象代码。当用户使用模板时,参数由编译器来替换,这非常像原来的宏方法,却更清晰,更容易使用。模板使类和函数可在编译时定义所需处理和返...
部署Maven项目到tomcat报错:java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener1. 报错信息严重: Error configuring application listener of class org.springframework.web.contex...
第一部分1、如何在生产中监控Docker? Docker提供docker status和docker事件等工具来监控生产中的Docker。我们可以使用这些命令获取重要统计数据的报告。Docker统计数据: 当我们使用容器ID调用docker stats时,我们获得容器的CPU、内存使用情况等。它类似于Linux中top命令。Docker事件: Docker事件是一个命令,用于查看Docker守护进程中整改
一、“TypeError: 'int' object is not callable”这个错误的意思是int对象不可调用。出现这个错误,很有可能就是因为函数名和变量名重复,解决方法:要么改函数名,要么改变量名我的错误就比较奇怪了,可能是我的列名和之前定义的变量重复吧(。。感觉不太可能因为这个错误啊。。)然后,我就把变量名字改了一下。改为:最后别忘了重新makegr...
中国画(亦称国画)是我国特有的画种,由于民族性格、历史文化传统、审美以及绘画材料和工具的不同,经过无数画家的努力形成的、带有民族特色的画种,是世界艺术中的重要组成部分。 1中国画是我国传统造型艺术之一,简称中国画。 2中国画的工具有哪些笔、墨、纸、砚。
MySQL中CONCAT()、CONCAT_WS()和GROUP_CONCAT()函数的区别和使用一、MySQL中CONCAT函数1.功能将多个字符串连接成一个字符串2.语法CONCAT(str1,str2,…) 3.使用方法返回结果为连接参数产生的字符串。如有任何一个参数为NULL ,则返回值为 NULL。 mysql&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt; SELECT CONCAT('张三','李四...
DIY非交互式动态壁纸APK安装文件首先,让我们首先了解1.由几个图像帧组成. 当以一定顺序和速度连续播放几帧时,就会形成. 影响. 这也是的原理. 最熟悉的图片是GIF格式的图像. 2.简单来说,墙纸部分的组成是通过APK程序进行的GIF循环. 3.已安装的APK可以直接在动态壁纸中找到,并设置为动态桌面,以实现最简单的播放效果. 4.所谓的非交互性是指通过以下教程制作的动态壁纸无法通过在...
算法训练 幂方分解 时间限制:1.0s 内存限制:256.0MB问题描述 任何一个正整数都可以用2的幂次方表示。例如: 137=27+23+20 同时约定方次用括号来表示,即ab可表示为a(b)。 由此可知,137可表示为: 2(7)+2(3)+2(0) 进一步:7= 22+2+20(21用2表示) 3=2+20 所以最后13...
windows使用openssl生成根证书及SSL证书签发网上找了很多生成命令,大都中间会出问题,我是在win10进行证书生成,踩过的坑进行记录。1 OpenSSL下载最新的版本:https://github.com/openssl/openssl/archive/OpenSSL_1_1_1b.zip2 windows下安装及配置安装过程不写了。(1)配置主要是环境变量path,将op...
原文 http://www.cnblogs.com/hyd-desert-camel/p/3536341.html1 三个相关数据结构 .关于 socket 的创建,首先需要分析 socket 这个结构体,这是整个的核心。104 struct socket {105 socket_state state;106