I'm working on a simple gallery app. I'm wondering what's the best way to create and dsiplay thumbnails. I was thinking about using ThumbnailUtils, making thumbnail for new pictures and then store it in app data storage as I assume that doing it every time when user displays all images isn't efficient. Though I'm not so sure what's better memory-wise. To load an image into ImageView which is part of RecyclerView item I'm using Glide. I don't know if .thumbnail(...) does what I want so I think I need to create thumbnails myself. Could someone show me the correct way to do this? I want the app to load quickly so it's obvious I can't load full resolution images to recycler.
The best way for your result is to use the GridLayout. I wrote an answer yesterday how to achieve that Widget. Take a look. Cheers!
Related
I'm currently building an app for learning purpose (new to android programming) that lets the users to upload
image to the server and watch other users images (by swipe the screen for example).
I finally succeeded to let the user upload image to the server and I was wondering how to code the part that retrieve the images from the server and present them in the app.
Assuming I have at the time million images, I don't want the app to load all the images in the same time because it will take a lot of time.
And all the guides I'v seen makes the app to load all the images at once.
So my question is what is the recommended way to do so?
Hope I was clear.
Thanks.
Let's say you have an array with a million images in your server to load in your app that will be shown in a RecyclerViewand assuming a screen can fit about 5 images.
In this case scenario a good approach would be to fetch 10 images at a time and load them in a RecyclerView. Load the first 10 images and once the user reaches the end of the scroll load some more images, add them to the previous retrieved image list, and finally update your RecyclerView to present them. With some effort you may be able to create a Facebook look alike effect.
RecyclerView has methods that will easily help you detect the end of scroll (there are plenty of ways you can find in StackOverFlow). Every time you detect an end of scroll, just upload more images.
This is one example: How to know whether a RecyclerView / LinearLayoutManager is scrolled to top or bottom?
Use FlexBox Layout for better UI Design to show images
https://github.com/google/flexbox-layout
See how this cat images are shown using FlexBox Layout
I am working on an Android app where, once a user clicks a login button, the app launches an AsyncTask to verify account details with a remote server. That part works fine by itself and doesn't make my app slow. However, when you click the login button, it launches a second activity where I have 4 ImageViews. When I added that part of the app, it became significantly slower (from less than a second to about 5 seconds loading time). I load the images into the ImageView from the XML layout file directly, so I'm not sure what I'm doing wrong.
My question is that do ImageViews make your app slow, and if so, how do you optimize their performance?
I was working my own app when I actually experienced this too. The reason is because if the files are to big they take a while to load into memory and set as the Image View. There is two ways you could really sort it out.
1: Get a smaller version of the picture. Smaller pictures come up faster and aren't prone to an OutOfMemory exception which kills the app :(.
2: A better way is to use the Picasso api. I used this APIs to add images in list views, expandable list view with pictures in them. The app was fast and fluid :)
Picasso's api would be your best bet ant it is easy to implement.
Edit:
Here is the link to the site to get the APIs :)
Picasso
The only way I could figure this out is to create an image in photoshop that has all the buttons laid out where you want them on top of the image. Interpret it into your app and put regular buttons over top of the imagebutton pictures that you placed onto your background image. Set the size accordingly to your images of your buttons and then set the background of each button to #null so they aren't seen. Now trying to figure out how to interpret this into orientation view even though I don't think I'll be using orientationview. OH AND CHANGED THE EXTENSION TO A GIF TO SAVE ON DATA RATHER THEN PNG.
Hope this helps I'm sort of new at coding on android as I have lots of experience with HTML .
Cheers
THANKS FOR THE DOWN LIKE I WAS SORT OF NEW AT THE TIME OF NOT KNOW OTHER WAYS TO SET THIS... THANKS THOUGH, MORONS
I would like to ask advise if displaying pdf inside gridview instead of image is possible. I have tried to display list of websites in gridview using webview. Now, I want to make it a list of pdf files inside gridview. Normally same with if you open your folder in your linux laptop and have the thumbnails of your pdf, things like that. I want to achieve that in my application. I would really appreciate any of your advice, no codes needed cause i will handle it my self. I just want to have some theories. thanks and HAPPY NEW YEAR GUYS
I think what you're going to have to is convert the pdf's into a bitmap first, then load into an ImageView, check out this post and also look into other pdf rendering libraries for Android.
In my android mobile app, i have list of lot of (more than 200) images and textviews. For that currently i am using gridview.
But my problem is if i am request all that content at once from server then its take too much time to load and render that images and text in gridview which affect user experience.
So i thought of load only 30-40 items at once and then provide load more button at end. But it is not appropriate way to do this thing.
So can anyone please give me other alternatives to do this thing?
fallow this tutorial analyze code and use it.developer tutorial for displaying images.
I want to create a main menu with a gallery that gets images from my website.
and shows them in the gallery for a user to scroll through and see upcoming event pictures.
The images will change just about every month. What is the best way to go about achieving this?
I was thinking maybe storing the images in a particular directory and having a URL set to the image.
The only question is... What happens when the images change? How would i go about updating the URL in the application? No way right?
Another thing... When the images are scrolled off the screen how do we make these images where they wont reload when out of view, causing unnecessary use of bandwidth and possibly outofmemory error.
So from what i have discovered so far, What is the best way a
You could store the urls in a database, have the app download a small text file upon launch containing the newest urls. if there is a difference, then download the new images and update the links in the database.