PDA

View Full Version : ترکیب دوتا برنامه



M0TR!X
شنبه 25 بهمن 1393, 17:11 عصر
سلام.

من دوتا برنامه جدا دارم که باید ترکیبشون کنم. منظورم از ترکیب اینکه از برنامه اولی یه پارامتر رو به برنامه دوم بفرستم.

برنامه اول:ثبت نام کاربر. که اسم و شماره تل میگیره

برنامه دوم:ارسال اس ام اس

من میخوام کلاسهای برنامه دوم رو دونه دونه تو برنامه اول بسازم و کدهاش رو کپی پیست کنم. فقط مشکلی که الان وجود داره اینکه چطوری میتونم شماره ای که میگیرم رو بفرستم به یه کلاس دیگ.البته یه سری کدهای برنامه دوم باید حذف بشه و یه تغییراتی داده بشه.


برنامه اول :



package com.kamalan;

import java.util.List;

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;

public class DatabaseActivity extends Activity {

private final String TAG = "DatabaseActivity";

private DatabaseHandler dbHandler;
private Contact contact;
private List<Contact> list;
private Button btnAdd;
private EditText etName;
private EditText etPhone;
private ListView listView;
private ListAdapter adapter;

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


Log.i(TAG, "Inside onCreate()");


dbHandler = new DatabaseHandler(this);
contact = new Contact();
adapter = new ListAdapter(this);


etName = (EditText)findViewById(R.id.etName);
etPhone = (EditText)findViewById(R.id.etPhone);


listView = (ListView) findViewById(R.id.listview);
listView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
Log.i(TAG, "item " + position + " clicked.");

TextView tv = (TextView) v.findViewById(R.id.tvId);
Log.i(TAG, ">> " + tv.getText());

/************************************************** *************
* One of these methods should be uncommented at the same time *
************************************************** *************/
dbHandler.deleteContact(Long.parseLong(tv.getText( ).toString()));
// dbHandler.updateContact(Long.parseLong(tv.getText( ).toString()));
refreshList();
}
});


btnAdd = (Button) findViewById(R.id.btnAddToDatabase);
btnAdd.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Log.i(TAG, "Button clicked.");

boolean validate1 = false;
boolean validate2 = false;

String name = etName.getText().toString();
if(name.equalsIgnoreCase(""))
Toast.makeText(DatabaseActivity.this, "Pease enter a name.", Toast.LENGTH_LONG).show();
else {
contact.setName(name);
validate1 = true;
}

String phone = etPhone.getText().toString();
if(phone.equalsIgnoreCase(""))
Toast.makeText(DatabaseActivity.this, "Pease enter phone number.", Toast.LENGTH_LONG).show();
else {
contact.setPhoneNumber(phone);
validate2 = true;
}

if(validate1 && validate2) {
etName.setText("");
etPhone.setText("");

dbHandler.insertContact(contact);
refreshList();
}
}
});
}

@Override
protected void onResume() {
super.onResume();

dbHandler.open();
// dbHandler.clearTable();
refreshList();
}

@Override
protected void onPause() {
super.onPause();

dbHandler.close();
}

protected void refreshList() {
list = dbHandler.getAllContacts();
adapter.setData(list);
listView.setAdapter(adapter);
}
}




برنامه دوم:




package com.javacodegeeks.android.sendsmstest;

import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.telephony.SmsManager;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class MainActivity extends Activity {

private EditText phoneNumber;
private EditText smsBody;
private Button smsManagerBtn;
private Button smsSendToBtn;
private Button smsViewBtn;

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

phoneNumber = (EditText) findViewById(R.id.phoneNumber);
smsBody = (EditText) findViewById(R.id.smsBody);
smsManagerBtn = (Button) findViewById(R.id.smsManager);
smsSendToBtn = (Button) findViewById(R.id.smsSIntent);
smsViewBtn = (Button) findViewById(R.id.smsVIntent);

smsManagerBtn.setOnClickListener(new OnClickListener() {
public void onClick(View view) {
sendSmsByManager();
}
});

smsSendToBtn.setOnClickListener(new OnClickListener() {
public void onClick(View view) {
sendSmsBySIntent();
}
});

smsViewBtn.setOnClickListener(new OnClickListener() {
public void onClick(View view) {
sendSmsByVIntent();
}
});

}

public void sendSmsByManager() {
try {
// Get the default instance of the SmsManager
SmsManager smsManager = SmsManager.getDefault();
smsManager.sendTextMessage(phoneNumber.getText().t oString(),
null,
smsBody.getText().toString(),
null,
null);
Toast.makeText(getApplicationContext(), "Your sms has successfully sent!",
Toast.LENGTH_LONG).show();
} catch (Exception ex) {
Toast.makeText(getApplicationContext(),"Your sms has failed...",
Toast.LENGTH_LONG).show();
ex.printStackTrace();
}
}

public void sendSmsBySIntent() {
// add the phone number in the data
Uri uri = Uri.parse("smsto:" + phoneNumber.getText().toString());

Intent smsSIntent = new Intent(Intent.ACTION_SENDTO, uri);
// add the message at the sms_body extra field
smsSIntent.putExtra("sms_body", smsBody.getText().toString());
try{
startActivity(smsSIntent);
} catch (Exception ex) {
Toast.makeText(MainActivity.this, "Your sms has failed...",
Toast.LENGTH_LONG).show();
ex.printStackTrace();
}
}

public void sendSmsByVIntent() {

Intent smsVIntent = new Intent(Intent.ACTION_VIEW);
// prompts only sms-mms clients
smsVIntent.setType("vnd.android-dir/mms-sms");

// extra fields for number and message respectively
smsVIntent.putExtra("address", phoneNumber.getText().toString());
smsVIntent.putExtra("sms_body", smsBody.getText().toString());
try{
startActivity(smsVIntent);
} catch (Exception ex) {
Toast.makeText(MainActivity.this, "Your sms has failed...",
Toast.LENGTH_LONG).show();
ex.printStackTrace();
}

}
}




ممنون

spiderman200700
شنبه 25 بهمن 1393, 23:46 عصر
به نظرم برای فرستادن یه سری اطلاعات از یه برنامه به برنامه ی دیگه باید از BroadcastReceiver استفاده کنی.
یه سرچی در موردش بکن نمونه کد و مطلب زیاده