0

我试图在我的源代码中找到返回数据的字符串或长值(所以我可以将它们发布到我的服务器)但是当我尝试使用以下方法对它们进行空值检查时:

Log.d(TAG, String.valueOf(WifiInfo.LINK_SPEED_UNITS));

数据永远不会出现在日志中。任何建议都非常感谢!

服务类来源:

public class Service_class extends Service {
    public static String TAG="TEST TAG";
  TextView textSsid, textSpeed, textRssi;

  public Handler mHandler = new Handler();
    public long mStartRX = 0;
  public long mStartTX = 0;
  public long txBytes;

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate();

  textSsid = (TextView) findViewById(R.id.Ssid);
  textSpeed = (TextView) findViewById(R.id.Speed);
  textRssi = (TextView) findViewById(R.id.Rssi);
  Long.toString(mStartTX);
  Long.toString(mStartRX);
  Long.toString(txBytes);

   mStartRX = TrafficStats.getTotalRxBytes();
     mStartTX = TrafficStats.getTotalTxBytes();
     if (mStartRX == TrafficStats.UNSUPPORTED || mStartTX == TrafficStats.UNSUPPORTED) {
      AlertDialog.Builder alert = new AlertDialog.Builder(this);
          alert.setTitle("Uh Oh!");
          alert.setMessage("Your device does not support traffic stat monitoring.");
          alert.show();
     } else {
      mHandler.postDelayed(mRunnable, 1000);
     }

  }

 private TextView findViewById(int speed) {
      //   TODO Auto-generated method stub
      return null;
  }

private final Runnable mRunnable = new Runnable() {
     public void run() {
      TextView RX = (TextView)findViewById(R.id.RX);
      TextView TX = (TextView)findViewById(R.id.TX);
      long rxBytes = TrafficStats.getTotalRxBytes()- mStartRX;
      RX.setText(Long.toString(rxBytes));
      long txBytes = TrafficStats.getTotalTxBytes()- mStartTX;
      TX.setText(Long.toString(txBytes));
      mHandler.postDelayed(mRunnable, 1000);
      ParseObject testObject = new ParseObject("TestObject");
      testObject.put("DataOut", Long.valueOf(txBytes));
      testObject.put("DataIn", Long.valueOf(mStartRX));
      testObject.put("DataRSSI", String.valueOf(textRssi));
      testObject.put("DataSpeed", String.valueOf(textSpeed));
      testObject.saveInBackground();


      final Chronometer myChronometer = (Chronometer)findViewById(R.id.chronometer);
      myChronometer.start();



      DisplayWifiState();
      this.registerReceiver(this.myWifiReceiver, new IntentFilter(
              ConnectivityManager.CONNECTIVITY_ACTION));

  }

  private Chronometer findViewById(int chronometer) {
      //   TODO Auto-generated method stub
      return null;
  }

  private void registerReceiver(BroadcastReceiver myWifiReceiver2,
              IntentFilter intentFilter) {
         //    TODO Auto-generated method stub

      }

      private BroadcastReceiver myWifiReceiver = new BroadcastReceiver() {

      @Override
      public void onReceive(Context arg0, Intent arg1) {
         //    TODO Auto-generated method stub
          NetworkInfo networkInfo = (NetworkInfo) arg1
                  .getParcelableExtra(ConnectivityManager.EXTRA_NETWORK_INFO);
          if (networkInfo.getType() == ConnectivityManager.TYPE_WIFI) {
              DisplayWifiState();
          }
      }
  };

  public void DisplayWifiState() {

      ConnectivityManager myConnManager = (ConnectivityManager) getSystemService(CONNECTIVITY_SERVICE);
      NetworkInfo myNetworkInfo = myConnManager
              .getNetworkInfo(ConnectivityManager.TYPE_WIFI);
      WifiManager myWifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);
      WifiInfo myWifiInfo = myWifiManager.getConnectionInfo();

      if (myNetworkInfo.isConnected()) {

          textSsid.setText(myWifiInfo.getSSID());

          textSpeed.setText(String.valueOf(myWifiInfo.getLinkSpeed()) + " "
                  + WifiInfo.LINK_SPEED_UNITS);
          Log.d(TAG, String.valueOf(WifiInfo.LINK_SPEED_UNITS));
          textRssi.setText(String.valueOf(myWifiInfo.getRssi()));


      } else {
          textSsid.setText("---");

          textSpeed.setText("---");
          textRssi.setText("---");
         }}};

    @Override
    public IBinder onBind(Intent arg0) {
        return null;
    }

    @Override
    public int onStartCommand(Intent intent, int flags, int startId) {
        Toast.makeText(this, "Hello World", Toast.LENGTH_LONG).show();
     //   Log.d(TAG, "starting service");

        ParseObject testObject = new ParseObject("TestObject");

        testObject.put("DataOut", Long.valueOf(txBytes));
      testObject.put("DataIn", Long.valueOf(mStartRX));
      testObject.put("DataRSSI", String.valueOf(textRssi));
      testObject.put("DataSpeed", String.valueOf(textSpeed));
      testObject.saveInBackground();

        return START_STICKY;
    }

    @Override
    public void onDestroy() {

        super.onDestroy();
        Toast.makeText(this, "Service Stopped", Toast.LENGTH_LONG).show();

    }

    @Override
    public void onCreate() {
        super.onCreate();
    }

}

主程序.Java

public class Main extends Activity {    

TextView textSsid, textSpeed, textRssi;

public Handler mHandler = new Handler();
public long mStartRX = 0;
public long mStartTX = 0;
public long txBytes;
public static String TAG="TEST TAG";


@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    // Start service using AlarmManager

    Calendar cal = Calendar.getInstance();
    cal.add(Calendar.SECOND, 10);
    Intent intent = new Intent(Main.this, Service_class.class);
    PendingIntent pintent = PendingIntent.getService(Main.this, 0, intent,
            0);
    AlarmManager alarm = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
    alarm.setRepeating(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(),
            12 * 1000, pintent);

    // click listener for the button to start service
    Button btnStart = (Button) findViewById(R.id.button1);
    btnStart.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            startService(new Intent(getBaseContext(), Service_class.class));

        }
    });

    // click listener for the button to stop service
    Button btnStop = (Button) findViewById(R.id.button2);
    btnStop.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            stopService(new Intent(getBaseContext(), Service_class.class));
        }
    });


        textSsid = (TextView) findViewById(R.id.Ssid);
        textSpeed = (TextView) findViewById(R.id.Speed);
        textRssi = (TextView) findViewById(R.id.Rssi);
        Long.toString(mStartTX);
        Long.toString(mStartRX);
        Long.toString(txBytes);

        ParseAnalytics.trackAppOpened(getIntent());




         mStartRX = TrafficStats.getTotalRxBytes();
            mStartTX = TrafficStats.getTotalTxBytes();
            if (mStartRX == TrafficStats.UNSUPPORTED || mStartTX == TrafficStats.UNSUPPORTED) {
                AlertDialog.Builder alert = new AlertDialog.Builder(this);
                alert.setTitle("Uh Oh!");
                alert.setMessage("Your device does not support traffic stat monitoring.");
                alert.show();
            } else {
                mHandler.postDelayed(mRunnable, 1000);
            }}



        private final Runnable mRunnable = new Runnable() {
            public void run() {

                TextView RX = (TextView)findViewById(R.id.RX);
                TextView TX = (TextView)findViewById(R.id.TX);
                long rxBytes = TrafficStats.getTotalRxBytes()- mStartRX;
                RX.setText(Long.toString(rxBytes));
                long txBytes = TrafficStats.getTotalTxBytes()- mStartTX;
                TX.setText(Long.toString(txBytes));
                mHandler.postDelayed(mRunnable, 1000);


                final Chronometer myChronometer = (Chronometer)findViewById(R.id.chronometer);
                myChronometer.start();



                DisplayWifiState();
                this.registerReceiver(this.myWifiReceiver, new IntentFilter(
                        ConnectivityManager.CONNECTIVITY_ACTION));

            }

            private void registerReceiver(BroadcastReceiver myWifiReceiver2,
                    IntentFilter intentFilter) {
                // TODO Auto-generated method stub

            }

            private BroadcastReceiver myWifiReceiver = new BroadcastReceiver() {

                @Override
                public void onReceive(Context arg0, Intent arg1) {
                    // TODO Auto-generated method stub
                    NetworkInfo networkInfo = (NetworkInfo) arg1
                            .getParcelableExtra(ConnectivityManager.EXTRA_NETWORK_INFO);
                    if (networkInfo.getType() == ConnectivityManager.TYPE_WIFI) {
                        DisplayWifiState();
                    }
                }
            };

            public void DisplayWifiState() {

                ConnectivityManager myConnManager = (ConnectivityManager) getSystemService(CONNECTIVITY_SERVICE);
                NetworkInfo myNetworkInfo = myConnManager
                        .getNetworkInfo(ConnectivityManager.TYPE_WIFI);
                WifiManager myWifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);
                WifiInfo myWifiInfo = myWifiManager.getConnectionInfo();

                if (myNetworkInfo.isConnected()) {

                    textSsid.setText(myWifiInfo.getSSID());

                    textSpeed.setText(String.valueOf(myWifiInfo.getLinkSpeed()) + " "
                            + WifiInfo.LINK_SPEED_UNITS);
                    textRssi.setText(String.valueOf(myWifiInfo.getRssi()));

                } else {
                    textSsid.setText("---");

                    textSpeed.setText("---");
                    textRssi.setText("---");




                }
    };
};}
4

1 回答 1

0

你可以添加一个字符串(任何虚拟)值,以便它们出现,我想

Log.d(TAG,"Null: "+String.valueOf(WifiInfo.LINK_SPEED_UNITS));
于 2013-04-15T06:24:41.443 回答