【问题标题】:Is it possible to upload photo on twitter ? if yes then How to post or upload photo from android?推特可以上传照片吗?如果是,那么如何从 android 发布或上传照片?
【发布时间】:2011-11-12 04:25:50
【问题描述】:

我是在 android 中集成 twitter 的新手。在我的应用程序中,我想在 Twitter 上上传照片。

我不确定这怎么可能,但我发现在推特网站上的推文中上传照片选项。所以我想在推文中上传照片。

是否有任何示例或演示来集成它? 请给我任何演示项目或示例的链接。 谢谢。

更新:

在 twit4j 实现后得到如下错误:

11-12 10:36:19.384: WARN/System.err(283): org.apache.harmony.xml.ExpatParser$ParseException: At line 1, column 0: no element found
11-12 10:36:19.394: WARN/System.err(283):     at org.apache.harmony.xml.ExpatParser.finish(ExpatParser.java:553)
11-12 10:36:19.404: WARN/System.err(283):     at org.apache.harmony.xml.ExpatParser.parseDocument(ExpatParser.java:483)
11-12 10:36:19.404: WARN/System.err(283):     at org.apache.harmony.xml.ExpatReader.parse(ExpatReader.java:320)
11-12 10:36:19.416: WARN/System.err(283):     at org.apache.harmony.xml.ExpatReader.parse(ExpatReader.java:277)
11-12 10:36:19.416: WARN/System.err(283):     at com.harrison.lee.twitpic4j.ResponseXMLParser.parseResponse(ResponseXMLParser.java:81)
11-12 10:36:19.416: WARN/System.err(283):     at com.harrison.lee.twitpic4j.TwitPic.uploadAndPost(TwitPic.java:170)
11-12 10:36:19.416: WARN/System.err(283):     at com.example.drawing.DrawingActivity.onClick(DrawingActivity.java:408)
11-12 10:36:19.424: WARN/System.err(283):     at java.lang.reflect.Method.invokeNative(Native Method)
11-12 10:36:19.424: WARN/System.err(283):     at java.lang.reflect.Method.invoke(Method.java:521)
11-12 10:36:19.424: WARN/System.err(283):     at android.view.View$1.onClick(View.java:2067)
11-12 10:36:19.435: WARN/System.err(283):     at android.view.View.performClick(View.java:2408)
11-12 10:36:19.435: WARN/System.err(283):     at android.view.View$PerformClick.run(View.java:8816)
11-12 10:36:19.435: WARN/System.err(283):     at android.os.Handler.handleCallback(Handler.java:587)
11-12 10:36:19.483: WARN/System.err(283):     at android.os.Handler.dispatchMessage(Handler.java:92)
11-12 10:36:19.483: WARN/System.err(283):     at android.os.Looper.loop(Looper.java:123)
11-12 10:36:19.483: WARN/System.err(283):     at android.app.ActivityThread.main(ActivityThread.java:4627)
11-12 10:36:19.483: WARN/System.err(283):     at java.lang.reflect.Method.invokeNative(Native Method)
11-12 10:36:19.483: WARN/System.err(283):     at java.lang.reflect.Method.invoke(Method.java:521)
11-12 10:36:19.494: WARN/System.err(283):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
11-12 10:36:19.494: WARN/System.err(283):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
11-12 10:36:19.494: WARN/System.err(283):     at dalvik.system.NativeStart.main(Native Method)
11-12 10:36:19.494: INFO/System.out(283): Status: null
11-12 10:36:19.506: INFO/System.out(283): Status Id: null
11-12 10:36:19.506: INFO/System.out(283): User Id: null
11-12 10:36:19.506: INFO/System.out(283): Media Aid: null
11-12 10:36:19.506: INFO/System.out(283): Media Url: null
11-12 10:36:19.514: INFO/System.out(283): Error Code: null
11-12 10:36:19.514: INFO/System.out(283): Error Msg: null

【问题讨论】:

    标签: android android-layout twitter android-emulator android-widget


    【解决方案1】:

    是的,这是可能的。你需要一个 jar 文件 twitpic4j.jar

    http://code.google.com/p/twitpic4j/downloads/detail?name=twitpic4j.jar&can=2&q=

    这里是代码;请确保您已在 tweetpic 帐户中注册了您的 twitter 帐户。

    File file = ***YOUR IMAGE***
    
    TwitPic tpRequest = new TwitPic(this.username, this.password);
    TwitPicResponse tpResponse = null;
    // Make request and handle exceptions                           
    try {
            tpResponse = tpRequest.uploadAndPost(file, this.tweet);
            return "s";
    } catch (IOException e) {
            e.printStackTrace();
    } catch (TwitPicException e) {
            e.printStackTrace();
    }
    

    【讨论】:

    • 这里 this.username 和 this.password 是静态值?
    • 我的意思是用户每次都要输入用户名和密码?
    • 我使用了你的代码。但是用了之后。我有错误。并且没有图像上传到推特。请查看错误日志的更新问题。
    • 用户名/密码 - 这完全取决于您的应用程序的要求。 this.tweet 这里是一个你想发推文的字符串。我不确定发生了什么......每次我使用它时都会像魅力一样......
    • 好的,但是 this.username 和 this.password 是由开发者设置的吗?
    【解决方案2】:

    是的,这是可能的。 我已使用 Twitter4J 库将 Twitter 集成到我的应用程序中。

    您可以在这里了解所提供的课程,JavaDoc

    【讨论】:

    • 请参阅更新后的问题。我在实现 tweet4j 时出错。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-25
    • 1970-01-01
    相关资源
    最近更新 更多