小编Bal*_*yto的帖子

新的Facebook API 3.0.和ActionBarSherlock兼容性

我正在阅读facebook Android API 3.0文档,我不明白会话与后台活动有什么关系.在所有的例子中,我都应该扩展"FacebookFragment".好吧,如果我的整个应用程序没有扩展"SherlockFragment",那将是很好的,所以我不认为扩展FacebookFragment是一个选项.

如果我使用SessionLoginExample中的代码,并将我的AppID放在Strings中与facebook完全相同的字符串中,我得到:

错误

10-22 17:04:26.464: E/AndroidRuntime(5491): FATAL EXCEPTION: main
10-22 17:04:26.464: E/AndroidRuntime(5491): java.lang.RuntimeException: Unable to start activity ComponentInfo{nl.specsavers.moodspecs/nl.specsavers.moodspecs.LauncherActivity}: java.lang.NullPointerException: Argument applicationId cannot be null
Run Code Online (Sandbox Code Playgroud)

我正在尝试设置初始检查是否安装了应用程序,以及会话是否存在.

 Settings.addLoggingBehavior(LoggingBehaviors.INCLUDE_ACCESS_TOKENS);

    Session session = Session.getActiveSession();
    if (session == null) {
        if (savedInstanceState != null) {
            session = Session.restoreSession(this, null, statusCallback, savedInstanceState);
        }
        if (session == null) {
            session = new Session(this);
        }
        Session.setActiveSession(session);
        if (session.getState().equals(SessionState.CREATED_TOKEN_LOADED)) {
            session.openForRead(new Session.OpenRequest(this).setCallback(statusCallback));
        }

    } 
Run Code Online (Sandbox Code Playgroud)

我需要能够以某种方式将我的App ID放在某个实际上可以正常的地方,但我找不到放在哪里.

我需要知道如果我使用SherlockFragment可以避免扩展FacebookFragment.

TNX.

android facebook facebook-android-sdk actionbarsherlock

15
推荐指数
2
解决办法
1万
查看次数

Android FB API 3.0 - 仅设置一次权限

我正在试图弄清楚新的API是如何工作的,所以我设法理解了这个概念,并设法做了我自己的"hello world",登录到facebook,注销并尝试上传图片.

现在在HelloFacebookSample和SessionLoginSimple中,只需登录到facebook,在HelloFacebookSample中,当您单击"发布照片"时,会出现一个新的登录对话框,因为未设置权限.

这是来自HelloFacebookSample的代码:

 private void performPublish(PendingAction action) {
    Session session = Session.getActiveSession();
    if (session != null) {
        pendingAction = action;
        if (session.getPermissions().contains("publish_actions")) {
            // We can do the action right away.
            handlePendingAction();
        } else {
            // We need to reauthorize, then complete the action when we get called back.
            Session.ReauthorizeRequest reauthRequest = new Session.ReauthorizeRequest(this, PERMISSIONS).
                    setRequestCode(REAUTHORIZE_ACTIVITY).
                    setLoginBehavior(SessionLoginBehavior.SSO_WITH_FALLBACK);
            session.reauthorizeForPublish(reauthRequest);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

因为我们没有"publish_actions",我们需要重新授权.

在SimpleSessionLogin中,登录如下所示:

private void onClickLogin() {
    Session session = Session.getActiveSession();
    if (!session.isOpened() && !session.isClosed()) {
        session.openForRead(new Session.OpenRequest(this).setCallback(statusCallback));
    } …
Run Code Online (Sandbox Code Playgroud)

android facebook facebook-android-sdk

14
推荐指数
2
解决办法
2万
查看次数

使用Sherlock更改操作栏选项卡中的字体样式

我读过这个:

Android - 自定义操作栏sherlock选项卡

还有更多的链接,我已经弄清楚什么是StackedBackground以及什么是Background,但我找不到如何从Tabs中删除All Caps并获得常规字体,或者在操作栏标签中更改字体大小.

除此之外,我喜欢改变我的蓝色下划线的颜色,如果我使用9个补丁图形,我得到的情况与上面的链接相似,我的行在文本下面,但不在下面的标签底部,并且原来的蓝线仍然存在,所以我得到两条线.

到目前为止,我有这个,但我已经尝试了文字大小和各种颜色,但没有:

<style name="CustomActivityTheme" parent="@android:style/Theme.Holo.Light">
    <item name="android:actionBarStyle">@style/MyActionBar</item>
    <item name="android:actionBarTabTextStyle">@style/MyActionBar</item>
</style>

<style name="MyActionBar" parent="@android:style/Widget.Holo.ActionBar">
    <item name="android:background">@drawable/grey</item>
    <item name="android:backgroundStacked">@drawable/ab_transparent_example</item>
    <item name="android:textAllCaps">false</item>
    <item name="android:textSize">10dp</item>
</style>
Run Code Online (Sandbox Code Playgroud)

编辑:我只是发现我可以使用"android:actionBarTabTextStyle"删除所有大写字母,但它现在需要"MyActionBar"的背景颜色...所以如何在某些层次结构中设置actionBarTabTextStyle和actionBarStyle列表,该文本缩小了尺寸而不是在Caps中,但它不是"MyActionBar"风格的背景.

编辑2:我已经尝试了一些更多9patch图像,它看起来很丑,但我无法摆脱蓝线......

UglyBluelines

tabs android actionbarsherlock

10
推荐指数
1
解决办法
1万
查看次数

如何在onCreateOptionsMenu中动态更改菜单

我有小问题,我想用动态菜单解决它:

public boolean onCreateOptionsMenu(com.actionbarsherlock.view.Menu menu) {
    switch(Globals.editMode){
    case Globals.MODE_NONE:
        getSupportMenuInflater().inflate(R.menu.imagehandlingmain_menu, menu);
        break;
    case Globals.MODE_MOVE:
        getSupportMenuInflater().inflate(R.menu.savecancel_menu, menu);
        break;
    case Globals.MODE_ROTATE:
        getSupportMenuInflater().inflate(R.menu.savecancel_menu, menu);
        break;
    case Globals.MODE_SCALE:
        getSupportMenuInflater().inflate(R.menu.savecancel_menu, menu);
        break;
    }
    //getSupportMenuInflater().inflate(R.menu.imagehandlingmain_menu, menu);
    return true;
Run Code Online (Sandbox Code Playgroud)

我有两个菜单,菜单,您可以在其中选择工作模式,而在某些工作模式菜单中应该更改为"取消"和"保存".

因此,您的想法是进入其中一种模式,然后如果您决定不保存您的工作,您可以取消它并返回到先前的状态.

现在,正如我假设onCreateOptionsMenu只被调用一次,那么在需要时我怎么能/应该"重新加载"整个菜单呢?

android android-menu actionbarsherlock

7
推荐指数
1
解决办法
6865
查看次数

如何创建Twitter或Instagram等标签,以便在所有Android平台上工作> 2.2

我在这里阅读了一些文章 如何创建像这样的Android标签(截图)?

后来在评论中有sherlock lib,它为具有Android 2.2的设备带来4.0外观.

我的问题是,我正试图让"丑陋":)旧外观在新设备上工作.

像图像上的东西:

在此输入图像描述

所以我想要Tabs,没有Action栏,只有5个盒子,图片和文本最好来自字符串,因为它需要本地化.

所以,我正在使用,并且在tablayout.xml中我设置了title(来自字符串),并以编程方式将图像添加到我的资源中的某个选项卡.

th.setup();
    TabSpec specs = th.newTabSpec("tag1");
    //specs.setContent(new Intent(this,MyAppTab.class));
    specs.setContent(R.id.tab1);
    specs.setIndicator(getResources().getString(R.string.tab_myapp_title), getResources().getDrawable(R.drawable.ic_tab1_active));
Run Code Online (Sandbox Code Playgroud)

现在发生了什么,就是在我的Android 2.2上.电话,它看起来很丑,但有图像,有点我想要的东西,在妻子的4.0上,我看到只有文字的花哨的新标签.

如何在所有Android版本中添加标签图像?

TNX

compatibility tabs android

6
推荐指数
1
解决办法
1986
查看次数

如何处理不支持EXIF方向数据的Android设备?

我正在使用Android 2.2在HTC Desire上测试我的应用程序.它完全按照我喜欢的方式工作.我使用Sherlock软件包在旧设备上具有与较新版本相同的风格.

我的AVD设置为使用最新的Android,它看起来也不错.然后我把它放到三星Galaxy S2上,当我使用相机和图库图像时,它们旋转错误.它接缝三星(相机应用程序,它自己的Android)没有或它确实检查EXIF和我的图像是错误的.纵向图像以横向方式加载,横向图像以纵向方式加载.

  1. 我想我需要以某种方式检查EXIF并忽略它以便按原样加载图像?
  2. 更大的问题是 - 如何知道是否有其他设备(某些HTC,一些华为,无论如何)会出现类似的问题?我认为除了拥有4个屏幕尺寸组之外,所有Android设备的行为都相同...

TNX.

android exif image orientation

6
推荐指数
1
解决办法
4359
查看次数

在4.0.3 Samsung Galaxy S2上发布Android Coverflow问题

我正在使用android coverflow,它在大多数设备上运行良好,但似乎在Android 4.0.3中,一旦你来回滑动它就不会将中心图像放回到中心.

它们仍然"卡住"并处于错误的角度.

有没有人有类似的问题?什么可能导致这种行为?

因此,附加图像上的中间图像应居中,而不是按原样成角度.

CowerFlow问题

android coverflow

6
推荐指数
2
解决办法
2119
查看次数

如何同时"破坏"多个Android活动

我在应用程序中有一些通过6个活动的向导.

所以我打电话给:

主要活动 - 呼叫选项1 - 呼叫选项2 - 呼叫选项3 - 呼叫选项4 - 呼叫选项5

现在,在选项5上,我将整个操作保存到数据库,此时我需要返回主活动并销毁Option1,2,3,4和5.

在选项5保存到数据库之前,我需要能够返回,进行更改,转到选项5并保存.

是这样做的正确方法我以某种方式创建了具有以下方法的方法:

private void cleanStack(){
   Option1.finish();
   Option2.finish();
   Option3.finish();
   Option4.finish();
   Option5.finish();
}
Run Code Online (Sandbox Code Playgroud)

然后开始(或恢复)主要活动?

TNX

android android-lifecycle android-activity

5
推荐指数
2
解决办法
883
查看次数

使用OOP插件/小部件和WP_widget扩展名放置$ wpdb的位置

我是插件和WP开发的新手,所以我需要一些帮助.

我正在尝试做的是插件,它将使用/重用媒体文件夹中的某些图像,并按照我喜欢的方式在某个页面中显示它们,或者在某个页面中使用短代码.(所以应该在posts\pages和sidebar小部件上工作).

它应该在许多页面上多次使用.

我决定在WP数据库中创建自己的表,即使我在帖子上看到它可能不需要:使用OOP进行WordPress插件开发

我在几个领域挣扎.首先我遇到问题,找到合适的解释如何创建可以多次使用的小部件.好的,我已经解决了这个问题:

class FeatDispWidget extends WP_Widget {...}
Run Code Online (Sandbox Code Playgroud)

示例,它真的有效,我可以有多个实例和数据保存wp_options.

现在,我正在尝试使用$ wpdb.从所有可能的例子中我看到我必须使用全局$ wpdb或包含一些php文件,或者用我自己的DB类扩展wpdb,但是在OOP方法中最好/正确的方法是什么?

这是我的代码,构造函数的一部分,并尝试调用db函数,它始终给我错误.

class FeatDispWidget extends WP_Widget {

     private $featdisplayer_table;
     $featdisplayer_table = $wpdb->prefix . 'featdisplayer';


/**
 * Widget setup.
 */
function FeatDispWidget() {
    /* Widget settings. */
    $widget_ops = array( 'classname' => 'featdisp', 'description' => __('Sexy Feature Displayer.', 'featdisp') );

    /* Widget control settings. */
    $control_ops = array( 'width' => 300, 'height' => 350, 'id_base' => 'featdisp-widget' );

    /* Create the widget. */
    $this->WP_Widget( 'featdisp-widget', __('Feature Displayer …
Run Code Online (Sandbox Code Playgroud)

php oop wordpress plugins

4
推荐指数
1
解决办法
3559
查看次数

Pandas 在加载 CSV 时保留“null”和“”

我有一个奇怪的 CSV,它有“null”作为值,并且它有一个空单元格作为值。

所以我的行看起来像这样:

null,0,0,0,1,,,,0,0,0,null
Run Code Online (Sandbox Code Playgroud)

我除了读取和重写文件之外什么也没做:

f = pd.read_csv(input_file,sep=',', quotechar='"', engine='python', converters={i: str for i in range(0, 155)})
f.to_csv(output_file, sep=',', escapechar=' ', quotechar='"', quoting=csv.QUOTE_MINIMAL, index=False)
Run Code Online (Sandbox Code Playgroud)

上面是技术上“重命名”一个文件,但这是为了证明我得到了整个文件的相同值,稍后我将修剪某些列(我已经这样做了,但发现数据是错误的)。

那么,如何保留“null”和“”而不读取每一行/列,并创建一个检查每个单元格的函数?

这可能吗?

我尝试了 na_rep="null",但随后所有 '' 都转换为 'null',或者如果我删除它们,则会丢失我的 'null' 值。

python isnull pandas

3
推荐指数
1
解决办法
4188
查看次数

从xml和每个片段充气sherlock动作栏菜单

我正在我的主要活动中创建操作栏菜单:

public boolean onCreateOptionsMenu(Menu menu) {
    // Used to put dark icons on light action bar
    SubMenu sub = menu.addSubMenu(null);
    sub.add(0, R.style.Theme_Sherlock, 0, "Default");
    sub.add(0, R.style.Theme_Sherlock_Light, 0, "Light");
    sub.add(0, R.style.Theme_Sherlock_Light_DarkActionBar, 0,
            "Light (Dark Action Bar)");

    MenuItem ShareButton = sub.getItem();
    ShareButton.setIcon(R.drawable.ic_action_overflow);
    ShareButton.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS
            | MenuItem.SHOW_AS_ACTION_WITH_TEXT);

    return true;

}
Run Code Online (Sandbox Code Playgroud)

然后在我的片段活动中,我尝试更改第二个片段的菜单:

first i do this:
 @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setHasOptionsMenu(true);
    }
Run Code Online (Sandbox Code Playgroud)

我这样做:

@Override
    public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
        // TODO Auto-generated method stub
        //final MenuInflater inflater2 = getMenuInflater();
        //inflater.inflate(R.menu.historymenu, …
Run Code Online (Sandbox Code Playgroud)

android actionbarsherlock android-actionbar

2
推荐指数
1
解决办法
9994
查看次数

Facebook API 3.0. - 添加捆绑信息到图像上传

我正在使用FB API 3.0 for Android,并根据Session I的示例使用

Request request = Request.newUploadPhotoRequest(Session.getActiveSession(), image, new Request.Callback();
Run Code Online (Sandbox Code Playgroud)

上传图片 我需要为此图像添加一些默认文本,但我无法弄清楚它放在哪里.

在旧API中,发送了一组参数:

params.putByteArray("picture", imgData);
params.putString(Facebook.TOKEN, accessToken);
params.putString("caption", MyGlobals.INSTANCE.activeSetting.f_name);
Run Code Online (Sandbox Code Playgroud)

向Request for newUploadPhotoRequest添加文本的正确方法是什么?

TNX.

android facebook

2
推荐指数
1
解决办法
2615
查看次数

Android FB API 3.0 - Facebook的应用程序配置错误

我遇到了FB API的问题.

星期五早上,我已经完成了设置,它工作正常,我可以在我的2个不同的设备上安装它,它同时适用于两者.

星期天,当我想向我的朋友展示我的应用程序时,与安装了FB应用程序的设备连接到Facebook崩溃,今天我第一次使用API​​ 3.0,我看到我的应用程序配置错误,无法登录Facebook.

直到今天我才触摸代码,今天我唯一改变的是调用我发布带有标题的图像,所以我根本没有触摸登录部分:

if (MyGlobals.INSTANCE.isOnline(getSherlockActivity())) {
if (txt.getTag() == faceLoggedIn) {
 if (session.isOpened()) {
  Log.w("ss", "Session Allready Open");
  onClickLogout();
  updateSocialView(txt, img);
  // txt.setText("Log To Facebook");
  // txt.setTag(faceLoggedOut);
  // img.setImageResource(R.drawable.facebook_icon_gray);
  // MyGlobals.INSTANCE.f_socialsSet = false;
 }
} else if (txt.getTag() == faceLoggedOut) {
 if (!session.isOpened() && !session.isClosed()) {
  Log.w("Session is not opend", "Session is not closed");
  session.openForRead(new Session.OpenRequest(getActivity()).setCallback(MyGlobals.INSTANCE.statusCallback));
 } else {
  Session.openActiveSession(getActivity(), true, MyGlobals.INSTANCE.statusCallback);
  Log.w("Open Active Session", "Status Callback");
  updateSocialView(txt, img);
 }
 updateSocialView(txt, img);
 // txt.setText("Log To Facebook");
 // …
Run Code Online (Sandbox Code Playgroud)

android facebook facebook-android-sdk

2
推荐指数
1
解决办法
1032
查看次数