我导入了这个库来获取我的所有帖子我设置了所有导入等,我已经按照步骤编写了这段代码,实际上我想在我的应用程序中显示我的页面的所有公开帖子。就像一些应用程序或网站保持看起来一样就像facebook的真实页面。在android中是否可能?谢谢。
package algonation.com.myapplication;
import android.graphics.Paint;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.text.Html;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import com.sromku.simple.fb.SimpleFacebook;
import com.sromku.simple.fb.actions.Cursor;
import com.sromku.simple.fb.entities.Post;
import com.sromku.simple.fb.listeners.OnPostsListener;
import java.util.List;
public class FacebookActivity extends ActionBarActivity {
private final static String EXAMPLE = "";
private String mAllPages = "";
OnPostsListener onPostsListener = new OnPostsListener() {
@Override
public void onComplete(List<Post> posts) {
Log.i(EXAMPLE, "Number of posts = " + posts.size());
}
/*
* You can override other methods here:
* onThinking(), onFail(String reason), onException(Throwable throwable)
*/
};
private TextView mResult;
private Button mGetButton;
private TextView mMore;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_facebook);
mResult = (TextView) findViewById(R.id.result);
mMore = (TextView) findViewById(R.id.load_more);
mMore.setPaintFlags(mMore.getPaint().getFlags() | Paint.UNDERLINE_TEXT_FLAG);
mGetButton = (Button) findViewById(R.id.button);
mGetButton.setText(EXAMPLE);
mGetButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mAllPages = "";
mResult.setText(mAllPages);
SimpleFacebook.getInstance().getPosts(new OnPostsListener() {
@Override
public void onThinking() {
}
@Override
public void onException(Throwable throwable) {
mResult.setText(throwable.getMessage());
}
@Override
public void onFail(String reason) {
mResult.setText(reason);
}
@Override
public void onComplete(List<Post> response) {
// make the result more readable.
mAllPages += "<u>\u25B7\u25B7\u25B7 (paging) #" + getPageNum() + " \u25C1\u25C1\u25C1</u><br>";
mAllPages += com.sromku.simple.fb.utils.Utils.join(response.iterator(), "<br>", new com.sromku.simple.fb.utils.Utils.Process<Post>() {
@Override
public String process(Post post) {
return "\u25CF " + post.getMessage() == null || "null".equalsIgnoreCase(post.getMessage()) ? post.getId() : post.getMessage() + " \u25CF";
}
});
mAllPages += "<br>";
mResult.setText(Html.fromHtml(mAllPages));
// check if more pages exist
if (hasNext()) {
enableLoadMore(getCursor());
} else {
disableLoadMore();
}
}
});
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_facebook, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
private void enableLoadMore(final Cursor<List<Post>> cursor) {
mMore.setVisibility(View.VISIBLE);
mMore.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
mAllPages += "<br>";
cursor.next();
}
});
}
private void disableLoadMore() {
mMore.setOnClickListener(null);
mMore.setVisibility(View.INVISIBLE);
}
}