Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/212.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android如何在不让用户登录的情况下获得公共推文_Android_Android Studio_Twitter Fabric_Android Twitter - Fatal编程技术网

Android如何在不让用户登录的情况下获得公共推文

Android如何在不让用户登录的情况下获得公共推文,android,android-studio,twitter-fabric,android-twitter,Android,Android Studio,Twitter Fabric,Android Twitter,我知道这个问题已经被问过了。我已经阅读了twitter的sdk。它的作者,但我在理解它时是如此的愚蠢。下面是我想要的关键点 我想要什么 我想让所有的推文都基于散列标签,下面是我在手机上想要的例子 我希望我的用户不必登录他/她的twitter帐户。他只是在我的应用程序中看到推文列表,然后让他自我更新 我已经学习了很多教程,但它们并没有帮助我,我还阅读了如何从其他链接获取推文 请告诉我我需要哪个授权? 以及如何做这些事情。和良好的链接与我们的twitter登录请 首先,您需要使用twitter应用程

我知道这个问题已经被问过了。我已经阅读了twitter的sdk。它的作者,但我在理解它时是如此的愚蠢。下面是我想要的关键点

我想要什么

  • 我想让所有的推文都基于散列标签,下面是我在手机上想要的例子

  • 我希望我的用户不必登录他/她的twitter帐户。他只是在我的应用程序中看到推文列表,然后让他自我更新

  • 我已经学习了很多教程,但它们并没有帮助我,我还阅读了如何从其他链接获取推文

    请告诉我我需要哪个授权?
    以及如何做这些事情。和良好的链接与我们的twitter登录请

    首先,您需要使用twitter应用程序的密钥和密码初始化Fabric:

    public void initFabric(Context context){
        if(!Fabric.isInitialized()) {       
              TwitterAuthConfig authConfig = new TwitterAuthConfig(TWITTER_KEY, TWITTER_SECRET);
              Fabric.with(context, new Twitter(authConfig));                 
        }else{
              Log.d(TAG, "Fabric already initialized");
        }
    }
    
    记住要保留你的钥匙和秘密

    然后,您可以通过以下方式按帐户和标签检索推文:

    public static TweetTimelineListAdapter retrieveTimeLineByHashtag(Context context, String hashtag){
        Log.d(TAG, "Loading tweets with hashtag " + hashtag);
        SearchTimeline searchTimeline = new SearchTimeline.Builder().query(hashtag).build();
        return new TweetTimelineListAdapter.Builder(context).setTimeline(searchTimeline).build();
    }
    
    public static TweetTimelineListAdapter retrieveTimeLineByAccount(Context context, String account){
        Log.d(TAG, "Loading tweets from user " + account);
        UserTimeline userTimeline = new UserTimeline.Builder().screenName(account).build();
        return new TweetTimelineListAdapter.Builder(context).setTimeline(userTimeline).build();
    }
    
    还要考虑到SearchTimeline只搜索包含搜索词的最近推文,因此您可以发现没有返回推文。然而,我找不到更好的方法通过使用Fabric的标签获取推文

    编辑:

    public class Prueba extends AppCompatActivity {
    
        private static final String TAG = "TWITTER_PRUEBA";
        private ListView listView;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_prueba);
    
            bindUI();
            initFabric(getApplicationContext());
        }
    
        @Override
        protected void onPostCreate(Bundle savedInstanceState) {
            super.onPostCreate(savedInstanceState);
    
            TweetTimelineListAdapter adapter = retrieveTimeLineByHashtag(this, "#Wwe");
            listView.setAdapter(adapter);
        }
    
        private void bindUI(){
            listView = (ListView) findViewById(R.id.prueba);
        }
    
        public static void initFabric(Context context){
    
            Log.d(TAG, "Initializing Fabric");
    
            if(!Fabric.isInitialized()) {
    
    
                    TwitterAuthConfig authConfig = new TwitterAuthConfig(TWITTER_KEY, TWITTER_SECRET);
                    Fabric.with(context, new Twitter(authConfig));
    
    
            }else{
                Log.d(TAG, "Fabric already initialized");
            }
        }
    
        public static TweetTimelineListAdapter retrieveTimeLineByHashtag(Context context, String hashtag){
            Log.d(TAG, "Loading tweets with hashtag " + hashtag);
            SearchTimeline searchTimeline = new SearchTimeline.Builder().query(hashtag).build();
            return new TweetTimelineListAdapter.Builder(context).setTimeline(searchTimeline).build();
        }
    
        public static TweetTimelineListAdapter retrieveTimeLineByAccount(Context context, String account){
            Log.d(TAG, "Loading tweets from user " + account);
            UserTimeline userTimeline = new UserTimeline.Builder().screenName(account).build();
            return new TweetTimelineListAdapter.Builder(context).setTimeline(userTimeline).build();
        }
    }
    
    结果:


    首先,您需要使用twitter应用程序的密钥和密码初始化Fabric:

    public void initFabric(Context context){
        if(!Fabric.isInitialized()) {       
              TwitterAuthConfig authConfig = new TwitterAuthConfig(TWITTER_KEY, TWITTER_SECRET);
              Fabric.with(context, new Twitter(authConfig));                 
        }else{
              Log.d(TAG, "Fabric already initialized");
        }
    }
    
    记住要保留你的钥匙和秘密

    然后,您可以通过以下方式按帐户和标签检索推文:

    public static TweetTimelineListAdapter retrieveTimeLineByHashtag(Context context, String hashtag){
        Log.d(TAG, "Loading tweets with hashtag " + hashtag);
        SearchTimeline searchTimeline = new SearchTimeline.Builder().query(hashtag).build();
        return new TweetTimelineListAdapter.Builder(context).setTimeline(searchTimeline).build();
    }
    
    public static TweetTimelineListAdapter retrieveTimeLineByAccount(Context context, String account){
        Log.d(TAG, "Loading tweets from user " + account);
        UserTimeline userTimeline = new UserTimeline.Builder().screenName(account).build();
        return new TweetTimelineListAdapter.Builder(context).setTimeline(userTimeline).build();
    }
    
    还要考虑到SearchTimeline只搜索包含搜索词的最近推文,因此您可以发现没有返回推文。然而,我找不到更好的方法通过使用Fabric的标签获取推文

    编辑:

    public class Prueba extends AppCompatActivity {
    
        private static final String TAG = "TWITTER_PRUEBA";
        private ListView listView;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_prueba);
    
            bindUI();
            initFabric(getApplicationContext());
        }
    
        @Override
        protected void onPostCreate(Bundle savedInstanceState) {
            super.onPostCreate(savedInstanceState);
    
            TweetTimelineListAdapter adapter = retrieveTimeLineByHashtag(this, "#Wwe");
            listView.setAdapter(adapter);
        }
    
        private void bindUI(){
            listView = (ListView) findViewById(R.id.prueba);
        }
    
        public static void initFabric(Context context){
    
            Log.d(TAG, "Initializing Fabric");
    
            if(!Fabric.isInitialized()) {
    
    
                    TwitterAuthConfig authConfig = new TwitterAuthConfig(TWITTER_KEY, TWITTER_SECRET);
                    Fabric.with(context, new Twitter(authConfig));
    
    
            }else{
                Log.d(TAG, "Fabric already initialized");
            }
        }
    
        public static TweetTimelineListAdapter retrieveTimeLineByHashtag(Context context, String hashtag){
            Log.d(TAG, "Loading tweets with hashtag " + hashtag);
            SearchTimeline searchTimeline = new SearchTimeline.Builder().query(hashtag).build();
            return new TweetTimelineListAdapter.Builder(context).setTimeline(searchTimeline).build();
        }
    
        public static TweetTimelineListAdapter retrieveTimeLineByAccount(Context context, String account){
            Log.d(TAG, "Loading tweets from user " + account);
            UserTimeline userTimeline = new UserTimeline.Builder().screenName(account).build();
            return new TweetTimelineListAdapter.Builder(context).setTimeline(userTimeline).build();
        }
    }
    
    结果:


    我想得到一个看起来像Twitter中的原始视图,我已经在全班做了更多的解释。随着它的实施,它正在发挥作用。请确保在你的应用程序中添加正确的结构,并使用你的twitter应用程序的密钥和机密。这正是我想要的外观,等等,让我试试代码。但是有一个困惑,你能澄清它吗,时间线是什么意思?我认为它会从用户时间线中选择wwe标记的帖子?当我想从世界各地得到它的时候,我想得到一个看起来像是原创的视图,就像在Twitter中一样。我已经解释过了,在整个课堂上对它进行了更多的编辑。随着它的实施,它正在发挥作用。请确保在你的应用程序中添加正确的结构,并使用你的twitter应用程序的密钥和机密。这正是我想要的外观,等等,让我试试代码。但是有一个困惑,你能澄清它吗,时间线是什么意思?我认为它会从用户时间线中选择wwe标记的帖子?我想从世界各地的哪里得到它