HealthKit的簡單實用

HealthKit為iPhone和Apple Watch上的健康和健身數(shù)據(jù)提供了一個中央存儲庫樟蠕。在用戶的許可下贮聂,應(yīng)用程序與HealthKit商店通信靠柑,以訪問和共享這些數(shù)據(jù)

image.png

關(guān)于HealthKit Framework

HealthKit框架旨在以一種有意義的方式在應(yīng)用程序之間共享數(shù)據(jù)∠判福框架將數(shù)據(jù)和單元的類型限制在一個預(yù)定義的列表中歼冰,確保所有應(yīng)用程序都理解數(shù)據(jù)的含義以及如何使用數(shù)據(jù)。開發(fā)人員不能創(chuàng)建自定義數(shù)據(jù)類型或單元耻警。相反隔嫡,HealthKit提供了多種數(shù)據(jù)類型和單元。

此外甘穿,框架使用大量子類腮恩,產(chǎn)生類似類的深層層次結(jié)構(gòu)。通常温兼,這些類之間有細(xì)微但重要的區(qū)別庆揪。例如,HKQuantitySample對象用于存儲帶有數(shù)值的數(shù)據(jù)妨托,而HKCategorySample對象用于存儲從枚舉中選擇的值。

HealthKit Data

HealthKit保存了多種數(shù)據(jù)類型:

  • Characteristic data(特征數(shù)據(jù)): 這些記錄表示通常不會更改的項吝羞,例如用戶的生日兰伤、血型、生物性別和皮膚類型钧排《厍唬可以使用dateOfBirthWithError:bloodTypeWithError:恨溜、biologicalSexWithError:和fitzpatrickSkinTypeWithError:方法直接從HealthKit讀取該數(shù)據(jù)符衔。應(yīng)用程序無法保存特征數(shù)據(jù)。用戶必須使用Health App輸入或修改這些數(shù)據(jù)糟袁。

  • Sample data(樣本數(shù)據(jù)): 用戶的大多數(shù)健康數(shù)據(jù)存儲在表示特定時間點數(shù)據(jù)的sample中判族。所有sample類都是HKSample類的子類,它是HKObject類的子類项戴。

  • Workout data(訓(xùn)練數(shù)據(jù)): 有關(guān)健身及運動的資料以HKWorkout
    的形式儲存形帮。雖然HKWorkout是HKSample的一個子類,但是它的行為與其他sample子類有些不同周叮。

  • Source data(源數(shù)據(jù)): 每個樣本都存儲有關(guān)其來源的信息辩撑。 HKSourceRevision對象包含有關(guān)App或設(shè)備的信息。 HKDevice對象包含生成相關(guān)數(shù)據(jù)的硬件設(shè)備的信息仿耽。

  • Deleted objects(刪除對象): HKDeletedObject實例用于臨時存儲已從HealthKit存儲中刪除的項目的UUID合冀。 當(dāng)用戶或其他應(yīng)用程序刪除對象時,可以使用Deleted objects進(jìn)行響應(yīng)项贺。

對象和樣本的屬性

HKObject類是所有HealthKit樣本類型的父類君躺。 所有HKObject子類都是不可變的峭判。 每個對象都具有以下屬性:

  • UUID: 唯一標(biāo)識符。

  • Metadata: 包含有關(guān)條目的其他信息的字典晰洒。 元數(shù)據(jù)可以包含預(yù)定義和自定義的key朝抖。 預(yù)定義的key有助于在App之間共享數(shù)據(jù)。 自定義key有助于擴展HealthKit對象類型谍珊,將特定App的數(shù)據(jù)添加到條目中治宣。

  • Source Revision: 樣本的來源。 來源可以是直接將數(shù)據(jù)保存到HealthKit或App的設(shè)備砌滞。 當(dāng)保存對象到HealthKit時侮邀,HealthKit會自動記錄每個對象的來源和版本。 此屬性僅適用于從Health商店檢索到的對象贝润。

  • Device: 生成此樣本中存儲數(shù)據(jù)的硬件設(shè)備绊茧。

HKSample類是HKObject的子類。 樣本對象表示特定時間點的數(shù)據(jù)打掘,所有樣本對象都是HKSample類的子類华畏。

HKSample進(jìn)一步劃分為四個具體子類:

  • Category samples(分類樣本): 可以分類為有限類別的數(shù)據(jù)。

  • Quantity samples(數(shù)量樣本): 可以存儲為數(shù)值的數(shù)據(jù)尊蚁。 數(shù)量樣本是HealthKit中最常見的數(shù)據(jù)類型亡笑。 包括用戶的身高和體重,以及其他數(shù)據(jù)横朋,如步數(shù)仑乌,用戶的體溫和脈搏率

  • Correlations(相關(guān)性) 包含一個或多個樣本的復(fù)合數(shù)據(jù)。 在iOS 8.0中琴锭,HealthKit使用相關(guān)性來表示食物和血壓晰甚。 在創(chuàng)建食物或血壓數(shù)據(jù)時,應(yīng)始終使用相關(guān)性决帖。

  • Workouts(鍛煉): 表示身體活動的數(shù)據(jù)厕九,如跑步,游泳地回,甚至比賽止剖。 Workouts通常具有type, duration, distance, energy burned屬性

線程

HealthKit存儲是線程安全的,大多數(shù)HealthKit對象是不可變的落君。 通常穿香,可以在多線程環(huán)境中安全地使用HealthKit。

所有HealthKit API的完成處理都在私有后臺隊列上執(zhí)行绎速。 在更新用戶界面或修改只應(yīng)由主線程觸及的任何其他資源之前皮获,通常需要將此數(shù)據(jù)分發(fā)回主隊列。

設(shè)置HealthKit

在使用HealthKit之前纹冤,必須執(zhí)行以下步驟:

  1. 在您的應(yīng)用中啟用HealthKit洒宝。
  2. 確保當(dāng)前設(shè)備上的HealthKit可用购公。
  3. 創(chuàng)建應(yīng)用程序的HealthKit商店。
  4. 請求讀取和共享數(shù)據(jù)的權(quán)限雁歌。

開啟HealthKit

在使用HealthKit之前宏浩,必須為應(yīng)用添加HealthKit功能。 在Xcode中靠瞎,選擇項目并打開HealthKit功能

開啟HealthKit

確保HealthKit的可用性

調(diào)用isHealthDataAvailable方法來確保HealthKit在用戶設(shè)備上是否可用比庄。

if HKHealthStore.isHealthDataAvailable() {
    // Add code to use HealthKit here.
}

在調(diào)用HealthKit其他方法之前先調(diào)用該方法。如果設(shè)備上沒有HealthKit(比如在iPad上)乏盐,調(diào)用其他的方法會報errorHealthDataUnavailable錯誤佳窑;如果HealthKit受限制(比如,在企業(yè)環(huán)境中)父能,調(diào)用其他方法會報errorHealthDataRestricted錯誤神凑。

創(chuàng)建HealthKit Store

如果HealthKit可用且已經(jīng)開啟,實例化一個HKHealthStore對象:

let healthStore = HKHealthStore()

每個App只需要一個HealthKit Store何吝,它是long-lived 對象溉委。

請求讀取和共享數(shù)據(jù)的權(quán)限

為了保護用戶的隱私,HealthKit需要精細(xì)的授權(quán)爱榕。在嘗試保存和訪問數(shù)據(jù)之前瓣喊,必須申請讀取和分享數(shù)據(jù)的權(quán)限。

注意: 用戶可以隨時在設(shè)置或健康A(chǔ)pp中修改你的App的權(quán)限呆细,你的App將會顯示在健康A(chǔ)pp的數(shù)據(jù)來源頁面。

此外八匠,還需要在info.plist文件中設(shè)置兩個key:

  • NSHealthShareUsageDescription:讀取數(shù)據(jù)的描述
  • NSHealthUpdateUsageDescription:寫入數(shù)據(jù)的描述

如果用戶同意共享某種類型的數(shù)據(jù)絮爷,則可以創(chuàng)建該類型的樣本并將其保存到HealthKit Store中。但是梨树,在保存任何數(shù)據(jù)之前坑夯,最好調(diào)用authorizationStatusForType:方法來檢查是否有該權(quán)限。如果還沒有申請過該權(quán)限抡四,保存數(shù)據(jù)將會拋出HKErrorAuthorizationNotDetermined錯誤柜蜈。如果用戶拒絕了該權(quán)限申請,嘗試保存數(shù)據(jù)將會拋出HKErrorAuthorizationDenied錯誤指巡。

為了保護用戶隱私淑履,我們的App將不會知道用戶是否授權(quán)或者拒絕讀取HealthKit的權(quán)限。如果用戶拒絕了藻雪,那在從HealthKit中查詢數(shù)據(jù)時秘噪,將只會返回我們自己的App成功保存到HealthKit Store的樣本數(shù)據(jù)。

指定所需的臨床記錄類型

如果App需要訪問特定的臨床記錄數(shù)據(jù)才能正常運行勉耀,在info.plist文件中添加NSHealthRequiredReadAuthorizationTypeIdentifiers key指煎,該key定義了app必須擁有讀取權(quán)限的數(shù)據(jù)類型蹋偏。

保存數(shù)據(jù)到HealthKit

我們的App可以創(chuàng)建新的樣本,并將其保存到HealthKit Store至壤。盡管所有的樣本類型都遵守相似的過程威始,但每種類型都有自己的變體:

  1. 查找數(shù)據(jù)的類型標(biāo)識符。比如像街,要記錄用戶的體重黎棠,使用HKQuantityTypeIdentifierBodyMass類型標(biāo)識符,有關(guān)類型標(biāo)識符的完整列表宅广,可以查看Data Types

  2. 使用HKObjectType類的方法創(chuàng)建正確的對象類型葫掉。比如,要保存用戶的體重跟狱,需要使用quantityTypeForIdentifier:方法來創(chuàng)建HKQuantityType對象俭厚。方法列表可以參閱HKObjectType

  3. 使用對象類型實例化相匹配的HKSample子類對象

  4. 使用saveObject:withCompletion:方法將對象保存到HealthKit Store

每個HKSample子類都有自己的便捷方法來實例化對象,

數(shù)量樣本

對于數(shù)量樣本驶臊,創(chuàng)建HKQuantity類的實例挪挤。數(shù)量的單位必須與類型標(biāo)識符文檔中描述的單位想對應(yīng)。比如关翎,HKQuantityTypeIdentifierHeight聲明長度單位扛门,因此,數(shù)量必須使用厘米纵寝,米论寨,英尺或英寸或者其他兼容的單位∷睿可以參閱HKQuantitySample

類別樣本

對于類別樣本(category samples),樣本的值必須與類型標(biāo)識符文檔中聲明的枚舉相對應(yīng)葬凳。比如,HKCategoryTypeIdentifierSleepAnalysis表明它使用HKCategoryValueSleepAnalysis 枚舉室奏。因此火焰,在創(chuàng)建此樣本時,必須從該枚舉中選值胧沫。更多信息可以參閱HKCategorySample

相關(guān)性

性能與細(xì)節(jié)

將數(shù)據(jù)保存到HealthKit Store時昌简,通常需要在使用單個樣本表示數(shù)據(jù)還是多個較小樣本之間拆分?jǐn)?shù)據(jù)做選擇。從性能角度來說绒怨,使用單個樣本更好纯赎,但是,多個樣本可以讓用戶更詳細(xì)的了解他們的數(shù)據(jù)如何隨時間變化南蹂。理想情況是能夠找到合適的樣本大小址否,以便為用戶提供有用的歷史數(shù)據(jù)。

在記錄鍛煉數(shù)據(jù)時,可以使用高頻數(shù)據(jù)(每分鐘一個樣本)來提供強度圖標(biāo)佑附,并以其他方式分析用戶在鍛煉中的表現(xiàn)樊诺。對于不太密集的活動,比如每日步數(shù)音同,一小時或者更短時間的樣本通常更好一些词爬。

App應(yīng)該避免保存24小時或更長時間的樣本。

使用健康A(chǔ)pp中的數(shù)據(jù)

健康A(chǔ)pp允許用戶訪問其HealthKit Store中的所有數(shù)據(jù)权均。用戶可以查看顿膨、添加、刪除和管理他們的數(shù)據(jù)叽赊。

具體來說恋沃,用戶可以

  • 查看包含他們當(dāng)前健康數(shù)據(jù)的儀表盤

  • 訪問所有存儲在HealthKit中的數(shù)據(jù)。用戶可以按類型必指、app或設(shè)備查看數(shù)據(jù)

  • 管理每個app訪問和讀取HealthKit Store的權(quán)限

因此囊咏,健康A(chǔ)pp對開發(fā)HealthKit有一些重要影響。用戶可以在我們的app之外修改數(shù)據(jù)塔橡,甚至修改我們app的讀寫權(quán)限梅割,因此,我們的應(yīng)用應(yīng)該始終查詢HealthKit Store中的當(dāng)前數(shù)據(jù)

其次葛家,我們也可以在健康A(chǔ)pp中查看我們的app保存到Health Store的數(shù)據(jù)户辞。這在早期測試中很有用。

從HealthKit讀取數(shù)據(jù)

有三種主要的方法來從HealthKit Store讀取數(shù)據(jù)

  • 直接調(diào)用方法癞谒。 HealthKit store提供了直接讀取特征(characteristic)數(shù)據(jù)的方法底燎。這些方法只能用來讀取特征數(shù)據(jù)。更多信息可以看下HKHealthStore

  • Queries(查詢) Queries返回從HealthKit Store請求的數(shù)據(jù)的當(dāng)前快照弹砚。

  • Long-running queries 這類查詢將在后臺持續(xù)運行双仍,并且在對HealthKit Store進(jìn)行更改時更新我們的app

Queries(查詢)

Queries返回HealthKit Store中數(shù)據(jù)的當(dāng)前快照(snapshot)。所有的queries都是在匿名后臺隊列運行的迅栅。當(dāng)queries完成后殊校,他將在后臺隊列上處理結(jié)果晴玖。HealthKit提供了不同類型的queries來返回不同類型的數(shù)據(jù)。

  • Sample query(樣本查詢): 這是一個通用查詢,使用樣本查詢來訪問任意類型的樣本數(shù)據(jù)烫映。當(dāng)需要對結(jié)果進(jìn)行排序趴梢,或者限制返回的樣本數(shù)量時,樣本查詢非常有用秀睛。更多的可以查詢HKSampleQuery

  • Anchored object query(錨定對象查詢): 使用此查詢可以搜索已經(jīng)添加到HealthKit Store尔当,或者從其刪除的item。第一次運行錨定查詢時,將返回當(dāng)前Store中所有匹配的樣本椭迎。在后續(xù)運行中锐帜,將只返回自上次運行以來添加或刪除的item。更多信息可以參閱HKAnchoredObjectQuery

  • Statistics query(統(tǒng)計查詢): 使用此查詢對匹配的樣本集合進(jìn)行統(tǒng)計計算畜号〗裳郑可以使用統(tǒng)計查詢來計算總和、最小值简软、最大值以及平均值蛮拔。更多信息可以查閱HKStatisticsQuery

  • Statistics collection query(統(tǒng)計收集查詢): 使用此查詢可以在一系列多個固定長度的時間間隔內(nèi)執(zhí)行多個統(tǒng)計查詢。在創(chuàng)建圖形時會經(jīng)常用到這些痹升。它們提供了一種簡單的方法來計算一些事情建炫,比如每天消耗的卡路里總數(shù)或者每五分鐘的步數(shù)。更多信息可以查閱HKStatisticsCollectionQuery

  • Correlation query(相關(guān)查詢): 使用此查詢可以對correlation中的數(shù)據(jù)進(jìn)行復(fù)雜搜索疼蛾。這些查詢可以包含存儲在correlation中的每個樣本類型的各個謂詞肛跌。更多可以查閱HKCorrelationQuery

  • Source query(來源查詢): 可以查詢匹配樣本的來源(app或者設(shè)備)。該查詢列出了保存特定樣本類型的所有來源据过。更多信息可以查閱HKSourceQuery

  • Activity summary query: 使用該查詢可以搜索用戶的活動概要信息惋砂。每個Activity summary對象包含了給定日期的用戶的活動總結(jié)∩可以查詢一天或者多天的數(shù)據(jù)西饵。更多信息可以查閱HKActivitySummaryQuery

  • Document query(檔案查詢): 使用此查詢來搜索健康檔案。更多信息可以查閱HKDocumentQuery

Long-Running Queries

Long-running queries 會在匿名后臺隊列持續(xù)運行鳞芙,并在對HealthKit Store進(jìn)行更改時更新我們的app眷柔。另外,observer queries可以注冊為后臺交付原朝。這樣驯嘱,當(dāng)發(fā)生更新時,HealthKit就會在后臺喚醒我們的app喳坠。

HealthKit 提供以下的long-running queries:

  • Observer query(觀察者查詢): 該查詢將監(jiān)視HealthKit Store鞠评,匹配到的樣本進(jìn)行更改時也會通知用戶。當(dāng)希望收到HealthKit Store的相關(guān)修改時可以使用觀察者查詢壕鹉。更多信息可以查閱HKObserverQuery

  • Anchored object query(錨定對象查詢): 除了返回數(shù)據(jù)的當(dāng)前快照之外剃幌,錨定對象查詢還可以作為一個Long-running queries。如果啟用了該查詢晾浴,它將在后臺持續(xù)運行负乡,在匹配的樣本被添加到或從Store中刪除時提供更新。不像觀察者查詢脊凰,這些更新包含了已添加或者已刪除的項目列表抖棘。但是,錨定對象查詢無法注冊為后臺提交。更多信息可以查閱HKAnchoredObjectQuery

  • Statistics collection query 除了計算統(tǒng)計幾個的當(dāng)前快照外切省,該查詢還可以作為一種long-running query最岗。如果將匹配的樣本添加到Store或者從中刪除,該查詢將會重新計算統(tǒng)計集合朝捆,并更新我們的app仑性。Statistics collection queries 不能注冊為后臺提交。更多信息可以查閱HKStatisticsCollectionQuery

  • Activity summary query: 除了計算用戶活動的當(dāng)前快照之外右蹦,該查詢也可以作為一種 long-running query诊杆。如果用戶的活動概要數(shù)據(jù)改變,該查詢將會重新計算活動概要何陆,并更新我們的app晨汹。Activity summary query也無法注冊為后臺提交。更多信息可以查閱HKActivitySummaryQuery

數(shù)據(jù)類型

HealthKit使用HKObjectType的子類來標(biāo)識存儲在HealthKit中數(shù)據(jù)的不同類型:

  • HKCharacteristicType 表示通常不會隨時間變化的數(shù)據(jù)(例如血型)贷盲。

  • HKQuantityType 表示包含數(shù)值的樣本(例如所消耗的卡路里)淘这。

  • HKCategoryType 表示包含簡短列表中選項的樣本(例如睡眠分析)。

  • HKCorrelationType 表示包含多個數(shù)量或類別樣本的復(fù)雜樣本(例如巩剖,包含多個營養(yǎng)樣本的食物樣本)

  • HKWorkoutType 代表鍛煉及其相關(guān)數(shù)據(jù)铝穷。

  • 其他對象類型(例如,HKActivitySummaryType佳魔、HKDocumentTypeHKSeriesType)表示其他專門的數(shù)據(jù)類型

創(chuàng)建類型對象曙聂,需要調(diào)用相應(yīng)的HKObjectType類方法,并傳入所需的類型標(biāo)識鞠鲜。

let bloodType = HKObjectType.characteristicType(forIdentifier: .bloodType)

let caloriesConsumed = HKObjectType.quantityType(forIdentifier: .dietaryEnergyConsumed)

let sleepAnalysis = HKObjectType.categoryType(forIdentifier: .sleepAnalysis)

可以使用生成的對象類型來請求訪問數(shù)據(jù)的權(quán)限宁脊,將新數(shù)據(jù)保存到HealthKit存儲中或從HealthKit存儲中讀取數(shù)據(jù)。

Sample

大部分健康和健身數(shù)據(jù)是使用HKSample的子類來保存到HealthKit Store中贤姆。所有的Sample子類都在指定的時間記錄信息榆苞。如果samplestartDateendDate屬性相同霞捡,則樣本表示時間點坐漏。如果endDatestartDate之后,則樣本表示一個時間間隔碧信。

HealthKit使用不同的HKSample子類來存儲不同類型的數(shù)據(jù):

  • HKQuantitySample(數(shù)量樣本) 對象存儲quantity-一個數(shù)值和單位赊琳。大部分HealthKit數(shù)據(jù)類型使用數(shù)量樣本。比如音婶,身高慨畸,心率以及飲食能量消耗都適用數(shù)量樣本莱坎。

  • HKCategorySample 對象存儲從簡短列表中選擇的單個選項衣式。例如睡眠數(shù)據(jù)(用戶可以躺在床上,睡著或者醒著)。

  • HKCorrelation 樣本將兩個或者多個樣本合并為單個值碴卧。比如弱卡,使用該樣本表示食物和血壓。食物樣本包含任意數(shù)量的nutrition(營養(yǎng))樣本住册,而血壓樣本包含systolic(心臟收縮)和diastolic(心臟舒張)樣本

  • HealthKit還使用其他Sample子類來表示更專業(yè)的數(shù)據(jù)類型婶博。 例如,HKCDADocumentSample荧飞,HKWorkoutRouteHKWorkout凡人。


文章來源:https://developer.apple.com/documentation/healthkit?language=objc

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市叹阔,隨后出現(xiàn)的幾起案子挠轴,更是在濱河造成了極大的恐慌,老刑警劉巖耳幢,帶你破解...
    沈念sama閱讀 206,214評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件岸晦,死亡現(xiàn)場離奇詭異,居然都是意外死亡睛藻,警方通過查閱死者的電腦和手機启上,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,307評論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來店印,“玉大人冈在,你說我怎么就攤上這事“凑” “怎么了讥邻?”我有些...
    開封第一講書人閱讀 152,543評論 0 341
  • 文/不壞的土叔 我叫張陵,是天一觀的道長院峡。 經(jīng)常有香客問我兴使,道長,這世上最難降的妖魔是什么照激? 我笑而不...
    開封第一講書人閱讀 55,221評論 1 279
  • 正文 為了忘掉前任发魄,我火速辦了婚禮,結(jié)果婚禮上俩垃,老公的妹妹穿的比我還像新娘励幼。我一直安慰自己,他們只是感情好口柳,可當(dāng)我...
    茶點故事閱讀 64,224評論 5 371
  • 文/花漫 我一把揭開白布苹粟。 她就那樣靜靜地躺著,像睡著了一般跃闹。 火紅的嫁衣襯著肌膚如雪嵌削。 梳的紋絲不亂的頭發(fā)上毛好,一...
    開封第一講書人閱讀 49,007評論 1 284
  • 那天,我揣著相機與錄音苛秕,去河邊找鬼肌访。 笑死,一個胖子當(dāng)著我的面吹牛艇劫,可吹牛的內(nèi)容都是我干的吼驶。 我是一名探鬼主播,決...
    沈念sama閱讀 38,313評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼店煞,長吁一口氣:“原來是場噩夢啊……” “哼蟹演!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起顷蟀,我...
    開封第一講書人閱讀 36,956評論 0 259
  • 序言:老撾萬榮一對情侶失蹤轨帜,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后衩椒,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體蚌父,經(jīng)...
    沈念sama閱讀 43,441評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,925評論 2 323
  • 正文 我和宋清朗相戀三年毛萌,在試婚紗的時候發(fā)現(xiàn)自己被綠了苟弛。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,018評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡阁将,死狀恐怖膏秫,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情做盅,我是刑警寧澤缤削,帶...
    沈念sama閱讀 33,685評論 4 322
  • 正文 年R本政府宣布,位于F島的核電站吹榴,受9級特大地震影響亭敢,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜图筹,卻給世界環(huán)境...
    茶點故事閱讀 39,234評論 3 307
  • 文/蒙蒙 一帅刀、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧远剩,春花似錦扣溺、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,240評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至痢掠,卻和暖如春驱犹,著一層夾襖步出監(jiān)牢的瞬間嘲恍,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,464評論 1 261
  • 我被黑心中介騙來泰國打工着绷, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人锌云。 一個月前我還...
    沈念sama閱讀 45,467評論 2 352
  • 正文 我出身青樓荠医,卻偏偏與公主長得像,于是被迫代替她去往敵國和親桑涎。 傳聞我的和親對象是個殘疾皇子彬向,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,762評論 2 345

推薦閱讀更多精彩內(nèi)容