Each library that you use as a dependency should have a LICENSE file in their source code. I would just take these licenses and rename them to "LIBRARY_NAME_LICENSE" and include it with the source code.
I know licenses (like the BSD license) require that the original license be included when any source code is reused.
If you are just using these as linked libraries, I don't believe any of this is needed. But I may be wrong about this one.
I've seen many projects which only mention the license in the README or in a LICENSE or COPYING file.
Your software is automatically covered under copyright, as agreed in international law. (Unless you are working for the US government or some other organization for which copyright does not apply.)
If someone uses your software then they must make sure to follow the license agreement, or follow the fair use restrictions on what they can do.
Suppose that person wants to use one of the files in your code distribution, which of course requires a copy and hence copyright law applies. By default they do NOT have the right to use your software under copyright law. It's only when they know and follow the license restrictions that they are allowed to use it.
So if they use a file without a software license then they are breaking copyright law. Since all the licenses say something like "The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software", they are obliged to put that license somewhere.
That can be in the file itself, or when I've used code as library I put the relevant portions into its own directory and added a "README" or "LICENSE" into that subdirectory.
In short, you don't need to put the license in each file. I think it's overkill. There's no extra legal protection in doing so. It does help a downstream user somewhat, but not by much.
I think the tradition of lots of comment-based metadata (license, creation date of each function, changelog, etc.) are very old traditions which exist because they are easy to do and which more a talisman than useful.
For example, the default Eclipse template adds what I think of as useless metadata before each function, which I think is much better captured by version control. But that practice is common in many shops.
Best Answer
Most OSS licenses don't try to precisely prescribe what is expected, as they cannot reasonably know what environment they run in. After all, the freedom to run FOSS code in many environments is a fundamental part of what it means to be FOSS code.
Instead, there's usually a clause that relies on implicit or contextual norms. For instance, the requirement can be to display all the copyright information in one place. Hiding some of the relevant copyright information in another location, just because you don't own those copyrights can be seen as disingenuous. if you think your copyright belongs in dialog X, then you better place all copyrights there. If you find it acceptable to have only a link to a mobile webpage in your app, even for your own copyrights, it's likely the FOSS copyright owners will accept this.
Note that "contextual norm" can be set by third parties. If Apple decides to have a form where you need to state copyrights, then that becomes the norm for all iPhone apps, and you must list FOSS copyrights along with your own.