في هذه المثال ، سأضع لك الاكواد اللازمة لإنشاء تطبيق يمكنك من بعت رسالة نصية نحو جهاز آخر. هذه الرسالة يصل عدد أحرفها إلى 160 حرفًا. وفي حالة كانت الرسالة طويلة سيتم تقسيمها إلى أجزاء متعددة تلقائيًا. مع العلم أنها تدعم معظم الهواتف المحمولة.
بعد إنشاء مشروع جديد كما العادة، سننتقل لما يلي:
- ضع الكود الآتي داخل ملف (activity_main.xml)
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@android:color/white" android:orientation="vertical" > <EditText android:id="@+id/editText1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:layout_alignParentTop="true" android:layout_marginRight="20dp" android:ems="10" /> <EditText android:id="@+id/editText2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/editText1" android:layout_below="@+id/editText1" android:layout_marginTop="26dp" android:ems="10" android:inputType="textMultiLine" /> <TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBaseline="@+id/editText1" android:layout_alignBottom="@+id/editText1" android:layout_toLeftOf="@+id/editText1" android:text="Mobile No:" /> <TextView android:id="@+id/textView2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBaseline="@+id/editText2" android:layout_alignBottom="@+id/editText2" android:layout_alignLeft="@+id/textView1" android:text="Message:" /> <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/editText2" android:layout_below="@+id/editText2" android:layout_marginLeft="34dp" android:layout_marginTop="48dp" android:text="Send SMS" /> </RelativeLayout>
- ضع الكود الآتي داخل ملف (Main Activity.java)
package your.sms; import android.os.Bundle; import android.app.Activity; import android.app.PendingIntent; import android.content.Intent; import android.telephony.SmsManager; import android.view.Menu; 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 { EditText mobileno,message; Button sendsms; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mobileno=(EditText)findViewById(R.id.editText1); message=(EditText)findViewById(R.id.editText2); sendsms=(Button)findViewById(R.id.button1); sendsms.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { String no=mobileno.getText().toString(); String msg=message.getText().toString(); Intent intent=new Intent(getApplicationContext(),MainActivity.class); PendingIntent pi=PendingIntent.getActivity(getApplicationContext(), 0, intent,0); SmsManager sms=SmsManager.getDefault(); sms.sendTextMessage(no, null, msg, pi,null); Toast.makeText(getApplicationContext(), "Message Sent successfully!", Toast.LENGTH_LONG).show(); } }); } @Override public boolean onCreateOptionsMenu(Menu menu) getMenuInflater().inflate(R.menu.activity_main, menu); return true; } }
- ضع الكود الآتي داخل ملف (AndroidManifest.xml)
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="abu.sms"> <uses-permission android:name="android.permission.SEND_SMS"/> <uses-permission android:name="android.permission.RECEIVE_SMS"/> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/AppTheme"> <activity android:name=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>
الآن قم بتجربة التطبيق.