小编Mr.*_*.Me的帖子

NetworkOnMainThreadException

我刚刚在官方文档中发现了NetworkOnMainThreadException

并想知道模拟器是否抛出这个.我一直在测试我的应用程序,据我所知,所有网络都是主线程(使用Roboguice RoboAsyncTask),但你永远不知道是否有人没有逃脱.

我也在使用StrictMode并且没有看到任何东西.

  1. 我的代码是干净的还是不会在模拟器上抛出?

  2. 我们应该如何为生产中的这种情况做好准备?

  3. 宽限期或其他什么?或者现在已经过去了;-) ??

networking android asynchronous android-asynctask networkonmainthread

27
推荐指数
2
解决办法
2万
查看次数

引起:android.os.NetworkOnMainThreadException

嗨所有的观众和读者,我正在使用链接.每当我在单独的包中运行此代码时,它工作正常,但每当我尝试在我的应用程序中嵌入此示例时,得到遗憾的应用程序已停止,只有当我单击选项卡时调用它的特定选项卡,并且Logcat说: -

Caused by: android.os.NetworkOnMainThreadException
10-30 15:07:35.341: E/AndroidRuntime(732):  at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1117),
Run Code Online (Sandbox Code Playgroud)

请告诉我我需要做什么使它对我有用,除了这个特定的选项卡整个应用程序工作正常.

  10-30 15:07:26.770: D/dalvikvm(732): GC_FOR_ALLOC freed 61K, 3% free 8035K/8259K, paused 39ms, total 46ms
    10-30 15:07:26.781: I/dalvikvm-heap(732): Grow heap (frag case) to 8.481MB for 614416-byte allocation
    10-30 15:07:26.850: D/dalvikvm(732): GC_CONCURRENT freed 1K, 4% free 8634K/8903K, paused 27ms+13ms, total 71ms
    10-30 15:07:26.881: D/dalvikvm(732): GC_FOR_ALLOC freed 0K, 4% free 8634K/8903K, paused 28ms, total 28ms
    10-30 15:07:26.900: I/dalvikvm-heap(732): Grow heap (frag case) to 9.798MB for 1382416-byte allocation
    10-30 15:07:26.970: D/dalvikvm(732): GC_CONCURRENT …
Run Code Online (Sandbox Code Playgroud)

android android-emulator android-parser networkonmainthread

22
推荐指数
1
解决办法
6万
查看次数

如何在Android上设置语音识别语言?

我一直在研究Android中的语音识别API,发现当语言设置改变时语音结果会有所不同,有没有办法以编程方式设置它?或者是否打算在语音设置屏幕上午餐?或者还有什么?注意:我试图使用这个额外的意图:

intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_PREFERENCE, "en-US");
Run Code Online (Sandbox Code Playgroud)

但它无效

android speech-recognition

19
推荐指数
5
解决办法
4万
查看次数

可可触摸框架资产在App Project中不可见

我从早上开始尝试创建一个可可触摸farmework,将我自己的小部件放在其中,并允许我正在使用的任何应用程序将来使用它.

我已设法构建项目并导出.framework文件,但所有资产现在都没有显示.我的所有图片都在资产目录中.

它们似乎是导出的,因为.framework文件里面有(assets.car)文件.

我正在使用它来访问它们

UIImage* icon = [UIImage imageNamed:@"iconName"];
Run Code Online (Sandbox Code Playgroud)

但它总是返回null,任何想法?

cocoa-touch ios xcode6

18
推荐指数
2
解决办法
6893
查看次数

在jellybean中出现NetworkOnMainThreadException错误

我一直试图在上周左右开始工作,但仍然不知道问题是什么.它适用于Android 2.1但不适用于4.1.我已经在服务中找到了这个字符串,检查我的应用程序中的更新.

latestVersion = Integer.parseInt(getHttpString(urlLatestVersion));
Run Code Online (Sandbox Code Playgroud)

它在checkForUpdate()中调用; 在onStart中调用(Intent intent,int startId);.

private String getHttpString(String urlString) throws IOException {
            InputStream in = null;
            int response = -1;

            URL url = new URL(urlString);
            URLConnection conn = url.openConnection();

            if (!(conn instanceof HttpURLConnection))
                    throw new IOException("Not an HTTP connection");

            try {
                    HttpURLConnection httpConn = (HttpURLConnection) conn;
                    httpConn.setAllowUserInteraction(false);
                    httpConn.setInstanceFollowRedirects(true);
                    httpConn.setRequestMethod("GET");
                    httpConn.connect();

                    response = httpConn.getResponseCode();
                    if (response == HttpURLConnection.HTTP_OK) {
                            in = httpConn.getInputStream();
                    }
            } catch (Exception ex) {
                    ex.printStackTrace();
                    //
                    //main error currently lies here
                    // TODO …
Run Code Online (Sandbox Code Playgroud)

android onstart httpurlconnection android-asynctask networkonmainthread

8
推荐指数
1
解决办法
7518
查看次数

快速修复NetworkOnMainThreadException

我需要执行第三方开源程序,它抛出NetworkOnMainThreadException.根据SDK参考,仅针对Honeycomb SDK或更高版本的应用程序进行此操作.针对早期SDK版本的应用程序可以在其主要事件循环线程上进行联网.

在第一阶段,我只想运行程序,而不更改源.所以,我改变了AndroidManifesr.xml中的行:

    android:targetSdkVersion="15"

至:

    android:targetSdkVersion="10"

但是,这没有用,程序仍然会抛出NetworkOnMainThreadException.我怎样才能使这个工作?我正在尝试在Android Emulation Google API上执行该程序(级别16).

android network-programming networkonmainthread

8
推荐指数
1
解决办法
2万
查看次数

每次构建项目时Xcode都会构建CocoaPods吗?

所以我有一个包含大量代码的项目,其中一些是在GitHub上托管的开源项目的一部分,我正在考虑删除该代码并使用CocoaPods为我导入和管理该代码.

我的问题是,这对项目建设时间有帮助吗?我每次构建项目时Xcode都会构建完整的工作区吗?

特别是当Xcode构建pod时?

xcode dependency-management cocoapods

8
推荐指数
1
解决办法
1916
查看次数

有没有任何奶油刀可以做数据绑定不能?

我们刚刚开始一个新项目

并且似乎butterknife和数据绑定都是减少样板代码的绝佳工具.

我们从butterkife开始并稍后添加数据绑定,其想法是在java中没有viewmodel类而是在xml中表达它们.

有没有理由保持奶油蛋糕?

data-binding android butterknife android-databinding

8
推荐指数
1
解决办法
3371
查看次数

为什么我用AsyncTask获取android.os.NetworkOnMainThreadException?

我在AsynkTask中编写了网络操作代码时得到了android.os.NetworkOnMainThreadException.抛出这个例外有什么其他原因吗?

这是我的代码:

public class Background_confirmation extends AsyncTask<Void, Integer, Void> {
        @Override
        protected void onPreExecute() {
            // TODO Auto-generated method stub
            progressDialog = ProgressDialog.show(Confirmation.this,
                    "Please wait...", "Retrieving data ...", true);
            try {
                HttpClient httpclient = new DefaultHttpClient();

                HttpPost httppost = new HttpPost(
                        "http://68.121.167.160/sip_chat_api/create_account.php?useralias="
                                + useralias + "&cntname=" + cntcode + "");
                HttpResponse response = httpclient.execute(httppost);
                HttpEntity entity = response.getEntity();
                    is = entity.getContent();


            } catch (Exception e) {
                e.printStackTrace();
            }
            if (backgroung_flag == 1) {

            } else {
                if (is != null) …
Run Code Online (Sandbox Code Playgroud)

android android-asynctask networkonmainthread

7
推荐指数
2
解决办法
1万
查看次数

Android上的服务启动android.os.NetworkOnMainThreadException

在Android上尝试我的全新服务之后我得到了这个:

我猜是与清单文件和权限相关的东西,服务在最后一个活动之后启动,更新服务器上的数据并检索新数据并在android上的sqlite上保存id:

这里还有清单文件:

 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="com.ggservice.democracy"
        android:versionCode="1"
        android:versionName="1.0" >

        <uses-sdk
            android:minSdkVersion="8"
            android:targetSdkVersion="17" />
        <uses-permission android:name="android.permission.INTERNET"/>

        <application
            android:allowBackup="true"
            android:icon="@drawable/ic_launcher"
            android:label="@string/app_name"
            android:theme="@style/AppTheme" >
            <activity
                android:name="com.ggservice.democracy.MainActivity"
                android:label="@string/app_name" >
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />

                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
            </activity>
            <activity android:label="@string/app_name" android:name="com.ggservice.democracy.sondaggioActivity"/>
            <activity android:label="@string/app_name" android:name="com.ggservice.democracy.domandeDiCategoria"/>
            <service android:name="com.ggservice.democracy.updateDemocracyService" />
        </application>

    </manifest>
Run Code Online (Sandbox Code Playgroud)

logcat:

01-02 15:33:30.960: W/dalvikvm(2570): threadid=1: thread exiting with uncaught exception (group=0x409c01f8)
01-02 15:33:31.160: E/AndroidRuntime(2570): FATAL EXCEPTION: main
01-02 15:33:31.160: E/AndroidRuntime(2570): java.lang.RuntimeException: Unable to start service com.ggservice.democracy.updateDemocracyService@412f0c60 with Intent { cmp=com.ggservice.democracy/.updateDemocracyService }: android.os.NetworkOnMainThreadException
01-02 15:33:31.160: E/AndroidRuntime(2570): …
Run Code Online (Sandbox Code Playgroud)

service android onstart logcat networkonmainthread

7
推荐指数
2
解决办法
2万
查看次数