Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/209.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android应用程序未从servlet接收数据_Java_Android_Servlets - Fatal编程技术网

Java Android应用程序未从servlet接收数据

Java Android应用程序未从servlet接收数据,java,android,servlets,Java,Android,Servlets,这个项目在一个数据库中保存了一个433号,该数据库通过servlet访问,然后应该发送到Android应用程序。在我添加AsyncTask之前,应用程序有时会从servlet中检索数据,数据应该是433,有时不是。单击主页按钮后,将出现mainActivity屏幕并显示数据。我添加了AsyncTask,希望它能始终如一地工作,但现在我得到的只是文本Light Data=但没有数据应该说Light Data=433。servlet与数据库的连接很好,因此我知道问题在于应用程序。我非常感谢与我的项目

这个项目在一个数据库中保存了一个433号,该数据库通过servlet访问,然后应该发送到Android应用程序。在我添加AsyncTask之前,应用程序有时会从servlet中检索数据,数据应该是433,有时不是。单击主页按钮后,将出现mainActivity屏幕并显示数据。我添加了AsyncTask,希望它能始终如一地工作,但现在我得到的只是文本Light Data=但没有数据应该说Light Data=433。servlet与数据库的连接很好,因此我知道问题在于应用程序。我非常感谢与我的项目相关的代码,谢谢

主页:

package com.example.clearlight;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;


public class HomePage extends Activity {

    private Button ScheduleBtn;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.homepage);

         ScheduleBtn = (Button) findViewById(R.id.home_btn);

        ScheduleBtn.setOnClickListener(new View.OnClickListener() {

            public void onClick(View v) {
                // TODO Auto-generated method stub


                Intent myIntent = new Intent(HomePage.this, MainActivity.class);
                HomePage.this.startActivity(myIntent);

            }
        });
    }   

}
主要活动:

package com.example.clearlight;

import android.os.AsyncTask;
import android.os.Bundle;
import android.app.Activity;
import android.widget.TextView;
import android.widget.Toast;

import java.net.URL;

import org.apache.http.client.ResponseHandler;

import org.apache.http.client.methods.HttpGet;

import org.apache.http.impl.client.BasicResponseHandler;
import org.apache.http.impl.client.DefaultHttpClient;

import android.os.StrictMode;
import android.util.Log;

public class MainActivity extends Activity {

    TextView txt;

    @Override
      public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        
        StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
        StrictMode.setThreadPolicy(policy);
        
        
        setContentView(R.layout.relative);
               
        
        class LongOperation extends AsyncTask<String, Void, String> {
             
            @Override
            protected String doInBackground(String... params) {
            // TODO Auto-generated method stub
           
            String result=null;
            URL url = null;
 
            DefaultHttpClient httpclient = null;
 
            try {
 
            String registrationUrl = "http://10.0.2.2/SensorInfo/GetLightData?sensor=light";
            url = new URL(registrationUrl);
 
            HttpGet getRequest = new HttpGet(registrationUrl);
            ResponseHandler<String> handler = new BasicResponseHandler();
            httpclient = new DefaultHttpClient();
            // request data from server
            result = httpclient.execute(getRequest, handler);
            Log.d("MyApp", "Data from server is "+ result);
             }
            catch (Exception ex) {Log.e("error",ex.toString());
            ex.printStackTrace();
              }
            return result;
            }
 
            @Override
            protected void onPostExecute(String result)
            {              
              TextView text1 = (TextView)MainActivity.this.findViewById(R.id.text);
 
            //Sets the new text to TextView (runtime click event)//*******
            text1.setText("Light Data= " + result);
 
            Toast.makeText(MainActivity.this, "Light Data:" + result, Toast.LENGTH_SHORT).show(); //MESSAGE BOX
              
            }
 
        }
 
 }
}
舱单:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.clearlight"
    android:versionCode="1"
    android:versionName="1.0" >

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

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.example.clearlight.MainActivity"
            android:label="@string/app_name" >
            
        </activity>
         <activity
            android:name="com.example.clearlight.HomePage"
            android:label="@string/homepage" 
            android:parentActivityName="com.example.clearlight.MainActivity" >

            <!-- Moved the intent filter to HomePage -->
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>

            <meta-data
                android:name="android.support.PARENT_ACTIVITY"
                android:value="com.example.clearlight.MainActivity" />
        </activity>
    </application>

</manifest>
日志:

03-20 01:08:20.433:D/Launcher.Model418:在配置更改时重新加载应用程序。curr_mcc:310 prevmcc:0 03-20 01:08:20.473:E/StrictMode401:已在附加堆栈跟踪中获取资源,但从未释放。有关避免资源泄漏的信息,请参阅java.io.Closeable。03-20 01:08:20.473:E/StrictMode401:java.lang.Throwable:显式终止方法“close”未调用03-20 01:08:20.473:E/StrictMode401:at dalvik.system.CloseGuard.openCloseGuard.java:184 03-20 01:08:20.473:E/StrictMode401:at android.database.CursorWindow.CursorWindow.java:137 03-20 01:08:20.473:E/StrictMode401:atandroid.database.CursorWindow.CursorWindow.java:41 03-20 01:08:20.473:E/StrictMode401:at android.database.CursorWindow$1.createFromParcelCursorWindow.java:681 03-20 01:08:20.473:E/StrictMode401:at android.database.CursorWindow$1.createFromParcelCursorWindow.java:679 03-20 01:08:20.473:E/StrictMode401:atandroid.database.BulkCursorDescriptor.readFromParcelBulkCursorDescriptor.java:75 03-20 01:08:20.473:E/StrictMode401:at android.database.BulkCursorDescriptor$1.createFromParcelBulkCursorDescriptor.java:34 03-20 01:08:20.473:E/StrictMode401:at android.database.BulkCursorDescriptor$1.createFromParcelBulkCursorDescriptor.java:30-2001:08:20.473:E/StrictMode401:at android.content.ContentProviderProxy.queryContentProviderNative.java:369 03-20 01:08:20.473:E/StrictMode401:at android.content.ContentResolver.queryContentResolver.java:370 03-20 01:08:20.473:E/StrictMode401:at android.content.CursorLoader.loadInBackgroundCursorLoader.java:65 03-20 01:08:20.473:E/StrictMode401:at android.content.CursorLoader.loadInBackgroundCursorLoader.java:43 03-20 01:08:20.473:E/StrictMode401:at android.content.AsyncTaskLoader.onLoadInBackgroundAsyncTaskLoader.java:301 03-20 01:08:20.473:E/StrictMode401:at android.content.AsyncTaskLoader$LoadTask.doInBackgroundAsyncTaskLoader.java:68 03-20 01:08:20.473:E/StrictMode401:at android.content.AsyncTaskLoader$LoadTask.doInBackgroundAsyncTaskLoader.java:56 03-20 01:08:20.473:E/StrictMode401:at android.os.AsyncTask$2.callAsyncTask.java:287 03-20 01:08:20.473:E/StrictMode401:at java.util.concurrent.FutureTask$Sync.innerRunFutureTask.java:305 03-20 01:08:20.473:E/StrictMode401:atjava:137 03-20 01:08:20.473:E/StrictMode401:at java.util.concurrent.ThreadPoolExecutor.runWorkerThreadPoolExecutor.java:1076 03-20 01:08:20.473:E/StrictMode401:at java.util.concurrent.ThreadPoolExecutor$Worker.runThreadPoolExecutor.java:569 03-20 01:08:20.473:E/StrictMode401:atjava.lang.Thread.runThread.java:856 03-20 01:08:20.484:D/Launcher.Model418:将保存info=shortcutionfotitle=settingsinent=Intent{act=android.Intent.action.MAIN cat=[android.Intent.category.Launcher]flg=0x10200000cmp=com.android.settings/.settings}的图标位图id=6 type=0 container=-100 screen=3 cellX=2 cellY=3 spanX=1 spanY=1 Is手势=false dropPos=null 03-20 01:08:20.534:E/StrictMode401:在附加的堆栈跟踪中获取了资源,但从未释放。有关避免资源泄漏的信息,请参阅java.io.Closeable。03-20 01:08:20.534:E/StrictMode401:java.lang.Throwable:显式终止方法“close”未调用03-20 01:08:20.534:E/StrictMode401:at dalvik.system.CloseGuard.openCloseGuard.java:184 03-20 01:08:20.534:E/StrictMode401:at android.content.ContentResolver$CursorWrapperInner.ContentResolver.java:1835 03-20 01:08:20.534:E/StrictMode401:at android.content.ContentResolver.queryContentResolver.java:392 03-20 01:08:20.534:E/StrictMode401:at android.content.CursorLoader.loadInBackgroundCursorLoader.java:65 03-20 01:08:20.534:E/StrictMode401:at android.content.CursorLoadInBackgroundCursorLoader.java:43 03-20 01:08:20.534:E/StrictMode401:atandroid.content.AsyncTaskLoader.onLoadInBackgroundAsyncTaskLoader.java:301 03-20 01:08:20.534:E/StrictMode401:at android.content.AsyncTaskLoader$LoadTask.doInBackgroundAsyncTaskLoader.java:68 03-20 01:08:20.534:E/StrictMode401:at android.content.AsyncTaskLoader$LoadTask.doInBackgroundAsyncTaskLoader.java:56 03-20 01:08:20.534:E/StrictMode401:at android.os.AsyncTask$2.callAsyncTask.java:287 03- 20 01:08:20.534:E/StrictMode401:at java.util.concurrent.FutureTask$Sync.innerRunFutureTask.java:305 03-20 01:08:20.534:E/StrictMode401:at java.util.concurrent.FutureTask.runFutureTask.java:137 03-20 01:08:20.534:E/StrictMode401:at java.util.concurrent.ThreadPoolExecutor.runWorkerThreadPoolExecutor.java:1076 03-20 01:08:20.534:E/StrictMode401:at java.util.concurrent.ThreadPoolExecutor$Worker.runThreadPoolExecutor.java:569 03-20 01:08:20.534:E/StrictMode401:at java.lang.Thread.runThread.java:856 03-20 01:08:20.534:W/CursorWrapperInner401:Cursor未经事先关闭即完成03-2001:08:20.614:D/AlertService401:No fired或scheduled alerts 03-20 01:08:20.704:D/dalvikvm418:GC_并发释放328K,5%释放10193K/10631K,暂停17ms+7ms,总计95ms 03-20 01:08:20.723:D/Launcher.Model418:将保存info=ShortcutInfotitle=messaginintent=Intent{-act=android.Intent.action.MAIN cat的图标位图=[android.intent.category.LAUNCHER]flg=0x10200000 cmp=com.android.mms/.ui.ConversationList}id=12 type=0 container=-101 screen=3 cellX=3 cellY=0 spanX=1 spanY=1 issignature=false dropPos=null 03-20 01:08:20.833:D/LAUNCHER.Model418:为info=shortcutionfotitle=Peopleintent=intent{.act=android.intent.action.MAIN cat保存图标位图=[android.intent.category.LAUNCHER]flg=0x10200000cmp=com.android.contacts/.activities.PeopleActivity}id=10 type=0 container=-101 screen=1 cellX=1 cellY=0 spanX=1 spanY=1 ispires=false dropPos=null 03-20 01:08:20.893:D/dalvikvm163:WAIT_FOR_CONCURRENT_GC blocked 0ms 03-20 01:08:21.083:D/dalvikvm163:GC_显式释放222K,47%空闲10043K/18887K,暂停25ms+10ms,总计187ms 03-20 01:08:21.113:D/Launcher.418:要保存位图图标或info=shortcutionfotitle=Phoneintent=Intent{act=android.Intent.action.MAIN cat=[android.Intent.category.LAUNCHER]flg=0x10200000 cmp=com.android.contacts/.activities.DialtactsActivity}id=8 type=0 container=-101 screen=0 cellX=0 cellY=0 spanX=1 spanY=1 issignature=false dropPos=null 03-20 01:08:21.203:D/Launcher.Model418:将为info=shortcutionfotitle=Browserintent=Intent{act=android.Intent.action.MAIN cat=[android.Intent.category.Launcher]flg=0x10200000cmp=com.android.browser/.browserivity}保存图标位图id=14 type=0 container=-101 screen=4 cellX=4 cellY=0 spanX=1 spanY=1 issignature=false dropPos=null 03-20 01:08:21.293:D/Launcher.Model418:为info=shortcutionfotitle=Cameraintent=Intent{act=android.Intent.action.MAIN cat=[android.Intent.category.Launcher]flg=0x10200000cmp=com.android.camera/.camera}保存图标位图id=4 type=0 container=-100 screen=2 cellX=0 cellY=3 spanX=1 spanY=1 Is手势=false dropPos=null 03-20 01:08:21.713:I/PackageManager 163:Running dexopt on:com.example.clearlight 03-20 01:08:22.373:D/EmailProviderBody数据库03-20 01:08:22.623:D/dalvikvm375:GC_并发释放359K,6%自由8370K/8839K,暂停17ms+45ms,总计174ms 03-20 01:08:22.943:D/EmailProvider570:创建EmailProvider数据库03-20 01:08:23.623:D/dalvikvm637:DexOpt:load 310ms,verify+opt 1126ms,788740字节03-20 01:08:23.833:D/EmailProvider570:来自数据库帐户:0 03-20 01:08:23.844:D/EmailProvider570:结束数据库事务;copyCount=0 03-20 01:08:23.873:D/EmailProvider570:从数据库事务结束;copyCount=0 03-20 01:08:24.653:I/Email570:一次性初始化:完成。03-20 01:08:24.964:D/dalvikvm163:GC_并发释放452K,47%免费10034K/18887K,暂停33ms+15ms,总计129ms 03-20 01:08:24.964:D/PackageManager163:新软件包安装在/data/app/com.example.clearlight-1中。apk 03-20 01:08:25.804:I/ActivityManager 163:Force stopping package com.example.clearlight uid=10037 03-20 01:08:25.954:W/ResourceType418:尝试检索无效或在循环中的行李0x7f0d0017。03-20 01:08:25.954:W/ResourceType418:尝试检索无效或在循环中的行李0x7f0d0017。03-20 01:08:25.954:W/ResourceType418:尝试检索无效或处于循环中的行李0x7f0d0017。03-20 01:08:25.954:W/ResourceType418:尝试检索无效或处于循环中的行李0x7f0d0017。03-20 01:08:25.954:W/ResourceType418:尝试检索无效或处于循环中的行李0x7f0d0017。03-20 01:08:26.294:D/AlertService401:0操作=安卓。意图。aAction.PROVIDER_CHANGED 03-20 01:08:26.294:D/AlertService401:Start updateAlertNotification 03-20 01:08:26.424:D/dalvikvm163:WAIT_FOR_CONCURRENT__GC blocked 0ms 03-20 01:08:26.554:I/AccountTypeManager501:为78mswall 5mscpu中的1个帐户类型0个帐户加载元数据03-20 01:08:26.604:I/Choreographer 418:跳过1623帧!应用程序初始化可能在其主线程上做了太多工作。03-20 01:08:26.735:D/PackageManager 163:GenerateServicesPandroid.accounts.AccountAuthenticator:2个服务未更改03-20 01:08:26.754:I/InputReader163:重新配置输入开发
冰。changes=0x00000010 03-20 01:08:26.764:D/PackageManager163:generateseservicespandroid.content.SyncAdapter:4服务未更改03-20 01:08:26.764:D/BackupManagerService163:Received broadcast Intent{act=android.Intent.action.PACKAGE_添加了dat=PACKAGE:com.example.clearlight flg=0x8000010具有额外功能}03-20 01:08:26.984:D/gralloc_goldfish418:未检测到GPU仿真的仿真器。03-20 01:08:26.994:V/BackupManagerService 163:AddPackageParticipants锁定:1 03-20 01:08:27.124:W/InputMethodManagerService 163:在系统中找不到子类型输入法:com.android.inputmethod.pinyin 03-20 01:08:27.205:D/dalvikvm418:GC_FOR_分配释放414K,5%释放10364K/10887K,暂停55ms,总计104ms 03-20 01:08:27.224:I/dalvikvm-heap418:将1463056字节分配的堆碎片大小增加到11.564MB 03-20 01:08:27.334:D/dalvikvm418:GC_for_ALLOC freed 30K,5%free 11763K/12359K,暂停104ms,总计104ms 03-20 01:08:27.434:D/dalvikvm418:GC_CONCURRENT freed>AndroidRuntime START com.android.internal.os.RuntimeInit从Log.dMyApp记录的内容,来自服务器的数据是+结果;如果是异步执行此操作,则可能是在接收数据之前打印结果。@Nick-如果使用Eclipse,则特定于Android的视图之一是logcat输出。如果您的进程崩溃,您记录的所有内容都应该与堆栈跟踪一起放在那里。您的LongOperation类是否在OnCreate中声明?奇怪的在哪里实例化和调用它?为什么是StrinctMode?请不要尝试。我已经粘贴了logcat@antlersoft,还有我在没有严格模式的情况下尝试的绿色应用程序,但没有任何区别