خوب حالا بیام سراغ کار با دیتابیس و سی شارپ :-)
اول دیتابیس رو توی پوشه Assets پروژه اضافه کنید ... و یه کلاس ایجاد کنید به اسم Database یا هر اسم دیگه ای که دوست دارین :
using Android.App;
using Android.Util;
using SQLite;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
namespace ExistingSqliteSample.Resources.Model
{
public class DataBase
{
#region copy and create database and tables
public string sqliteCon()
{
try
{
string path = Environment.GetFolderPath(Environment.SpecialFolde r.Personal);
string dbPath = Path.Combine(path, "fitnessDBupdate.db");
CopyDatabase("fitnessDBupdate.db");
string conn = dbPath;
return conn;
}
catch (SQLiteException ex)
{
Log.Info("SQLite Ex", ex.ToString());
return null;
}
}
private void CopyDatabase(string dataBaseName)
{
try
{
var dbPath = Path.Combine(Environment.GetFolderPath(Environment .SpecialFolder.Personal), dataBaseName);
if (!File.Exists(dbPath))
{
var dbAssetStream = Application.Context.Assets.Open(dataBaseName);
var dbFileStream = new FileStream(dbPath, FileMode.OpenOrCreate);
var buffer = new byte[1024];
int b = buffer.Length;
int length;
while ((length = dbAssetStream.Read(buffer, 0, b)) > 0)
{
dbFileStream.Write(buffer, 0, length);
}
dbFileStream.Flush();
dbFileStream.Close();
dbAssetStream.Close();
}
}
catch (SQLiteException ex)
{
Log.Info("SQLite Ex", ex.ToString());
}
}
public void createTables()
{
try
{
using (var conn = new SQLiteConnection(sqliteCon()))
{
conn.CreateTable<Members>();
}
}
catch (SQLiteException ex)
{
Log.Info("SQLite Ex", ex.ToString());
}
}
#endregion
#region tbl Members
public bool insertMembers(Members members)
{
try
{
using (var conn = new SQLiteConnection(sqliteCon()))
{
conn.Insert(members);
}
return true;
}
catch (SQLiteException ex)
{
Log.Info("SQLite EX", ex.ToString());
return false;
}
}
public bool updateMembers(Members members)
{
try
{
using (var conn = new SQLiteConnection(sqliteCon()))
{
conn.Query<Members>("Update tblMembers Set fullName=?, gender=?, memDescription=?, pic=?, password=? Where id=?",
members.fullName, members.gender, members.memDescription, members.pic, members.password, members.id);
}
return true;
}
catch (SQLiteException ex)
{
Log.Info("SQLite EX", ex.ToString());
return false;
}
}
public bool deleteMembers(Members members)
{
try
{
using (var conn = new SQLiteConnection(sqliteCon()))
{
conn.Delete(members);
}
return true;
}
catch (SQLiteException ex)
{
Log.Info("SQLite EX", ex.ToString());
return false;
}
}
public bool selectMembers(int id)
{
try
{
using (var conn = new SQLiteConnection(sqliteCon()))
{
conn.Query<Members>("Select * From tblMembers Where id=?", id);
}
return true;
}
catch (SQLiteException ex)
{
Log.Info("SQLite EX", ex.ToString());
return false;
}
}
public bool loginMembers(string fullName, string password)
{
try
{
using (var conn = new SQLiteConnection(sqliteCon()))
{
conn.Query<Members>("Select * From tblMembers Where (fullName=? And password=?)", fullName, password);
}
return true;
}
catch (SQLiteException ex)
{
Log.Info("SQLite EX", ex.ToString());
return false;
}
}
public List<Members> listMembers()
{
try
{
using (var conn = new SQLiteConnection(sqliteCon()))
{
return conn.Table<Members>().ToList();
}
}
catch (SQLiteException ex)
{
Log.Info("SQLite EX", ex.ToString());
return null;
}
}
#endregion
}
}
چون دوستان سی شارپ کار میکنید دیگه توضیحی در مورد کد ها نمیدم ... فقط اگه سوالی بود بپرسین !
اگه بتونم جواب میدم :-)