How can I display a twitter feed In Android programmatically?
Please be more specific of what you want to do (maybe what your motivation is), what you know/tried already and where exactly you are stuck. It makes answering your questions easier.
Having said that, I see two main aspects of what your app should do:
Fetch the tweets for a given feed
Displaying them
I guess how building Android apps and user interfaces works is something you already know to some extend (if not this is a separate question).
So what is missing is a way to communicate with the twitter server and retrieve the tweets. For tasks like that (not only twitter) there are usually APIs defined and you can find libraries to do most of the hard work for you.
In this case a web search for "twitter api android" leads you to twitter's list of available Twitter libraries, sorted by language. Android programming is usually done in Java. In the list you find three Java libraries to choose from, with one explicitly mentioned as Android compatible: twitter4j (under Apache license).
Have fun playing around with that one. The section "code examples" might be worth a look as well.
Edit: Twitter API ME is also android compatible (and GPL / LGPL licensed). And there is TwAPIme, an app demonstrating its features, with source code available (for download link and license see end of description in Google Play).
Related
Background
I was recently tasked to work on an SDK that Android developers could use via simple dependency (got this working for Jitpack&Github, here).
One of the tasks I was given is to use Firebase for remote-config and Analytics (and maybe Crashlytics too), to be able to gather statistics and have some control of it using the cloud.
The problem
All tutorials, articles and documentations (example here) that I see of Firebase are for Android apps, and so the preparation itself requires a package-name of the app to be set.
This is impossible for an Android library that is supposed to be used as an SDK, as it's meant for many apps, each has its own package name.
What I've tried
I tried to ask Firebase support about this, but they told me they can only talk about Android apps, and gave me a Github link (here), probably hoping I could get something out of it.
I also tried to ask on reddit (here), but nobody knew the answer to this.
Looking at the list of available, official SDKs (here), I think such a thing might be possible if I register as if it's a website (or web-application), and then in code I would reach it as a website (using REST API on Retrofit), but not sure if there is a better way, whether it will work, and whether it's even according to the rules of using Firebase (I think should be ok).
There might be a way to use the C++ library that Firebase offers, too, but this would probably require a lot of adjustments.
Seeing that this might not be offered natively, I even made a request about it., here.
The questions
Is it possible to use Firebase inside Android libraries? As an SDK? Is it according to the rules of Firebase?
How do I do it? Is there perhaps a library for this? Maybe a general Java library ? I guess I should also be able to make it focus on my SDK's classes and functions, and ignore what's on the app itself.
If there is no library, where can I find the various functions that are available for the various services, so that I would implement them?
I am trying to understand at a little bit lower level how Android Instant Applications work, as well as analyse a bit the security aspect. I know you create an app, it has its modules and activities, and you need to specify an URL entry-point for each feature module. Now, I have my application, I have my link, I browse to it. Two questions here:
1) How does Android, my browser, DNS, whatever parses that link, know that it's not a normally browsable internet link, but that it's actually an instant app and and should open it like an instant app using the android framework, download base and feature modules, isntant-compilation, etc. ?
2) What does it actually do after it understands it's an instant app? What calls are made? WHERE exactly is the application contained? We start from the browser we use to search and find that link, after that? Is it contained in that browser's sandbox? Does it create a new container for that app? From a security perspective, this information would be quite important and interesting.
How can I gather more info about all this? Are there any tools that allow me to see into these load procedures? Any link to some extra documentation or knowledge of how this particular aspect of android works?
I suspect there won't be much public info because even though they were introduced in the end of 2016, Instant Apps is still a very new and explored feature, but that's exactly what I'm working on. If there is anything that can allow me to see what's going on, tools, debuggers, stuff I don't even know it exists, please let me know.
Some may feel that this is a general question, but I don't believe that. I believe that this is a very important aspect of development and I am trying to learn from others.
Let's say I am making a clone of the twitter app.
Now, the front end is very do-able through traditional android code, however I don't know how to design the backend of the app.
I could use a database - but that seems better suited for older more traditional in house software applications.
I read a little about google app Engine, but I am not sure if that is a solution that should really be used for something like this. Realistically I do not know what options I have and I could use some direction for my research - because I don't want to make a mistake in my architecture only to have to go back and redesign the backend.
I would like to know what types of things I should be researching so that I can evaluate my options appropriately.
Thanks
In this case, you are looking at accessing the Twitter APIs to meet your functionality. You should look at an approach like the following:
Do you want to clone the Twitter App as is ? or certain functionality of it ? Identify that stuff.
Research the Twitter API in detail. For all your Twitter app needs, the requirement could be met directly by your API. Any local functionality for composing, replying, offline, etc can be met by your Android client itself and you do not necessarily need any backend functionality.
If you are looking at providing more value added services (some examples are below) :
Analyze the Tweets to provide enhanced information
Combine Twitter Data with information from other data sources
Provide metrics for all users of your Twitter App
Set User Preferences such that you can sync these preferences to multiple devices if the user logs in from anywhere
In such scenarios, doing work on the Server side will make things easier. Google App Engine is a great backend with which you can achieve a lot of the above functionality. It provides you a PaaS where you can use various services (datastore, networking, email) to boost your productivity, along with choices of languages (Java, Python, PHP and Go).
How to integrate Aweber in android ,i research lot but there is no source code for this, so please help and should be appreciated
AWeber doesn't currently have a ready-made Android client library. You can approach this in a couple of ways:
One possibility is to implement your own API code. AWeber's API uses REST-based resources over standard HTTPS, and uses oAuth 1.0a for authentication. There should be libraries available for Android development that can accomodate your needs - I know that there have been successful "home-rolled" Java, .Net, and other integrations done by third parties so I don't see why Android should be any different.
In this case, I would suggest using the official Python or PHP library as an example of how your code can be implemented. In particular the PHP library has all of the oAuth code out "in plain sight" so it's useful in gaining insight into how authentication works.
Another interesting possibility is to attempt to use the AWeber Python module along with some of the open source projects out there that purport to allow developers to use Python on Android. I find this possibility personally intriguing but I haven't had the spare time to try it out.
While AWeber doesn't currently offer support for Android itself, the API team has documented the authentication process in some detail here:
https://labs.aweber.com/docs/authentication
That reference may help you out if you decide to go the route of rolling your own library.
If you run into any issues with your library, definitely contact the API Support team at api#aweber.com - while they may not have direct support for Android right now, they can often be of assistance in debugging your own library based on what they see on the server side.
I've been planning to build an Android application built on Foursquare APIs. I went to the foursquare developer site and tried out the android oauth example. Also I noticed in the showcase several fancy apps such as Instgram, LocalMind. I wonder where (websites like github) I can find their source codes so that I can have a taste of how to develop a real foursquare app.
I am not sure there is a direct answer to your question.. With the exception of code snippets found by google code search or regular google search, do not expect to find full source code for integration with APIs..
As far as oauth goes, there are many examples with a simple google search on how to make it work (note that you have the Venues API that does not requires the oauth process)
As far as source code goes, you should check out this page it should have links to many examples. (got here after two clicks from that page..)
From my experience, we are developing a foursquare-enabled app with a custom server software - in short, our Android app will access our server, which will access foursquare (if required) and get data and pass it to our client (Android/iPhone/whatever).
Bottom line - eventually, you really should learn the API yourself, know the different endpoints and the returned data structures, experiment with different search results and then, if you wonder on what is the right way to get specific data or if you think you are doing something right and getting the wrong data, this is probably the place to ask about it.
The API Explorer should help a lot in doing that.