Design/architecture question - Android

I'm a .NET guy just starting out with Android development. A million years ago I studied Java in college so I'm sure it will all come back quick as far as language and syntax goes, but I'm going to have a lot of questions along the way.
My current project will be both a learning experiment and an app that I will actually use when done. I'll try to give a high level overview of what I need to accomplish and hopefully you guys can help.
In a nutshell, this app will display pictures. Think of it as a gallery viewer, but the images will be stored in a folder on a remote server instead of being stored on the device. When the app loads it should display thumbnails of all the images currently in the folder, with the newest ones first so that when a new image is uploaded to the folder it will be the first thumbnail in the list. Clicking a thumbnail should simply display the image in full size (or, not FULL size, but rather the image should be scaled to take up the whole screen).
I could do this very simply as a website but one of my main goals is to make this an "app" so that I can understand how the whole apk process works.
So step 1... where do I begin? :silly:

developer.android.com is an excellent place to start. Have you worked with the eclipse ide at all?
Sent from a Toasted Devil

Related

Looking for Developer to...

Hi.
I was wondering how hard it would be to create a simple application that would connect to a server or website checking for updates. I plan on loading font .apk's on the server or website, and would like a application to periodically check for updates or manually check for updates, be able to preview the font, and then download the .apk if wanted. How hard would it be to create such an application?
Thanks.
Jzero88
jzero88 said:
Hi.
I was wondering how hard it would be to create a simple application that would connect to a server or website checking for updates. I plan on loading font .apk's on the server or website, and would like a application to periodically check for updates or manually check for updates, be able to preview the font, and then download the .apk if wanted. How hard would it be to create such an application?
Thanks.
Jzero88
Click to expand...
Click to collapse
Well, this depends on how you approach it, but I think the easiest way to do this would be to create a feed using XML. So if you were doing your font updater, you would load a file like this:
<FontDetails>
<Font name = "Font1" example = "http://www.myfontsite.com/FontExamples/Font1.png" location = ""http://www.myfontsite.com/Fonts/Font1.apk"\>
<Font name = "Font2" example = "http://www.myfontsite.com/FontExamples/Font2.png" location = "http://www.myfontsite.com/Fonts/Font2.apk"\>
</FontDetails>​
The problem with this is that you will have to maintain this XML file, making sure its always up-to-date(Easily manageable with some simple scripts).
If you aren't willing to do this, you could go down the road that is wrongly mislabeled as "The Easy Way" and hard-code the locations of all your APK's and all of your example images, but I would only do this if you were planning on dumping all the APK's and images in the same place(For example, if all your APK's were here: http://www.myfontsite.com/Fonts/). You would request the directory information from the server and parse that into your list of font APK's and correspond them with their example images(probably by naming them the same; i.e. Font1.apk and Font1.png).
If you decide to use the first option, you could do a bunch of cool things with the organization, like break things into categories and apply taggings and it would only require one request to the server per update. If you go with the second method, organization is guaranteed to be a mess if you try anything large scale, and adds a layer of complexity if you try to break things into folders and categories. This would require a ping per folder you have to check, which can have a high complexity factor if you have a lot of folders.
I just want to point out that even though this is directly related to development, this is a type of question that belongs in the General section(Questions ALWAYS belong in General). I'm sure a Mod will come around, scold you, then move the thread.
Anyway, I do hope this helps,
Good luck,
Tyler
Edit: Having a bit of problems getting the XML looking correct. Sorry if it looks ugly :S
Even easier would be to manage the updater as an RSS feed. Then it becomes quite trivial, as there are several examples of RSS readers online already.
Great! Thanks for the reply!
Yeah, the XML approach I think would be the better option as well, just because we could use this thread to hold everything I currently do no have any hosting at this time. Would you be up to making such a application? It seems you have the know abouts to so.... I would be the one to maintain everything and update it. I would monitor this thread and when new ones pop up, I wouldn't mind adding it to in the XML.
Also, how would the RSS feed work?
Thanks
jzero88 said:
Great! Thanks for the reply!
Yeah, the XML approach I think would be the better option as well, just because we could use this thread to hold everything I currently do no have any hosting at this time. Would you be up to making such a application? It seems you have the know abouts to so.... I would be the one to maintain everything and update it. I would monitor this thread and when new ones pop up, I wouldn't mind adding it to in the XML.
Also, how would the RSS feed work?
Thanks
Click to expand...
Click to collapse
Wish I could...I've got about 50 projects already on the back-burner and no time to finish them Tell ya what though...I've finished a mini project a couple weeks ago with some buddies at school for my friends website. Its an Open-Source RSS reader that was made to read in the latest articles of his site. With some slight tweaking, I'm sure you(or some other dev) could mod it to work in your favor...Here's the github address:
http://github.com/pencilo/Absolute-Android-RSS.git
I don't think this is the latest code, but all the working elements you need are in here.

Photo time stamping just not an option?

I just emailed HTC about it. I even had to send a photo I took with my Hero with time stamping enabled to show them what I meant. The only thing they can tell me is that it just isn't an option on the Evo 3D. They also told me to look on the market for an app that'll let me add that functionality. Is there such a thing?
I'm adding the same example photo I sent to HTC in this post, so everyone will know what I mean by time/date stamping.
I really don't get why it isn't a standard option.
I was going to add a poll to see how many of you out there think this should be an option added to the camera app, but I can't seem to figure out how to add a poll. lol
Isn't the timestamp simply part of the metadata tags built into the image file?
saltorio said:
Isn't the timestamp simply part of the metadata tags built into the image file?
Click to expand...
Click to collapse
...what he said. Unless you actually want an old school red/orange timestamp on top of your photo? Might find an app for that on the Market, who knows?
dumasauce said:
Unless you actually want an old school red/orange timestamp on top of your photo? Might find an app for that on the Market, who knows?
Click to expand...
Click to collapse
the sample photo he posted above contains a text colored timestamp on the bottom right hand corner.
i do think it is very odd the camera app does not provide an option for a timestamp and i too have used this feature in the past and think its a good idea.
odd they didn't add that feature. i hadn't noticed until i read this post and checked my camera app .. def no option to put a timestamp on the lower right corner of the photo.
joeykrim said:
the sample photo he posted above contains a text colored timestamp on the bottom right hand corner.
i do think it is very odd the camera app does not provide an option for a timestamp and i too have used this feature in the past and think its a good idea.
odd they didn't add that feature. i hadn't noticed until i read this post and checked my camera app .. def no option to put a timestamp on the lower right corner of the photo.
Click to expand...
Click to collapse
But again, how is a time stamp on the actual photo a benefit over including the time stamp in the image file metadata?
Back when photos were on film, burning the time stamp into the photo itself was the only way to know when it was taken. But these things are digital. Metadata is a much more elegant way to track all sorts of information (like geo tags) associated with a photo, and it's how all the information is stored in the photos the EVO 3D (and pretty much every other digital camera device) takes. Most photo organization software (like most MP3 software) makes extensive use of meta tags for sorting and searching your files. And it doesn't muddy up your images to boot.
saltorio said:
But again, how is a time stamp on the actual photo a benefit over including the time stamp in the image file metadata?
Back when photos were on film, burning the time stamp into the photo itself was the only way to know when it was taken. But these things are digital. Metadata is a much more elegant way to track all sorts of information (like geo tags) associated with a photo, and it's how all the information is stored in the photos the EVO 3D (and pretty much every other digital camera device) takes. Most photo organization software (like most MP3 software) makes extensive use of meta tags for sorting and searching your files. And it doesn't muddy up your images to boot.
Click to expand...
Click to collapse
to illustrate the otherside of the viewpoint you've expressed and address your question.
i guarantee not every android user understands metadata, nor knows how to use/where to find it. i find it comical imaging my parents trying to locate the metadata of a picture they took on their phone.
for those people who still print out their images and want to scrapbook/put in photo albums, they might prefer having the time/date stamped on the front of the image itself.
some people prefer timestamps printed on their photos and some people do not. having or not having timestamps on photos is a matter of personal preference and is a legit request as an option, especially given i've had the option of printing timestamps on the images i've taken with previous android phones.
joeykrim said:
to illustrate the otherside of the viewpoint you've expressed and address your question.
i guarantee not every android user understands metadata, nor knows how to use/where to find it. i find it comical imaging my parents trying to locate the metadata of a picture they took on their phone.
for those people who still print out their images and want to scrapbook/put in photo albums, they might prefer having the time/date stamped on the front of the image itself.
some people prefer timestamps printed on their photos and some people do not. having or not having timestamps on photos is a matter of personal preference and is a legit request as an option, especially given i've had the option of printing timestamps on the images i've taken with previous android phones.
Click to expand...
Click to collapse
Well then go to the official HTC Community forums and make the request.
My X10 didn't have the ability to print time stamps on the photos, neither does my wife's text messaging phone. I'm not even sure if either of our digital cameras (a Digital Rebel, and a Canon point-and shoot) have that capability. All I'm saying is people have to move with the march of technology.
And on a related note: can you imagine your parents even having an EVO 3D?
Here's something. Wouldn't it be possible to just take the setting from the most recent Sense before Sense 3 and add it to the settings in our present camera app?
I'm no programmer, (or I'd just attempt it myself, lol). Just putting it out there so maybe someone will consider it.
The reason for time/date stamping ON the photo in addition to the metadata is the fact that most people, at least in my opinion, when attempting to retrieve the date of a certain photo on the internet, would rather just see it printed right on the photo than have to download the image and look for it in the image info.
Now I'm not sure if I'm just missing it when attempting this or not, but I went to a random site, right clicked on an image and went to View Image Info, and didn't see anything at all about a date or time the image was taken. Only when I actually download the image then go to Properties>Details do I see an actual date/time.
I didn't mean for this to be a debate or anything. Just feel it's wrong not to even give the option anymore. It's not like something like that takes up a lot or space or processing power, or even time processing the photo.
I think It's cool when you need to provide a day and time for a pic that you want to upload online.
johnequickiii said:
Here's something. Wouldn't it be possible to just take the setting from the most recent Sense before Sense 3 and add it to the settings in our present camera app?
I'm no programmer, (or I'd just attempt it myself, lol). Just putting it out there so maybe someone will consider it.
The reason for time/date stamping ON the photo in addition to the metadata is the fact that most people, at least in my opinion, when attempting to retrieve the date of a certain photo on the internet, would rather just see it printed right on the photo than have to download the image and look for it in the image info.
Now I'm not sure if I'm just missing it when attempting this or not, but I went to a random site, right clicked on an image and went to View Image Info, and didn't see anything at all about a date or time the image was taken. Only when I actually download the image then go to Properties>Details do I see an actual date/time.
I didn't mean for this to be a debate or anything. Just feel it's wrong not to even give the option anymore. It's not like something like that takes up a lot or space or processing power, or even time processing the photo.
Click to expand...
Click to collapse
i didn't want a debate either so i stopped replying as it was clearly off topic.
copying the settings file from a previous sense version of camera which supports the time/stamp, *could* work, assuming the current camera.apk supports time/stamping and they just forget/intentionally didnt add it to the options menu inside the camera.apk.
i dont have a previous sense phone, like the EVO, handy to pull the camera settings file from /data/data ..
on the EVO3D the settings file is: /data/data/com.android.camera/shared_prefs/com.android.camera_preferences.xml
an example adb pull command to copy it to the local computer:
adb pull /data/data/com.android.camera/shared_prefs/com.android.camera_preferences.xml c:\com.android.camera_preferences.xml
i do wonder how adding time stamping to the picture would work in 3d mode ... i wonder if that presented an issue so they scrapped it ... just speculating!
joeykrim said:
i do wonder how adding time stamping to the picture would work in 3d mode ... i wonder if that presented an issue so they scrapped it ... just speculating!
Click to expand...
Click to collapse
Ya know, I never thought of that as a potential reason for leaving it out. That's probably it too, not that we could get an official answer to it though, so speculation will have to do, but I do think you have it right.
I DID hear early on in the threads that it was possible that panorama and burst mode, among other things, weren't acting right for one reason or another, and those functions were pulled right before release. Makes sense that panorama or burst wouldn't work right either in 3D, so it stands to reason.
Still though, it would've been nice to have those options for 2D pictures. It's a shame they couldn't figure out how to disable those options when the 3D switch was flipped, if any of this is really the case even. lol
Sent from my PG86100 using XDA App

Physics Projection Calculator, Problems.

I am developing my first android app, I have been studying javascript for a few months, and have manged to get it down pretty well, along with creating some fair applications with it.
This is my first android application, and please take into account that i started it less then 5 hours ago. Ill post on this thread whenever I run into problems to hopefully get some help.
Here is my aplication currently:
(attached)
nothing actually "does anything" right now, except the button its just a XML screen and a splash screen really.
Here is a project i did in JDK which i am trying to "Mimick":
The first problem i am having right now is that the background that i am trying to put on to my application is not showing up in the XML properties "Background" under drawable. The Background is saved in all 3 of the draw able folders under rec. Whenever i try to add the background manually with code i get this error.
Failed to convert @drawable/background3 into a drawable
Couldn't resolve resource @drawable/background3
Click to expand...
Click to collapse
Secondly I am trying to figure out how to send the numbers entered into the "editText" objects to the main java method. I used actionListeners in java but i don;t know here. No need to explain it i would be very appreciative if someone could just point me in the right direction.

New Project - reskinning existing app (force closes)

Hey friendly xda people So I am in the beginning stages of a full on android addiction and decided I would start my first real project by attempting to re skin an existing app that is extremely well featured but lacking visually so I chose ... well I don't think I will say out of respect for the developer. But realistically I have many years experience using adobe products and am more than comfortable mucking around with pngs. So where I am at now is I have a good 80% of the assets re skinned and updated to a more kit kat like look and have verified that the dev has used no 9 pngs that I have accidentally edited, but this is where I am stuck. I have followed the walkthroughs to use apktool and signapk + zipallign to get the apk ready and have finished with the process. When I then go to load the apk on the phone I get the app to install, but then when it runs the app closes right after its splash screen. So I do understand that sight unseen it will be quite difficult to diagnose what problem I am having, but I'm learning and really would like some insight into some sort of trick/ tool or process that I could use to track down where my issue lies.
uprightbass360 said:
Hey friendly xda people So I am in the beginning stages of a full on android addiction and decided I would start my first real project by attempting to re skin an existing app that is extremely well featured but lacking visually so I chose ... well I don't think I will say out of respect for the developer. But realistically I have many years experience using adobe products and am more than comfortable mucking around with pngs. So where I am at now is I have a good 80% of the assets re skinned and updated to a more kit kat like look and have verified that the dev has used no 9 pngs that I have accidentally edited, but this is where I am stuck. I have followed the walkthroughs to use apktool and signapk + zipallign to get the apk ready and have finished with the process. When I then go to load the apk on the phone I get the app to install, but then when it runs the app closes right after its splash screen. So I do understand that sight unseen it will be quite difficult to diagnose what problem I am having, but I'm learning and really would like some insight into some sort of trick/ tool or process that I could use to track down where my issue lies.
Click to expand...
Click to collapse
From what I understood the app force closes because you edited the *.9.png, right? I suggest you to do exactly this process:
-Take a new APK of the app
-Rename to *.zip
-Open it with 7zip (DO NOT EXTRACT IT)
-Copy the new assets and res/layout pictures in the same folders of the 7zip opened APK
-Save it as a *.zip
-Rename it to *.apk
-Try to install and open it
Hope it helps

Photo date correction app?

I just recently had to transfer pictures to a PC so I could update a phone. After transferring the files back they don't show up in chronological order in the gallery app due to the file creation date being changed. I guess this is a common problem with android so I'm surprised that it's giving me such a headache to find a solution. The only app I found that does what I'm looking for (Photo Date Correction) doesn't work with any Android version past 3.1.
Does anyone know of a solution to make the file created date to match the EXIF date taken? I'm looking for an android solution; copying 5,202 picture to PC and back was a nightmare that I don't want to repeat any time soon.
Thanks
Reserved
Bump
Ok, so I found a gallery app called F-Stop that works OK in sorting by date taken. It still boggles my mind that stock gallery apps don't have this feature. It's stupid little things like this that keep edging me more and more toward a god forsaken iPhone.

Categories

Resources