1

我正在尝试利用 sharedpreference 在处理程序中提取首选项。我在 onCreate() 期间调用 sharedpreference 但尝试在处理程序案例中使用首选项。

首选项是:1 个布尔值 1 个浮点数

它们都用于检查处理程序中的 if 语句。代码基于蓝牙聊天示例。

package com.application.feveralert;

import android.app.Activity;
import android.bluetooth.BluetoothAdapter;
import android.bluetooth.BluetoothDevice;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.preference.Preference;
import android.preference.PreferenceManager;
import android.util.Log;
import android.view.Men>u;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.Window;
import android.widget.ArrayAdapter;
import android.widget.TextView;
import android.widget.Toast;
import android.content.SharedPreferences;
/*** This is the main Activity that displays the current chat session.*/
public class BluetoothChat extends Activity {

// Debuggng
private static final String TAG = "BluetoothChat";
private static final boolean D = true;

// Message types sent from the BluetoothChatService Handler
public static final int MESSAGE_STATE_CHANGE = 1;
public static final int MESSAGE_READ = 2;
public static final int MESSAGE_WRITE = 3;
public static final int MESSAGE_DEVICE_NAME = 4;
public static final int MESSAGE_TOAST = 5;

// Key names received from the BluetoothChatService Handler
public static final String DEVICE_NAME = "device_name";
public static final String TOAST = "toast";

// Intent request codes
private static final int REQUEST_CONNECT_DEVICE_INSECURE = 2;
private static final int REQUEST_ENABLE_BT = 3;

// Layout Views
private TextView mTitle;
// Name of the connected device
private String mConnectedDeviceName = null;
// Array adapter for the conversation thread
private ArrayAdapter<String> mConversationArrayAdapter;
// Local Bluetooth adapter
private BluetoothAdapter mBluetoothAdapter = null;
// Member object for the chat services
private BluetoothChatService mChatService = null;

TextView textOut;
//protected boolean prefalert;
//protected Float preftemp;
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    if(D) Log.e(TAG, "+++ ON CREATE +++");        
    // Settings
    PreferenceManager.setDefaultValues(this, R.xml.preference, false);
    addPreferencesFromResource(R.xml.preference);
    SharedPreferences sharedPref = PreferenceManager.getDefaultSharedPreferences(this);
    Float preftemp = getFloat("preftemp",83.0);
    Boolean prefalert = getBoolean("prefAlert",true);

    // Set up the window layout
    requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
    setContentView(R.layout.main);
    getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.custom_title);

    // Set up the custom title
    mTitle = (TextView) findViewById(R.id.title_left_text);
    mTitle.setText(R.string.app_name);
    mTitle = (TextView) findViewById(R.id.title_right_text);

    textOut = (TextView) findViewById(R.id.TempDisplay);

    // Get local Bluetooth adapter
    mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();

    // If the adapter is null, then Bluetooth is not supported
    if (mBluetoothAdapter == null) {
        Toast.makeText(this, "Bluetooth is Not Available", Toast.LENGTH_LONG).show();
        finish();
        return;
    }

    // Initialize Sound
    SoundManager.getInstance();
    SoundManager.initSounds(this);
    SoundManager.loadSounds();
}

private float getFloat(String string, double e) {
    return 0;
    // TODO Auto-generated method stub

}

private boolean getBoolean(String string, boolean b) {
    return b;
    // TODO Auto-generated method stub

}

private void addPreferencesFromResource(int preference) {
    // TODO Auto-generated method stub

}

// The Handler that gets information back from the BluetoothChatService
private final Handler mHandler = new Handler() {
   @Override
    public void handleMessage(Message msg) {
        switch (msg.what) {
        case MESSAGE_STATE_CHANGE:
            if(D) Log.i(TAG, "MESSAGE_STATE_CHANGE: " + msg.arg1);
            switch (msg.arg1) {
            case BluetoothChatService.STATE_CONNECTED:
                mTitle.setText(R.string.title_connected_to);
                mTitle.append(mConnectedDeviceName);
                mConversationArrayAdapter.clear();
                break;
            case BluetoothChatService.STATE_CONNECTING:
                mTitle.setText(R.string.title_connecting);
                break;
            case BluetoothChatService.STATE_LISTEN:
            case BluetoothChatService.STATE_NONE:
                mTitle.setText(R.string.title_not_connected);
                break;
            }
           break;
        case MESSAGE_READ:
            byte[] readBuf = (byte[]) msg.obj;
            // construct a string from the valid bytes in the buffer
            String readMessage = new String(readBuf, 0, msg.arg1);
            //mConversationArrayAdapter.add(readMessage + " F");
            textOut.setText(readMessage + " F");

            Float out = new Float(readMessage);

         // Check for Fever               
            if (prefalert = true){
            if (out >= 80.3){
                SoundManager.playSound(1, 1);
                Toast.makeText(getApplicationContext() ,"Fever Alert",   Toast.LENGTH_LONG).show();

            }
            }
            break;

谢谢你。

4

0 回答 0