Die Befehlszeile gibt das Stammverzeichnis des ReactNative-Projekts ein und führt
npm install React-native-sqlite-storage --save
aus
In Abhängigkeiten Kompilierungsprojekt hinzufügen(':react-native-sqlite-storage')
4. Bearbeiten Sie die Hauptanwendung .Java-Datei, Registrieren Sie das SQLite-Modul in MainActivitiy.java
import org.pgsqlite.SQLitePluginPackage;
@ Override
protected List
return Arrays.< ;ReactPackage>asList(
new SQLitePluginPackage() , >
5 🎜>
Um die Datei sqlite.js zu schreiben und die Komponente einzuführen, importieren Sie SQLiteStorage aus „react-native-sqlite-storage“;Achten Sie darauf jede
[Javascript]Klartext anzeigen
import React,{Component} from 'react'; import{
} from
var Database_name =
var Database_version = "1.0";//Versionsnummer
var Database_displayname = "MySQLite";
//-1 Es sollte unbegrenzten
exportieren
extends Component{ if(db){
this._successCB('close '); db.close();
console. log("SQLiteStorage not open"); open(){
db = SQLiteStorage.openDatabase( Datenbankname,
Datenbankversion,
Datenbankanzeigename,
() =>{
🎜>
if (!db) {
'id INTEGER PRIMARY KEY AUTOINCREMENT,' +
'phone VARCHAR,' +
> 🎜> this._successCB(
'executeSql');}, (err)=> ._errorCB(
}, (err )=> {//Alle Transaktionen sollten Fehlerrückrufmethoden haben und Ausnahmeinformationen in der Methode ausgeben, sonst wissen Sie möglicherweise nicht, was schief gelaufen ist.
'transaction', err);
}, ()=> {
}
db.transaction((tx )=>{
tx.executeSql('delete from user',[],()=> ;{
db.transaction((tx)=>{
'drop table user',[],()=> ;{
'transaction', err);
},()=>{ >
this._successCB(});
insertUserData(userData){
let len = userData.length;
if (!db) {
this.open();
this.deleteData(); > db.transaction((tx)=>{
let name= user.name; >
let phone = user.phone;
let email = user.email;
let qq = user.qq;
let sql = "INSERT INTO user(name,age,sex,phone,email,qq)"+
"values(?,?,?,?,?,?)";
tx.executeSql(sql,[name,age,sex,phone,email,qq],()=>{
},(err)=>{
console.log(err);
}
);
}
},(error)=>{
dies ._errorCB('transaction', error);
ToastAndroid.show("数据插入失败",ToastAndroid.SHORT);
},()=>{
this._successCB('transaction insert data' );
ToastAndroid.show("成功插入 "+len+" 条用户数据",ToastAndroid.SHORT);
});
}
close(){
if(db){
this._successCB('close');
db.close();
}else {
console.log("SQLiteStorage not open");
}
db = null;
}
_successCB(name){
console.log("SQLiteStorage "+name+" success");
}
_errorCB(name, err){
console.log("SQLiteStorage "+name);
console.log(err);
}
render(){
return null;
}
};
'reagieren';
importieren {
AppRegistry,
Text,
Ansicht,
Navigator,
StyleSheet,
} von 'react-native';
SQLite aus './sqlite' importieren;
var sqLite = new SQLite();
var db;
class App extends Component{
compennetDidUnmount(){
sqLite.close();
}
componentWillMount(){
//开启数据库
if(!db){
db = sqLite.open();
}
//建表
sqLite.createTable ();
//删除数据
sqLite.deleteData();
//模拟一条数据
var userData = [];
var user = {};
user.name = "张三";
user.age = "28";
user.sex = "男";
user.phone = "18900001111";
user.email = "2343242@qq.com";
user.qq = "111222";
userData.push(user);
//插入数据
sqLite.insertUserData(userData);
//查询
db.transaction((tx)=>{
tx.executeSql("select * from user", [],(tx,results)=>{
var len = results.rows.length;
for(let i=0; i
var u = results.rows.item(i);
//一般在数据查出来之后, 可能要setState操作,重新渲染页面
alert("姓名:"+u.name+",年龄:"+u.age+" ,电话:"+u.phone);
}
});
},(error)=>{//打印异常信息
console.log(error);
});
}
render(){
return null;
}
}
Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung von Beispielen für die Verwendung der SQLite-Datenbank in React Native. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!