好的,所以我最後一個問題非常模糊,我沒有儘可能多地描述它。基本上,這是我想要發生的事情:1)獲取用戶朋友列表2)在任何類型的容器中顯示它們。我去看圖API文檔,但這並不能真正幫助我,因爲我是一個視覺學習者。爲了獲得移動應用程序的基本功能,我遵循了教程,這些教程將我留在了懸崖架上,只要將其他更復雜的功能部署到應用程序中。我將在此處列出指向移動應用程序的鏈接:Part 1,Part 2。這些教程幫助了我很多。但是當他們結束了,我不得不開始執行我自己的功能時,我有點停滯不前。我一直在尋找和尋找如何做到這一點,但卻找不到任何有助於桌面應用程序的事情。我還查看了Facebook API供參考的示例代碼。但是沒有一個適用於flex Mobile,而且您似乎也必須編寫與您的代碼完全相同的代碼才能使這些功能正常工作。好的。所以再一次,我只想讓一個朋友的名單出現。我會擔心以後得到朋友的細節。我想我可以管理它。此外,我將發佈我的所有代碼,因爲我現在無法保護它。我會說一件事。我不是要求某人爲我寫代碼。我只是一個非常依賴視覺的學習者。但我認爲,如果我能夠通過更簡單的莊園解釋實現功能的過程,我將能夠照顧好自己的功能。這也提出了另一個問題。因爲我是一個視覺人。會使用Flash而不是Flash Builder更適合我嗎? 反正。你不必回答。當我寫這個問題時彈出。如果你對我的代碼有任何建設性的批評,我都會公開。最後一件事(我很抱歉漫不經心)如果您想發郵件給我,可以發郵件給我[email protected]。我在這裏先向您的幫助表示感謝!使用Flash builder獲取Facebook移動應用程序的朋友列表
下面是代碼:
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
applicationDPI="160" creationComplete="application1_creationCompleteHandler(event)"
currentState="loggedout"
width.loggedin="392" height.loggedin="442">
<fx:Style source="beta.css"/>
<fx:Script>
<![CDATA[
import com.facebook.graph.FacebookMobile;
import com.facebook.graph.controls.Distractor;
import com.facebook.graph.core.FacebookURLDefaults;
import com.facebook.graph.data.Batch;
import com.facebook.graph.net.FacebookRequest;
import com.facebook.graph.utils.FacebookDataUtils;
import mx.collections.ArrayList;
import mx.core.UIComponent;
import mx.events.FlexEvent;
public var permissions:Array = ["user_photos","user_birthday","read_stream","publish_stream","read_friendslists","manage_friendslist"];
protected function application1_creationCompleteHandler(event:FlexEvent):void
{
FacebookMobile.init("APP_ID", onLogin)
}
protected function submitPost():void
{
FacebookMobile.api("/me/feed",submitPostHandler,{message:statusInput.text}, "POST");
}
protected function submitPostHandler(result:Object,fail:Object):void
{
statusInput.text="";
FacebookMobile.api("/me/statuses",getStatusHandler);
}
protected function getStatusHandler(postsuccess:Object, fail:Object):void
{
lblStatus.text=postsuccess[0].message;
}
protected function login():void{
var facebookWebView:StageWebView = new StageWebView();
facebookWebView.viewPort = new Rectangle(0,0,stage.width, stage.height-100);
FacebookMobile.login(onLogin, this.stage,permissions, facebookWebView);
}
protected function onLogin(success:Object, fail:Object):void{
if(success){
currentState="loggedin";
nameLbl.text=success.user.name;
imgUser.source=FacebookMobile.getImageUrl(success.uid,"small");
birthdayLbl.text=success.user.birthday;
FacebookMobile.api("me/statuses",getStatusHandler);
}
}
]]>
</fx:Script>
<s:states>
<s:State name="loggedin"/>
<s:State name="loggedout"/>
</s:states>
<fx:Declarations>
<!-- Place non-visual elements (e.g., services, value objects) here -->
</fx:Declarations>
<s:Button id="loginoutBtn" x="244" y="13" label="Log In"
x.loggedin="228" y.loggedin="10" label.loggedin="Log out"
click.loggedout="login()"/>
<s:Label id="nameLbl" includeIn="loggedin" x="67" y="11" width="97" height="43"/>
<s:Image id="imgUser" includeIn="loggedin" x="8" y="9" width="50"/>
<s:Label id="birthdayLbl" includeIn="loggedin" x="66" y="86" width="96"/>
<s:Label id="lblStatus" includeIn="loggedin" x="10" y="135" width="154" height="58" />
<s:TextInput id="statusInput" includeIn="loggedin" x="10" y="230" height="40"/>
<s:Button includeIn="loggedin" x="172" y="278" width="115" height="32" label="Submit"
click="submitPost()"/>
<s:Button x="10" y="147" width="157" label="Post photo" includeIn="loggedin"
x.loggedin="10" y.loggedin="278" width.loggedin="113" height.loggedin="32"/>
<s:List includeIn="loggedin" x="170" y="61" width="212" height="161" itemRenderer="friendsRender"></s:List>
[設計視圖] [3]