한 활동에서 다른 활동으로 숫자 EditText
의 문자열을 보내려고합니다. 그러나 클릭하면 내 apk 충돌이 저장됩니다. 다음은 코드와 logcat입니다.문자열을 보낼 때 Android가 다운 됨
설정
public class settings extends Activity {
Button btnSave;
TextView text;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_settings);
btnSave = (Button)findViewById(R.id.save);
final EditText passkey = (EditText)findViewById(R.id.editText);
text=(TextView)findViewById(R.id.textView3);
btnSave.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
String pass = passkey.getText().toString();
Intent myIntent = new Intent(settings.this, unlock.class);
myIntent.putExtra("String", pass);
startActivity(myIntent);
}
});
}
}
잠금 해제
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_unlock);
String newString;
if (savedInstanceState == null) {
Bundle extras = getIntent().getExtras();
if(extras == null) {
newString= null;
} else {
newString= extras.getString("String");
}
} else {
newString= (String) savedInstanceState.getSerializable("String");
}
onResume() 메소드.
@Override
public void onResume() {
super.onResume();
Intent intent = getIntent();
address = intent.getStringExtra(DeviceList.EXTRA_ADDRESS);
BluetoothDevice device = btAdapter.getRemoteDevice(address);
try {
btSocket = createBluetoothSocket(device);
} catch (IOException e) {
Toast.makeText(getBaseContext(), "Socket creation failed", Toast.LENGTH_LONG).show();
}
try
{
btSocket.connect();
} catch (IOException e) {
try
{
btSocket.close();
} catch (IOException e2)
{
//
}
}
mConnectedThread = new ConnectedThread(btSocket);
mConnectedThread.start();
mConnectedThread.write("x");
}
장치 목록
public class DeviceList extends AppCompatActivity {
Button btnPaired;
ListView devicelist;
private BluetoothAdapter myBluetooth = null;
private Set<BluetoothDevice> pairedDevices;
public static String EXTRA_ADDRESS = "device_address";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_device_list);
btnPaired = (Button)findViewById(R.id.button);
devicelist = (ListView)findViewById(R.id.listView);
myBluetooth = BluetoothAdapter.getDefaultAdapter();
if(myBluetooth == null)
{
Toast.makeText(getApplicationContext(), "Bluetooth Device Not Available", Toast.LENGTH_LONG).show();
finish();
}
else
{
if (myBluetooth.isEnabled())
{ }
else
{
Intent turnBTon = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
startActivityForResult(turnBTon,1);
}
}
btnPaired.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v)
{
pairedDevicesList();
}
});
}
private void pairedDevicesList()
{
pairedDevices = myBluetooth.getBondedDevices();
ArrayList list = new ArrayList();
if (pairedDevices.size()>0)
{
for(BluetoothDevice bt : pairedDevices)
{
list.add(bt.getName() + "\n" + bt.getAddress());
}
}
else
{
Toast.makeText(getApplicationContext(), "No Paired Bluetooth Devices Found.", Toast.LENGTH_LONG).show();
}
final ArrayAdapter adapter = new ArrayAdapter(this,android.R.layout.simple_list_item_1, list);
devicelist.setAdapter(adapter);
devicelist.setOnItemClickListener(myListClickListener);
}
private AdapterView.OnItemClickListener myListClickListener = new AdapterView.OnItemClickListener()
{
public void onItemClick (AdapterView av, View v, int arg2, long arg3)
{
String info = ((TextView) v).getText().toString();
String address = info.substring(info.length() - 17);
Intent i = new Intent(DeviceList.this, unlock.class);
i.putExtra(EXTRA_ADDRESS, address);
startActivity(i);
}
};
}
'onResume()'을 (를) 보여주십시오. –
게시했습니다. 도움이 되었기를 바랍니다. –
onResume();에서 무엇을하고 있습니까? –