GVKun编程网logo

从 Android 应用程序访问 Internet 需要什么权限?(安卓程序访问网络的方法)

13

在本文中,我们将带你了解从Android应用程序访问Internet需要什么权限?在这篇文章中,我们将为您详细介绍从Android应用程序访问Internet需要什么权限?的方方面面,并解答安卓程序访

在本文中,我们将带你了解从 Android 应用程序访问 Internet 需要什么权限?在这篇文章中,我们将为您详细介绍从 Android 应用程序访问 Internet 需要什么权限?的方方面面,并解答安卓程序访问网络的方法常见的疑惑,同时我们还将给您一些技巧,以帮助您实现更有效的Android Proguard – 导出应用程序后的Internet连接问题、Android systrace是否需要root访问权限?、android – NDEV / Dragon Mobile SDK是否需要访问Internet?、android – 不共享的应用程序是否需要Content Provider?

本文目录一览:

从 Android 应用程序访问 Internet 需要什么权限?(安卓程序访问网络的方法)

从 Android 应用程序访问 Internet 需要什么权限?(安卓程序访问网络的方法)

运行我的应用程序时出现以下异常:

java.net.SocketException: Permission denied (maybe missing INTERNET permission)

如何解决缺少权限的问题?

答案1

小编典典

将INTERNET权限添加到清单文件。

你必须添加这一行:

<uses-permission android:name="android.permission.INTERNET" />

application在您的 AndroidManifest.xml 中的标签之外

Android Proguard – 导出应用程序后的Internet连接问题

Android Proguard – 导出应用程序后的Internet连接问题

我当前正在导出应用程序而proguard已启用,问题是应用程序正常工作但应用程序部署时没有proguard但是如果在启用proguard时导出和部署应用程序则会出现互联网未连接的错误.以下是proguard文件文本

-dontshrink
-dontoptimize
-dontwarn com.example.google.tv.**
-dontwarn android.support.**
-dontwarn org.ksoap.**
-dontwarn android.view.**
-dontwarn android.graphics.**
-dontwarn android.content.**
-dontwarn android.util.**
-keep public class * extends android.app.backup.BackupAgentHelper
-keep public class * extends android.preference.Preference
#-libraryjars libs/ksoap2-android-assembly-2.5.2-jar-with-dependencies.jar
#-libraryjars libs/android-support-v4.jar

如果我删除

-dontwarn android.view.**
-dontwarn android.graphics.**
-dontwarn android.content.**
-dontwarn android.util.**

那么这是我收到的日志

[2013-08-02 10:29:04 - Project] Proguard returned with error code 1. See console
[2013-08-02 10:29:04 - Project] Note: there were 4 duplicate class deFinitions.
[2013-08-02 10:29:04 - Project] Warning: library class android.content.res.XmlResourceParser extends or implements program class org.xmlpull.v1.XmlPullParser
[2013-08-02 10:29:04 - Project] Warning: library class android.content.Intent depends on program class org.xmlpull.v1.XmlPullParser
[2013-08-02 10:29:04 - Project] Warning: library class android.content.IntentFilter depends on program class org.xmlpull.v1.XmlSerializer
[2013-08-02 10:29:04 - Project] Warning: library class android.content.IntentFilter depends on program class org.xmlpull.v1.XmlPullParser
[2013-08-02 10:29:04 - Project] Warning: library class android.content.res.ColorStateList depends on program class org.xmlpull.v1.XmlPullParser
[2013-08-02 10:29:04 - Project] Warning: library class android.graphics.drawable.BitmapDrawable depends on program class org.xmlpull.v1.XmlPullParser
[2013-08-02 10:29:04 - Project] Warning: library class android.graphics.drawable.ColorDrawable depends on program class org.xmlpull.v1.XmlPullParser
[2013-08-02 10:29:04 - Project] Warning: library class android.graphics.drawable.Drawable depends on program class org.xmlpull.v1.XmlPullParser
[2013-08-02 10:29:04 - Project] Warning: library class android.graphics.drawable.Drawable depends on program class org.xmlpull.v1.XmlPullParser
[2013-08-02 10:29:04 - Project] Warning: library class android.graphics.drawable.Drawable depends on program class org.xmlpull.v1.XmlPullParser
[2013-08-02 10:29:04 - Project] Warning: library class android.graphics.drawable.LayerDrawable depends on program class org.xmlpull.v1.XmlPullParser
[2013-08-02 10:29:04 - Project] Warning: library class android.view.LayoutInflater depends on program class org.xmlpull.v1.XmlPullParser
[2013-08-02 10:29:04 - Project] Warning: library class android.view.LayoutInflater depends on program class org.xmlpull.v1.XmlPullParser
[2013-08-02 10:29:04 - Project]       You should check if you need to specify additional program jars.
[2013-08-02 10:29:04 - Project] Warning: there were 13 instances of library classes depending on program classes.
[2013-08-02 10:29:04 - Project]          You must avoid such dependencies,since the program classes will
[2013-08-02 10:29:04 - Project]          be processed,while the library classes will remain unchanged.
[2013-08-02 10:29:04 - Project] java.io.IOException: Please correct the above warnings first.
[2013-08-02 10:29:04 - Project]     at proguard.Initializer.execute(Initializer.java:321)
[2013-08-02 10:29:04 - Project]     at proguard.ProGuard.initialize(ProGuard.java:211)
[2013-08-02 10:29:04 - Project]     at proguard.ProGuard.execute(ProGuard.java:86)
[2013-08-02 10:29:04 - Project]     at proguard.ProGuard.main(ProGuard.java:492)

解决方法

您应该从库中删除包org.xmlpull.v1.它已经存在于Android运行时(无论如何都会优先).添加重复的包最多会增加应用程序的大小,并且最坏的情况下可能会导致版本控制问题.在这种情况下,ProGuard会检测到一些依赖性冲突.

请注意,这是“ProGuard”,而不是“Progaurd”.

Android systrace是否需要root访问权限?

Android systrace是否需要root访问权限?

我试图在非root设备上运行systrace.如果选择了任何跟踪事件,它总是会出现以下错误:

无法找到跟踪开始标记’TRACE:’:错误打开/ sys / kernel / debug / tracing / events / cpufreq_interactive / enable:没有这样的文件或目录

如果没有选择跟踪事件,它可以工作,但跟踪不是很好.

systrace是否需要root访问权限?

请注意,我在Windows-7上直接从Eclipse(DDMS)运行systrace.

解决方法

根据systrace.py –help,以下跟踪需要root访问权限:

> -d,– disk:跟踪磁盘I / O(需要root)
> -u,– bus-utilization:跟踪总线利用率(需要root)
> -w,– workqueue:跟踪内核工作队列(需要root)

其他选项未指定需要root访问权限.

这说,我可以使用一些跟踪(例如–cpu-freq),但我很遗憾对-cpu-load感兴趣,它给出了与你提到的完全相同的错误.

android – NDEV / Dragon Mobile SDK是否需要访问Internet?

android – NDEV / Dragon Mobile SDK是否需要访问Internet?

我正在寻找一种将有限词汇量语音识别集成到我的 Android应用程序中的方法(因为Google语音搜索依赖于用户并不总是可以访问的Internet访问).

我找到了一个Nuance page诱人的程序员来下载NDEV或“Dragon Mobile SDK”,但如果它需要像谷歌语音搜索一样上网,我为什么要对它感兴趣呢?

不幸的是,nuance的页面信息量不大,需要您在有机会花时间下载之前注册(并签署一份龙签协议……).玩这个套件只是为了发现它不是你想要的……

您是否碰巧知道NDEV的语音识别部分或“Dragon Mobile SDK”是否需要访问Internet?

您知道任何不需要互联网访问的现成的Android SDK(即一些有限词汇量的语音识别可以在Android设备上本地完成)吗?

解决方法

是的,NDEV确实需要访问Internet.他们的SDK只是一个API包装器,带有麦克风按钮的UI(以及正确捕获音频所需的代码).

如果您需要本地语音识别,请查看Sphinx,这是一个很棒的项目.

android – 不共享的应用程序是否需要Content Provider?

android – 不共享的应用程序是否需要Content Provider?

因为我注意到不推荐使用SimpleCursorAdapter类,我现在应该利用我真正喜欢的新Loader API,但是当我尝试这样做时,我发现CursorLoader只适用于ContentProvider.

现在我的问题是,我真的需要内容提供商吗?甚至官方指南也说:

You don’t need to develop your own provider if you don’t intend to share your data with other applications. However,you do need your own provider to provide custom search suggestions in your own application. You also need your own provider if you want to copy and paste complex data or files from your application to other applications.

而且我认为我不需要任何关于它的因此它会产生不必要的复杂性.
那么..我应该怎么做,破解我自己的CursorLoader只能使用我的数据库这样的(CursorLoader usage without ContentProvider),老实说,我真的不喜欢,或者我应该把它搞砸并顺从制作提供商?

谢谢!

解决方法

您可以编写一个Loader(或使用CommonsWare的 SQLiteCursorLoader)来直接查询sqliteDatabase.文档是正确的,因为如果您的应用程序只需要对本地数据的简单访问(而不是与不同的进程/应用程序共享该数据),您实际上并不需要ContentProvider.

也就是说,ContentProvider确实提供了一些好处.例如,您需要使用SearchManager实现SyncAdapter或搜索界面.我尝试将这些结合到我的应用程序中,所以我发现自己一直在实现ContentProviders. ContentResolver还提供了一种在进行更改时向底层数据源提供全局通知的简便方法.例如,CursorLoader将在其Cursor上注册ContentObserver,当您在给定的Uri上调用ContentResolver#notifyChange(Uri uri,ContentObserver observer)时,会导致Cursor接收通知.如果您要直接从sqliteDatabase加载数据,那么设置它需要更多的工作.

今天关于从 Android 应用程序访问 Internet 需要什么权限?安卓程序访问网络的方法的介绍到此结束,谢谢您的阅读,有关Android Proguard – 导出应用程序后的Internet连接问题、Android systrace是否需要root访问权限?、android – NDEV / Dragon Mobile SDK是否需要访问Internet?、android – 不共享的应用程序是否需要Content Provider?等更多相关知识的信息可以在本站进行查询。

本文标签: