小编Tom*_*mas的帖子

Android - 如何将照片从SD卡上传到Facebook墙

我使用Facebook Android SDK.

目标

在Facebook登录用户的新闻Feed中创建多个帖子,其中包含来自Android设备(其SD卡)的照片和一些评论.结果应与使用Facebook直接添加照片/视频功能时的结果相同.最后,它应该是这样的:

想要Facebook的结果

目标

问题

我不能这样做.

我浏览了Stack Overflow上的众多类似帖子,但到目前为止还没有答案.

到目前为止我试图实施的内容

方法1:SD卡照片2 Facebook专辑

怎么样

将图片从我的手机(SD卡)上传到我第一次上传图片时为我的应用程序创建的相册.在这种情况下,在构造params对象时,我使用picture密钥并将图片的字节作为其值.我me/photosrequest(...)Facebook(或AsyncFacebookRunner)对象的调用中使用.**

问题

并非所有上传的图像都显示在我的墙上.相反,有一些像x照片被添加到专辑xxx.

代码片段是这个(对于一张图片)

Bundle params = new Bundle();
params.putString("message", "Uploaded on " + now());
params.putByteArray("picture", bytes); //bytes contains photo bytes, no problem here
asyncRunner.request("me/photos", params, "POST", new PostPhotoRequestListener(), null);
Run Code Online (Sandbox Code Playgroud)

Facebook结果

照片到专辑

方法2:互联网照片2 facebook新闻提要

怎么样

在我的墙上的帖子中显示存储在互联网上某处的图片.在这种情况下,在构造params对象时,我使用link键并将url设置为picture作为其值.我me/feedrequest(...)通话中使用.

问题

这会产生一些奇怪的输出,但它不是我想要的.

代码片段是这个(对于一张图片)

Bundle params = new Bundle();
params.putString("message", "Uploaded on " + now());
params.putString("link", …
Run Code Online (Sandbox Code Playgroud)

android facebook

12
推荐指数
1
解决办法
7149
查看次数

使用精灵数组列表时发生并发错误

目前,我正在详细研究游戏开发,并(在一些在线教程的帮助下)创建了以下示例游戏。目的是触摸屏幕上的精灵,从而杀死它们(即,将它们从屏幕上移除)。屏幕截图如下

屏幕截图

当我杀死其中的几个时,我得到以下例外

E/AndroidRuntime(  277): FATAL EXCEPTION: Thread-8
E/AndroidRuntime(  277): java.util.ConcurrentModificationException
E/AndroidRuntime(  277):        at java.util.ArrayList$ArrayListIterator.next(ArrayList.java:573)
E/AndroidRuntime(  277):        at cz.trada.gd101.GameView.draw(GameView.java:65)
E/AndroidRuntime(  277):        at cz.trada.gd101.GameLoopThread.run(GameLoopThread.java:32)
Run Code Online (Sandbox Code Playgroud)

源代码如下所示。不幸的是,我不知道如何在SO上突出显示确切的代码行,因此我在它们前面加了以下注释://ERROR COMING 因此,您可以轻松地找到这些行。

请帮助我了解并发错误的原因并找到解决方案。

PS:图片资源my_sprite_girlmy_sprite_boy游戏中使用的内容附在本文末尾。

Main.java

package cz.trada.gd101;
import android.app.Activity;
import android.os.Bundle;
import android.view.Window;

public class Main extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        setContentView(new GameView(this));
    }
}
Run Code Online (Sandbox Code Playgroud)

GameView.java

package cz.trada.gd101;
import java.util.ArrayList;
import java.util.List;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Color;
import android.util.Log; …
Run Code Online (Sandbox Code Playgroud)

concurrency android

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

根据代码中的名称将Wifi标记为移动热点

情况

  • 我有一个安卓平板电脑通过WiFi连接到车载单元(OBU)和汽车.
  • OBU具有SIM卡,可以访问互联网.
  • 平板电脑上的应用程序通过OBU提供的互联网与服务器进行通信.
  • 因此,OBU基本上是平板电脑的移动热点.

问题

  • 平板电脑执行消耗大量数据的更新,因为它认为它是在Wifi上
  • 这导致SIM卡可用的数据限制耗尽
  • 这导致整个解决方案的失败
  • ...或传输数据的每增加MB(超过限制)的额外费用

事实

  • 我可以通过Google Play中的设置阻止平板电脑上的普通应用自动更新
  • 我无法通过前面提到的方法阻止系统更新
  • 我可以手动将WiFi标记为移动热点,这也会阻止系统更新
  • 我读了:http://www.lorier.net/docs/android-metered
  • 我读了:/sf/...

目标

  • 基于其SSID 将Wifi网络标记为来自android代码的移动热点

有任何想法吗?

android android-wifi

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

标签 统计

android ×3

android-wifi ×1

concurrency ×1

facebook ×1