ios網路資料庫
可以的,你可以把資料庫直接放在自己的工程里,然後使用的時候根據名稱找到資料庫,用mysql的sql語句就可以了
② IOS的數據是如何交互的,用什麼建立資料庫
一種實現不同系統之間數據交互的方法,將需要服務的客戶進程與提供服務的服務進程通過介面代理進行交互,該介面代理接收命令行參數並獨立運行
可以總結為向第三方系統推送數據或從伺服器拉回數據兩種
給點初步建議:
◎ 不暴露資料庫,否則:人家統計你等待、人家鎖表你死機、人家改數你糾錯;
◎ 約松耦合越好,能批處理就不要實時處理,能用數據交換就不用介面調用,能用非同步介面就不用同步介面;
◎ 是不是WebService隨意,不過現在有不少輕量級方案,主要還是看安全性和性能要求了。
③ iOS開發可以使用資料庫嗎
可以用啊,當然必須可以用啊,
keychain,NSUserdefault,plist,coredata,sqlite,文件的形式的存儲,這6個一般是最常用的,其他的我也沒有用過,也不知道性能咋樣,畢竟我也不是大神,
keychain,鑰匙串,那種無線的密碼保存一般都是用的是這個,
NSUserdefault 這個適合存儲小型的數據,一般就存個用戶的id,用來判斷是否登錄
plist 這個你看又好多改變字體的大小,主題,一般用的是plist
coredata和這個sqlist,,這兩個看你用哪個方便用哪個,熟練用哪個就用哪個,一般存儲歷史記錄,緩存很多的數據,大型的數據,一般用這2個其中1個
文件,文章,特別長的文章,我一般用文件存儲,畢竟存的東西少,這是一篇文章的所有內容
④ ios app用什麼資料庫
iOS app一般常用的資料庫有sqlite和coredata。
sqlite使用的是SQL語句,代碼會比較復雜,一般不是特別大得數據可以用sqlite來寫。
蘋果的建議是使用coredata,但是coredata在邏輯上會復雜一些,如果能把握住coredata的邏輯關系,那會大大的提高工作效率。
一般建議使用第三方庫來寫
⑤ iOS 開發中,可以實現app直接連接伺服器上的mysql資料庫直接取數據么
理論上是可以直接讀取資料庫的,相當於遠程連接著數據。簡單說明一下,就是用客戶端組件,設置資料庫地址、埠、用戶、密碼,然後直接select update,把命令提交到資料庫。
但問題在於資料庫的信息,用戶密碼存儲在客戶端,容易給反編譯出來(難度這個我不清楚,你做ios開發可能清楚點)。而當發生安全問題的時候,要改密碼或者資料庫地址,麻煩事就來了,總不能讓用戶再升級一次(ios的發布期你也知道)。
此外還要考慮數據在傳輸過程中是否加密,是否證書方式,現在的網路,劫持植入廣告滿街都是。好像蘋果那邊有限制今後的新軟體要ssl才行。
⑥ ios fmdb 使用什麼資料庫
1.給UITableView中的UIButton添加UIControlEventTouchUpInside 的事件處理函數 2.封裝操作資料庫的類,可以用單例。在里包含了你所以的操作數據中的操作。分離資料庫操作 3.在UIBUtton的響應事件中,調用資料庫操作的單例類來實現你要取的upload...
⑦ ios開發是如何訪問資料庫的
第一,我不是高手,第二,我可以分享下我的心得。一般的數據量很小的項目,沒必要使用資料庫,如果只是保存寫用戶信息,大可以用其他的方法,用keychain或者nsuserdefault或者其他的都可以。任何一個項目都需要保存一個使用狀態,不能每次打開項目的時候都和第一次運行一樣,完全新,要給人以使用過的感覺就要存儲一些歷史數據。如果怕影響用戶體驗的話,可以多開線程在後台去對數據操作(數據量大的情況下),記得對線程要回收。如果你對保存數據比較迷茫的話,你可以google一下ios的四種數據持久化,對於sqlite和coredata,我個人認為只是兩種不同的存儲方法,一種是小型輕量級sqlite資料庫,所有移動設備經常用到的,還有一種是蘋果針對ios操作系統開發的coredata數據存儲,具體孰勝孰略還有待你自己去了解,一般如果我的資料庫要非常多的表格互相關聯最後查詢一條結果那麼我會採用sqlite,如果存儲一些有規律的數據那麼我會採用coredata,沒有哪個更好的說法,只能說這兩種都各有千秋,而我聽前輩們說,coredata只是蘋果對sqlite的又一次封裝而已,方便操作但也局限操作
⑧ 請問iOS怎麼連接網上的MySQL資料庫
可以使用MySQL推出的MySQLConnector/Net組件,該組件是MySQL為ADO.NET訪問MySQL資料庫設計的.NET專用訪問組件,完成該組件後,需要在項目中引用這個組件,之後在程序中引用命名空間MySql.Data.MySqlClient,即可開始進行連接MySQL資料庫的操作了,示例如下:
protected voidMySqlCon()
{
//資料庫連接字元串跟連接SQLSERVER沒有區別
string constr = "server=localhost;UserId=root;password=root;Database=test";
//下面使用MySql Connector/net提供的專用對象
MySqlConnection mycon = new MySqlConnection(constr);
mycon.Open();
MySqlCommandmycmd = new MySqlCommand("select * from users", mycon);
MySqlDataReader myreader = mycmd.ExecuteReader();
while (myreader.Read())
{
if (myreader.HasRows)
{
MessageBox.Show(myreader.GetString("email") );
}
}
myreader.Close();
mycon.Close();
⑨ ios中使用資料庫應注意什麼
iPhone中資料庫使用方法是本文要介紹的內容,直接進入話題介紹,iPhone 中使用名為 SQLite 的資料庫管理系統。它是一款輕型的資料庫,是遵守ACID的關聯式資料庫管理系統,它的設計目標是嵌入式的,而且目前已經在很多嵌入式產品中使用了它,它佔用資源非常的低,
在嵌入式設備中,可能只需要幾百K的內存就夠了。它能夠支持Windows/Linux/Unix等等主流的操作系統,同時能夠跟很多程序語言相結合,比如 Tcl、PHP、Java 等,還有 ODBC 介面,同樣比起 Mysql、PostgreSQL 這兩款開源世界著名的資料庫管理系統來講,它的處理速度比他們都快。
其使用步驟大致分為以下幾步:
1. 創建DB文件和表格
2. 添加必須的庫文件(FMDB for iPhone, libsqlite3.0.dylib)
3. 通過 FMDB 的方法使用 SQLite
創建DB文件和表格
$ sqlite3 sample.db sqlite> CREATE TABLE TEST( ...> id INTEGER PRIMARY KEY, ...> name VARCHAR(255) ...> );
簡單地使用上面的語句生成資料庫文件後,用一個圖形化SQLite管理工具,比如 Lita 來管理還是很方便的。
然後將文件(sample.db)添加到工程中。
添加必須的庫文件(FMDB for iPhone, libsqlite3.0.dylib)
首先添加 Apple 提供的 sqlite 操作用程序庫 ibsqlite3.0.dylib 到工程中。位置如下
/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS${VER}.sdk/usr/lib/libsqlite3.0.dylib
這樣一來就可以訪問資料庫了,但是為了更加方便的操作資料庫,這里使用 FMDB for iPhone。
svn co http://flycode.googlecode.com/svn/trunk/fmdb fmdb
如上下載該庫,並將以下文件添加到工程文件中:
FMDatabase.h FMDatabase.m FMDatabaseAdditions.h FMDatabaseAdditions.m FMResultSet.h FMResultSet.m
通過 FMDB 的方法使用 SQLite
使用 SQL 操作資料庫的代碼在程序庫的 fmdb.m 文件中大部分都列出了、只是連接資料庫文件的時候需要注意 — 執行的時候,參照的資料庫路徑位於 Document 目錄下,之前把剛才的 sample.db 文件拷貝過去就好了。
位置如下
/Users/xxxx/Library/Application Support/iPhone Simulator/User/Applications/xxxx/Documents/sample.db
BOOL success; NSError *error; NSFileManager *fm = [NSFileManager defaultManager]; NSArray *paths = (NSDocumentDirectory, NSUserDomainMask, YES); NSString *documentsDirectory = [paths objectAtIndex:0]; NSString *writableDBPath = [documentsDirectory :@"sample.db"]; success = [fm fileExistsAtPath:writableDBPath]; if(!success){ NSString *defaultDBPath = [[[NSBundle mainBundle] resourcePath] :@"sample.db"]; success = [fm ItemAtPath:defaultDBPath toPath:writableDBPath error:&error]; if(!success){ NSLog([error localizedDescription]); } } // 連接DB FMDatabase* db = [FMDatabase databaseWithPath:writableDBPath]; if ([db open]) { [db setShouldCacheStatements:YES]; // INSERT [db beginTransaction]; int i = 0; while (i++ < 20) { [db executeUpdate:@"INSERT INTO TEST (name) values (?)" , [NSString stringWithFormat:@"number %d", i]]; if ([db hadError]) { NSLog(@"Err %d: %@", [db lastErrorCode], [db lastErrorMessage]); } } [db commit]; // SELECT FMResultSet *rs = [db executeQuery:@"SELECT * FROM TEST"]; while ([rs next]) { NSLog(@"%d %@", [rs intForColumn:@"id"], [rs stringForColumn:@"name"]); } [rs close]; [db close]; }else{ NSLog(@"Could not open db."); }