iphone开发我的新浪微博客户端-用户登录准备篇(1.1)
生活随笔
收集整理的這篇文章主要介紹了
iphone开发我的新浪微博客户端-用户登录准备篇(1.1)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
第二種情況實(shí)現(xiàn)過(guò)程:1.查詢sqlite數(shù)據(jù)庫(kù) -->2.已有賬號(hào)記錄獲取所有賬號(hào)信息并且顯示用戶登錄選擇界面 -->3.讀取上一次登錄的賬號(hào)作為界面的默認(rèn)選擇用戶顯示(如上圖2)-->4.點(diǎn)擊添加按鈕顯示賬號(hào)添加界面(如上圖 4)-->5.點(diǎn)擊切換按鈕顯示賬號(hào)選擇列表界面(如下圖3)-->6.點(diǎn)擊刪除按鈕顯示賬號(hào)刪除確認(rèn)界面(如下圖5)
從上面的實(shí)現(xiàn)過(guò)程看涉及到的主要知識(shí)點(diǎn):1.sqlite數(shù)據(jù)庫(kù)操作(創(chuàng)建數(shù)據(jù)庫(kù)、創(chuàng)建數(shù)據(jù)表、插入數(shù)據(jù)記錄、讀取數(shù)據(jù)記錄);2、oauth授權(quán)認(rèn)證(已經(jīng)由sdk實(shí)現(xiàn)了調(diào)用相關(guān)方法即可);3、NSUserDefaults存取(用來(lái)記錄上一次的登錄賬號(hào)) 現(xiàn)在正式開始動(dòng)手做一一些準(zhǔn)備工作: 一、到 http://code.google.com/p/minblog4sina/(關(guān)于這個(gè)可以參看:iphone開發(fā)我的新浪微博客戶端-開篇)把我的這個(gè)sdk項(xiàng)目源代碼checkout到本地,然后用xcode打開這個(gè)工程,在這個(gè)sdk工程的基礎(chǔ)上開發(fā)微博客戶端應(yīng)用。 二、設(shè)計(jì)sqlite數(shù)據(jù)庫(kù)用來(lái)保存用戶賬號(hào)信息,我是用firefox的一個(gè)名為SQLite Manager的插件來(lái)創(chuàng)建sqlite數(shù)據(jù)庫(kù),這個(gè)使用非常簡(jiǎn)單就不介紹了自己裝起來(lái)就知道怎么使用,我用它創(chuàng)建了一個(gè)名為weibo.sqlite的 數(shù)據(jù)庫(kù),然后這這個(gè)數(shù)據(jù)庫(kù)中創(chuàng)建了一個(gè)名為loginUser的表用來(lái)保存賬號(hào)信息,loginUser表的,這個(gè)表包含5個(gè)字段分別用來(lái)保存 user_id、賬號(hào)昵稱、Access Token、Access Secret、賬號(hào)小圖標(biāo),具體如下圖: 三、用xcode打開工程,然后把上一步完成的weibo.sqlite文件添加到工程的Resources文件夾中. ???? 四、在工程中添加類型為Objective-C class名為Sqlite的類用來(lái)負(fù)責(zé)sqlite庫(kù)的創(chuàng)建、記錄的讀取、記錄的添加等操作,同時(shí)在Xcode的左邊樹Frameworks右鍵添加名 為libsqlite3.dylib的Framework,這個(gè)類庫(kù)封裝了sqlite庫(kù)的操作。 ??? 五、打開Sqlite.h添加如下代碼,在這個(gè)文件中首先import了sqlite3.h,這個(gè)就是Frameworks中的 libsqlite3.dylib類庫(kù),然后又import了User.h,這個(gè)是MinBlog4Sina的sdk中的用戶賬號(hào)對(duì)象類。又聲明的4個(gè)方 法分別是數(shù)據(jù)庫(kù)初始化、獲取用戶記錄列表、添加用戶記錄、刪除用戶記錄。
#import <Foundation/Foundation.h> #import <sqlite3.h> #import "User.h" @interface Sqlite : NSObject {??? sqlite3 *database; } -(Sqlite *)init; -(NSMutableArray *)getUserList; -(BOOL)addUser:(User *)user; -(BOOL)delUser:(NSString *)name; @end???? 六、打開Sqlite.m添加如下代碼,這個(gè)文件里實(shí)現(xiàn)了上述的幾個(gè)方法,所謂的數(shù)據(jù)庫(kù)創(chuàng)建其實(shí)就是把上面第三個(gè)步驟中添加到工程的 weibo.sqlite文件拷貝到本軟件的目錄中,在下面的-(Sqlite *)init方法中進(jìn)行了拷貝操作。還有就是用戶記錄讀取和添加中關(guān)于BLOB類型的數(shù)據(jù)處理,這里存儲(chǔ)的是圖片數(shù)據(jù)了,在添加的時(shí)候把圖片轉(zhuǎn)換成 bytes類型,讀取的時(shí)候把bytes類型轉(zhuǎn)換成圖片。 #import "Sqlite.h" @interface Sqlite(private) -(void)createDatabaseIfNeeded:(NSString *)filename;-(NSString *)dataFilePath; -(BOOL)openDatabase; -(void)closeDatabase; @end @implementation Sqlite //初始化數(shù)據(jù)庫(kù) -(Sqlite *)init{??? if (self= [super init]) {??????? [self createDatabaseIfNeeded:@"weibo.sqlite"]; }??? return self; } -(BOOL)delUser:(NSString *)name{??? BOOL sucess=[self openDatabase];??? if (sucess) {?????? NSString *sql=[[NSString alloc] initWithFormat:@"delete from loginUser where screen_name=%@",name];??????? char *errorMsg;??????? if (sqlite3_exec(database, [sql UTF8String], NULL, NULL, &errorMsg)!=SQLITE_OK) {?????????? NSLog(@"del User error:%s",errorMsg);??????????? sqlite3_free(errorMsg);??????? } else {??????????????? }?????? [sql release];??? }??? [self closeDatabase];??? return sucess;??? } //添加用戶記錄-(BOOL)addUser:(User *)user {??? BOOL sucess=[self openDatabase];??? if (sucess) {??????? NSString *sql=[[NSString alloc] initWithFormat:@"insert into loginUser(user_id,screen_name,key,secret,icon)values(?,?,?,?,?)"];??????? sqlite3_stmt *statement;??????? if (sqlite3_prepare_v2(database, [sql UTF8String], -1, &statement, nil)==SQLITE_OK)??????? {??????????????? NSString *uid=[NSString stringWithFor
轉(zhuǎn)載于:https://blog.51cto.com/mkhgg/655035
總結(jié)
以上是生活随笔為你收集整理的iphone开发我的新浪微博客户端-用户登录准备篇(1.1)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 梦到砂锅碎了预示什么
- 下一篇: 做梦梦到弟弟受伤了是什么意思