ஆண்ட்ராய்டு சதனங்களில் கோப்புகளை பரிமாற்றம் செய்திடஉதவிடும் சிறந்த அருகலை கருவிகள்

தற்போது ஆண்ட்ராய்டு சாதனங்கள் பேசுவதற்கும் குறுஞ்செய்திளை அனுப்புவதற்கு மட்டுமல்லாது பேரளவு காலி நினைவகம்,ஏராளமான தற்காலிக நினைவகம்,மிகவிரைவான செயலகம் ,விரைவான இணைய இணைப்பு,தொடுதிரைவசதி போன்றவைகளைகொண்டு மேஜைக்கணினி போன்று அனைத்து செயல்களையும் செயல்படுத்தி பயன்பெறமுடியும் என்ற அளவிற்கு இதனுடையபயன் விரிந்து பரந்துவருகின்றது இந்நிலையில் இருவேறு சாதனங்களுக்கிடையே கோப்புகளை பரிமாறிகொள்ள அருகலை(WiFi) மிகமுக்கிய பங்காற்றுகின்றது ஆண்ட்ராய்டில் அவ்வாறானஅருகலைகளை கொண்டு கோப்புகளை பரிமாறிகொள்வதற்காக பின்வரும் பயன்பாடுகள் மிகச்சிறந்தவையாக உள்ளன
1 Shareitஎன்பது அருகலையை கொண்டு மிகவிரைவாக செயல்படும் மிகப்பிரபலமான பயன்பாடாகும் இது கட்டணமில்லாமல் கூகுள்ப்ளேஸ்டோரில் கிடைக்கின்றது ஆண்ட்ராய்டின் இருசாதனங்களையும் அருகலைகொண்டு இணைத்தபின்னர்பெறுபவர் சாதனத்தில் இருந்து பரிமாறி கொள்ளவிரும்பும் அனுப்புவோர் சாதனத்தின் கோப்புகளை அனுப்புவோர் இடைமுகம்இல்லாமலேயே பெறுபவரே பார்வையிட்டு இந்த பயன்பாட்டின் வாயிலாக கோப்பினை பதிவிறக்கம்செய்து கொள்ளமுடியும்தற்போதுஇதனை 30 முதல் 50 மிலிலியன் பயனாளர்கள் பயன்படுத்தி கொள்கின்றனர்

2 Xenderஎன்பது பொதுவாக பரவலாக அனைவரும் பயன்படுத்தி கொள்கின்றனர் இது கட்டணமில்லாமல் கூகுள்ப்ளேஸ்டோரில் கிடைக்கின்றதுஇதனுடைய பரிமாற்ற வேகம் நொடிக்கு 4 எம்பி முதல் 6 எம்பிவரை உள்ளது பரிமாறிகொள்ளவிரும்பும் சாதனங்களில் நிறுவுகைசெய்தபின்னர் ஒருசாதனமானது மற்றசாதனத்துடன் குழுவாக இணைப்பு ஏற்படுத்தி கொண்டு உருவப்படங்கள், கானொளிபடங்கள் இசைபோன்றவற்றை எளிதாக பரிமாறிகொள்ளலாம் இதனை தற்போது 20 முதல் 30 மிலிலியன் பயனாளர்கள் இதனை தற்போது பயன்படுத்தி கொள்கின்றனர்
3 Superbeam இதுமற்றொரு மிகபபிரபலமான மிகத்திறனுடைய அருகலையை பயன்படுத்தி சாதனங்களுக்கிடையே மிகவிரைவாக கோப்புகளை பரிமாறிகொள்ளஉதவும் ஆண்ட்ராய்டு பயன்பாடாகும் QR குறிமுறைவரிகள், NFC ,கைமுறைகுறிமுறைவரிகள் போன்றவைகளின் துனையுடன் பல்வேறு பின்புலங்களில் இதனை செயல்படுத்திடமுடியும்இது இசை உரை உருவப்படம் கானொளிபடம் போன்ற பல்வேறு வடிவமைப்பு கோப்புகளை மிகவிரைவாக பரிமாறிகொள்ள ஆண்ட்ராய்டு சாதனங்களுககு இடையே உதவுகின்றது இது கட்டணமில்லாமல் கூகுள்ப்ளேஸ்டோரில் கிடைக்கின்றது இதனை தற்போது 10 முதல் 20 மிலிலியன் பயனாளர்கள் பயன்படுத்தி கொள்கின்றனர்
4 wifi share என்பது ஆண்ட்ராய்டின் 1.6 முதல் 2.3 வரையிலான பழையபதிப்புகள் பயன்படும் சாதனங்களிலும மிகவிரைவாக மிகப்பெரிய கோப்புகளை பரிமாறிகொள்ளவும் இரண்டிற்கு மேற்பட்ட சாதனங்களுக்கு இடையே கோப்புளை பரிமாறிகொள்ளவும் முடியும் இது கட்டணமில்லாமல் கூகுள்ப்ளேஸ்டோரில் கிடைக்கின்றது இதனை தற்போது 5 முதல் 10 மிலிலியன் பயனாளர்கள் பயன்படுத்தி கொள்கின்றனர்

Advertisements

புதியவர்களுக்கு ஆண்ட்ராய்டு பயிற்சிகையேடு பகுதி-32-NotificationCompat.Builder setDefaults (int defaults)

பின்வரும் எடுத்துகாட்டில் ஆண்ட்ராய்டின் குறிப்பினை பயன்படுத்தி NotificationCompat.Builder எனும் இதனுடைய செயலிஒன்றினை காண்பிக்கின்றது இது ஆண்ட்ராய்டு 4.1இல் அறிமுகப்-படுத்தப்-பட்டுள்ளது

பின்வருவது src/com.example.notificationdemo/MainActivity.java. எனும் கோப்பின்மாறுதல்கள் செய்யப்பட்ட உள்ளடக்கமாகும் இந்தகோப்பில் ஒவ்வொரு அடிப்படைவாழ்க்கைசுழற்சி முறைகளையும் உள்ளடக்கியதாக ஆக்கிக்கொள்ளமுடியும்
package com.example.notificationdemo;
import android.os.Bundle;
import android.app.Activity;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.app.TaskStackBuilder;
import android.content.Context;
import android.content.Intent;
import android.support.v4.app.NotificationCompat;
import android.util.Log;
import android.view.View;
import android.widget.Button;
public class MainActivity extends Activity {
private NotificationManager mNotificationManager;
private int notificationID = 100;
private int numMessages = 0;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button startBtn = (Button) findViewById(R.id.start);
startBtn.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
displayNotification();
}
});
Button cancelBtn = (Button) findViewById(R.id.cancel);
cancelBtn.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
cancelNotification();
}
});
Button updateBtn = (Button) findViewById(R.id.update);
updateBtn.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
updateNotification();
} });
}
protected void displayNotification() {
Log.i(“Start”, “notification”);
/* Invoking the default notification service */
NotificationCompat.Builder mBuilder =
new NotificationCompat.Builder(this);
mBuilder.setContentTitle(“New Message”);
mBuilder.setContentText(“You’ve received new message.”);
mBuilder.setTicker(“New Message Alert!”);
mBuilder.setSmallIcon(R.drawable.woman);
/* Increase notification number every time a new notification arrives */ mBuilder.setNumber(++numMessages);
/* Creates an explicit intent for an Activity in your app */
Intent resultIntent = new Intent(this, NotificationView.class);
TaskStackBuilder stackBuilder = TaskStackBuilder.create(this); stackBuilder.addParentStack(NotificationView.class);
/* Adds the Intent that starts the Activity to the top of the stack */ stackBuilder.addNextIntent(resultIntent);
PendingIntent resultPendingIntent =
stackBuilder.getPendingIntent(
0,
PendingIntent.FLAG_UPDATE_CURRENT
);
mBuilder.setContentIntent(resultPendingIntent);
mNotificationManager =
(NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
/* notificationID allows you to update the notification later on. */ mNotificationManager.notify(notificationID, mBuilder.build());
}
protected void cancelNotification() {
Log.i(“Cancel”, “notification”);
mNotificationManager.cancel(notificationID);
}
protected void updateNotification() {
Log.i(“Update”, “notification”);
/* Invoking the default notification service */
NotificationCompat.Builder mBuilder =
new NotificationCompat.Builder(this);
mBuilder.setContentTitle(“Updated Message”);
mBuilder.setContentText(“You’ve got updated message.”);
mBuilder.setTicker(“Updated Message Alert!”);
mBuilder.setSmallIcon(R.drawable.woman);
/* Increase notification number every time a new notification arrives */ mBuilder.setNumber(++numMessages);
/* Creates an explicit intent for an Activity in your app */
Intent resultIntent = new Intent(this, NotificationView.class);
TaskStackBuilder stackBuilder =
TaskStackBuilder.create(this);
stackBuilder.addParentStack(NotificationView.class);
/* Adds the Intent that starts the Activity to the top of the stack */ stackBuilder.addNextIntent(resultIntent);
PendingIntent resultPendingIntent =
stackBuilder.getPendingIntent( ),
PendingIntent.FLAG_UPDATE_CURRENT );
mBuilder.setContentIntent(resultPendingIntent);
mNotificationManager =
(NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
/* Update the existing notification using same notification ID */ mNotificationManager.notify(notificationID, mBuilder.build());
}
}

பின்வருவது src/com.example.notificationdemo/NotificationView.java எனும் கோப்பின் மாறுதல்கள் செய்யப்பட்ட உள்ளடக்கங்களாகும்
package com.example.notificationdemo;
import android.os.Bundle;
import android.app.Activity;
public class NotificationView extends Activity{
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.notification);
}
}

பின்வருவது res/layout/activity_main.xml எனும் கோப்பின் உள்ளடக்கமாகும்

பின்வருவது res/layout/notification.xml எனும் கோப்பின்உள்ளடக்கமாகும்

பின்வருவது res/values/strings.xml எனும் கோப்பின் புதிய இருமாறிலிகளை வரையறுப்பதற்கான உள்ளடக்கமாகும்

NotificationDemo
Settings
அனைவருக்கும்வணக்கம்!
Start Notification
Cancel Notification
Update Notification

பின்வருவது AndroidManifest.xml எனும் கோப்பின் இயல்புநிலை உள்ளடக்கமாகும்

சற்றுமுன் நம்மால் மாறுதல்கள் செய்யப்பட்ட “NotificationDemo ” எனும் பயன்பாட்டினை இயக்க முயற்சி செய்வோம்! சூழல் அமைவை செயற்படுத்திடும் போதே நாம் நம்முடைய AVDஐ உருவாக்கிவிட்டதாக கருதி(எடுத்து)கொள்க எக்லிப்ஸிலிருந்து இந்த பயன்பாட்டினை இயக்குவதற்கு நம்முடைய செயல்திட்டங்களின் கோப்புகளில் ஒன்றாக திறந்து கொள்க தொடர்ந்து கருவிப் பட்டையிலிருந்து Run எனும் உருவப்பொத்தானை தெரிவுசெய்து சொடுக்குக. உடன் எக்லிப்ஸானது இந்த பயன்பாட்டினை நம்முடைய AVD இல்நிறுவுகை செய்யத்துவங்கிடும் அதனைதொடர்ந்து நம்முடைய பயன்பாட்டிலும் கட்டமைவிலும் உள்ள அனைத்தும் மிகச்சரியாக இருக்கின்றது எனில் அது பின்வரும் முன்மாதிரி சாளரத்தினை திரையில் காண்பிக்கும்


2
தற்போது இதிலுள்ளStart Notification எனும் பொத்தானைதெரிவுசெய்து சொடுக்குக உடன் New Message Alert! என்ற செய்தி திரையில் மேலே தோன்றுவதை காணலாம் சிறிது நேரம் கழித்து திரையில் மேலே வலது புறமூலையில் சிறிய உருவபொத்தான் ஒன்று தோன்றிடும்
தற்போது இந்த காட்சியை சிறிது விரிவாக்கம் செய்து காண்போம் அதற்காக சிறிய உருவப்-பொத்தானை தெரிவுசெய்து சொடுக்குக உடன் ஒருசில நொடிகளில் நாள் தொடர்பான செய்தி திரையில் தோன்றிடும் அதனோடு இந்த நாள்காட்சியை பிடித்து இழுத்துசென்றுநிலைபட்டியில் விட்டிடாமல் அப்படியே சுட்டியால் பிடித்து கொணடிருந்தால் நிலைபட்டி விரிவாக்கம் செய்யப்பட்டு பின்வருமாறு திரைத்தோற்றம் மாறுவதை காணலாம்

3
இப்போது உருவப்பொத்தானை தெரிவுசெய்து சொடுக்குதல் செய்திடமுயன்றிடுக உடன் புதிய செயலியானது நிறுவுகை செய்து அமைக்கப்பட்டு பின்வருமாறு திரைதோற்றம் அமைந்திடும்

4
அடுத்து Detail of notification என்பதை தெரிவுசெய்து சொடுக்குக உடன் இந்த செயலி நம்மை முதன்மை திரைக்கு அழைத்து செல்லும் அங்கு Update Notification எனும் பொத்தனை தெரிவுசெய்து சொடுக்குதல் செய்திட முயற்சிசெய்திடுக அது நடப்பிலுள்ள அறிவிப்பினை நிகழ்நிலை படுத்திடுகின்றது தொடர்ந்துமேம்படுத்தபட்ட நிலை 1 என கூட்டி காண்பிக்கின்றது ஆனால் நாம் புதிய சுட்டிஅறிவிப்புடன் இதனை அனுப்பிட முயன்றால் உடன் அதனை படுக்கை வசமாக தனியாக திரையில் பட்டியலிட்டு காண்பிப்பதை காணலாம்
பெரியஅளவு காட்சிக்கான அறிவிப்பு
உள்வருகை பெட்டியின் பெரிய அளவு காட்சியை பயன்படுத்துவதற்கு முந்தைய துணுக்குகளில் உருவாக்கப்பட்ட அறிவிப்பை எப்படி மாற்றுவது என்பதை பின்வரும் குறிமுறைவரிகள் நிரூபிக்கிறது. இந்த செயல்பாட்டைக் காண்பிப்பதற்கு displayNotification () எனும் வழிமுறையைப் புதுப்பித்திடுக :
protected void displayNotification() {
Log.i(“Start”, “notification”);
/* Invoking the default notification service */
NotificationCompat.Builder mBuilder =
new NotificationCompat.Builder(this);
mBuilder.setContentTitle(“New Message”);
mBuilder.setContentText(“You’ve received new message.”);
mBuilder.setTicker(“New Message Alert!”);
mBuilder.setSmallIcon(R.drawable.woman);
/* Increase notification number every time a new notification arrives */ mBuilder.setNumber(++numMessages);
/* Add Big View Specific Configuration */
NotificationCompat.InboxStyle inboxStyle =
new NotificationCompat.InboxStyle();
String[] events = new String[6];
events[0] = new String(“This is first line….”);
events[1] = new String(“This is second line…”);
events[2] = new String(“This is third line…”);
events[3] = new String(“This is 4th line…”);
events[4] = new String(“This is 5th line…”);
events[5] = new String(“This is 6th line…”);
// Sets a title for the Inbox style big view
inboxStyle.setBigContentTitle(“Big Title Details:”);
// Moves events into the big view
for (int i=0; i < events.length; i++) {
inboxStyle.addLine(events[i]);
}
mBuilder.setStyle(inboxStyle);
/* Creates an explicit intent for an Activity in your app */
Intent resultIntent =
new Intent(this, NotificationView.class);
TaskStackBuilder stackBuilder = TaskStackBuilder.create(this); stackBuilder.addParentStack(NotificationView.class);
/* Adds the Intent that starts the Activity to the top of the stack */ stackBuilder.addNextIntent(resultIntent);
PendingIntent resultPendingIntent =
stackBuilder.getPendingIntent(
0,
PendingIntent.FLAG_UPDATE_CURRENT
);
mBuilder.setContentIntent(resultPendingIntent);
mNotificationManager =
(NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
/* notificationID allows you to update the notification later on. */ mNotificationManager.notify(notificationID, mBuilder.build());
}
தற்போது நாம் உருவாக்கிய நம்முடைய பயன்பாட்டினை இயக்கமுயற்சி செய்திடுக உடன் பின்வருமாறானவிரிவாக்கப்பட்ட காட்சி தோன்றிடும்

புதியவர்களுக்கு ஆண்ட்ராய்டு பயிற்சிகையேடு எனும் இந்த தொடரானது பகுதி-32உடன் முடிவடைகின்றது மேலும் விவரங்களுக்கு எனும் இணைய.முகரிக்கு சென்று அறிந்து பயன்படுத்தி கொள்க என பரிந்துரைக்கப்படுகின்றது

ஐஃபோன் எமோஜியை ஆண்ட்ராய்டு கைபேசியில் காட்சியாக கொண்டுவருவ-தெவ்வாறு?

பொதுவாக நாமெல்லோரும் இந்த எமோஜி எனும் உருவப்படங்களை இவையில்லாமல் குறுஞ்செய்திகளை கையாளுவதேயில்லை என்றஅளவிற்கு பயன்படுத்தி வருகின்றோம்
இதனுடைய புன்முறுவல் தோற்றமேஅனைவரையும் கவருகின்றது ஆயினும் ஒருசாதனத்தில் காணும் இதன் தோற்றம் மற்றொரு சாதனத்தில் அதிலும் ஆண்ட்ராய்டு சாதனத்தில் அவ்வாறே அமைவதில்லை அதனால் ஐஃபோன் எமோஜியை ஆண்ட்ராய்டு கைபேசியிலும் அதே தோற்றத்தில் அமையுமாறு இரண்டுவழிமுறைகளில் கொண்டுவரமுடியும் முதல் வழிமுறையாக இதனை பதிவிறக்கம் செய்து பயன்படுத்தி கொள்வது இதற்காக முதலில் நம்முடைய சாதனத்தில் settings எனும்பட்டியலைவிரியச்செய்திடுக பின்னர் அதிலுள்ள Securityஎனும் துனைபட்டியை விரியசெய்திடுக அதிலுள்ள Unknown Sources என்ற வாய்பினை தேடிபிடித்து தெரிவுசெய்து செயல்படுமாறு செய்து கொள்க பிறகுஇது GooglePlay Store என்ற தளத்தில் கிடைக்காது அதனால் https://www.ebay.com/sch/i.html?_nkw=installஎன்றதளத்திலிருந்து இதனைபதிவிறக்கம்செய்திடுக உடன்இந்த பயன்பாடு பாதுகாப்பானதன்று அல்லது நம்பகமானதன்று என்ற எச்சரிக்கைசெய்தி யொன்று திரையில் தோன்றி நம்மை எச்சரிக்கை செய்திடும்அதனை தவிர்த்து பதிவிறக்கம் செய்திடுக பின்னர் Settings ->Display-> Font என்றவாறு கட்டளைகளைதெரிவுசெய்து சொடுக்குதல் செய்து செயற்படுத்திடுக உடன் விரியும் திரையில் Emoji font 3 என்ற எழுத்துருவின் பாவணையை மாற்றியமைத்திடுக அதன்பின்னர் GooglePlay Store என்ற தளத்திலிருந்து Gboardஎன்பதை பதிவிறக்கம்செய்து கொள்கஇறுதியாக Settingsapp> Language and Input என்றவாறு கட்டளைகளைதெரிவுசெய்து சொடுக்குதல் செய்தபின் விரியும் திரையில் Gboardஎன்பதை நம்முடைய இயல்புநிலை-விசைப்பலகையாக அமைத்துகொள்க
இரண்டாவது வழிமுறையில் நம்முடைய சாதனத்தில் settings எனும்பட்டியலை விரியச் செய்திடுக பின்னர் அதிலுள்ள Securityஎனும் துனைப்பட்டியை விரியசெய்திடுக அதிலுள்ள Unknown Sources என்ற வாய்பினை தேடிபிடித்து தெரிவுசெய்து செயல்படுமாறு செய்து கொள்க அதன்பின்னர் https://apkpure.com/free-iphone-ios-emoji-for-keyboard-emoticons/com.ikeyboard.emoji.iosemoji/ என்ற தளத்திலிருந்து Emoji Keyboardஎன்பதைபதிவிறக்கம்செய்திடுக உடன்இந்த பயன்பாடு பாதுகாப்பானதன்று அல்லது நம்பகமானதன்று என்ற எச்சரிக்கைசெய்தி யொன்று திரையில் தோன்றி நம்மை எச்சரிக்கை செய்திடும்அதனை தவிர்த்து பதிவிறக்கம் செய்திடுக பின்னர் GooglePlay Store என்ற தளத்திலிருந்து Kika Keyboardஎன்பதை பதிவிறக்கம்செய்து கொள்க messagingapp > keyboard என்றவாறு கட்டளைகளைதெரிவுசெய்து சொடுக்குதல் செய்து செயற்படுத்திடுக உடன் விரியும் திரையில் Emoji உருவபொத்தானை தெரிவுசெய்து கொள்க இதன் பின்னர் இந்த உருவபொத்தானை தெரிவுசெய்து சொடுக்குவதன்வாயிலாக நம்முடைய ஆண்ட்ராய்டு கைபேசியில் ஐஃபோன் எமோஜியை பயன்படுத்தி கொள்ளமுடியும்

நம்முடைய ஆண்ட்ராய்டு சாதனத்தினை எவ்வாறு கணினிஅல்லது மடிக்கணினி வாயிலாக கட்டுபடுத்திடுவது

AirDroid எனும் ஆண்ட்ராய்டு பயன்பாடானது நம்முடைய ஆண்ட்ராய்டு சாதனத்தினை எளிதாக கணினி அல்லது மடிக்கணினி வாயிலாக கட்டுபடுத்திடுவதில்முதன்மை இடத்தினை வகிக்கின்றது இதனை பதிவிறக்கம்செய்துபயன்படுத்தி கொள்வதற்காக GooglePlay Store என்ற தளத்திற்கு செல்க அங்கு AirDroid என்பதைதேடிபிடித்து தெரிவுசெய்து பதிவிறக்கம்செய்து கொள்க பின்னர் அதனை நம்முடையஆண்ட்ராய்டு சாதனத்தில் நிறுவுகைசெய்து கொள்க பிறகுஇதனை செயல்படச்செய்து திரையில் தோன்றிடசெய்திடுக உடன் நம்முடைய கைபேசியின் திரையில் இதன் வாயில் எண்ணுடன் ஐபி முகவரியை காணமுடியும் அதனை தொடர்ந்து நம்முடைய கணினியில் இணைய உலாவியை செயல்படச்செய்து அதில் நம்முடைய ஆண்ட்ராய்டு சாதனத்தில் AirDroid பயன்பாட்டினை நிறுவுகைசெய்து செயல்படச்செய்க உடன் விரியும் திரையில் நாம் நமமுடைய கைபேசியின் திரையில் காணும் ஐபி முகவரியையும் வாயில் எண்ணையும் உள்ளீடுசெய்து கொண்டு உள்ளீட்டு விசையை அழுத்துக எச்சரிக்கை நம்முடைய கணினியும் ஆண்ட்ராய்டு சாதனமும் ஒரே அருகலையில்(WiFi) இணைக்கப்பட்டிருக்கவேண்டும் உடன் இதற்கான உறுதிபடுத்திடும்செய்தியொன்று நம்முடைய ஆண்ட்ராய்டு சாதனத்திற்கு வந்து சேரும் உடன்அதில் Accept எனும் பொத்தானை தெரிவுசெய்துசொடுக்குதல்செய்து உறுதிபடுத்தி கொள்கஉடன் இந்த AirDroidபயன்பாட்டின் வாயிலாக ஆண்ட்ராய்டு சாதனத்தின் திரை கணினியின் திரையில் தோன்றிடும் பிறகு நம்முடைய கணினியில் இருந்தவாறு நம்முடைய ஆண்ட்ராய்டு சாதனத்திரையின் வாயிலாக Messages, Calls, Files ஆகியவற்றை கையாளும் பல்வேறு பணிகளை ஆற்றமுடியும்மேலும்நம்முடைய கணினியிலிருந்துஆண்ட்ராய்டு சாதனத்திற்கு Transfer Files, Images and Videos போன்ற பணிகளைசெயறபடுத்திடமுடியும்

புதியவர்களுக்கு ஆண்ட்ராய்டு பயிற்சிகையேடு பகுதி-31-வாடிக்கையாளரின் பண்புக்கூறுகளுடன் வாடிக்கையாளரின் உறுப்புகள்(Custom Component with Custom Attributes)

முன்கூட்டியே கட்டமைக்கப்பட்ட பொருட்களின் செயலிகளைஎவ்வாறு விரிவாக்கம் செய்வதுஎன நாம் ஏற்கனவே அறிந்துகொண்டுள்ளோம் ஆனால் நாம் முன்புகண்ட இரு எடுத்துகாட்டுகளிலும் அதன் பெற்றோர்களின் இனத்தில் அதனுடைய அனைத்து இயல்புநிலை பண்புக்கூறுகளிலும் அதனுடைய உறுப்புகளை விரிவாக்கம் செய்து பயன்படுத்தி கொள்ளமுடியும் என கண்டுவந்தோம் அதற்குபதிலாக புதியதாக நம்முடைய சொந்த பண்புக்கூறுகளை நாமே உருவாக்கவேண்டிய ஒருசூழ்நிலை ஏற்படுவதாக கொள்வோம் அந்நிலையில் பின்வரும் ஆண்ட்ராய்டு வாடிக்கையாளர் உறுப்புகளுக்காக புதிய பண்புக்கூறுகளைபயன்படுத்துவதற்கும் உருவாக்குவதற்கும் ஆன ஒரு எளிய நடைமுறையை பின்பற்றிடுக இதில் மூன்று பண்புக்கூறுகளை அறிமுகப்படுத்தவும் அதனை தொடர்ந்து அவைகளை பின்வருமாறு பயன்படுத்திடவும் முடியும்

படிமுறை 1இதன் முதல்படிமுறையாக res/values/ என்பதன்கீழ் புதிய எக்ஸ்எம்எல் கோப்பு ஒன்றினை உருவாக்கி நம்முடைய வாடிக்கையாளர் பண்புக்கூறுகளை பயன்படுத்துவதற்கு இயலுமை செய்வதற்காக அவைகளைவரையறுத்திடுக தொடர்ந்து அதற்கு attrs.xml. என பெயரிட்டுக இந்த attrs.xml. எனும் கோப்பு ஒரு எடுத்துகாட்டின் வாயிலான காட்சி பின்வருமாறு இருக்கும்

இங்கு name=மதிப்பாகும் (value) இது நம்முடைய எக்ஸ்எம்எல் புறவடிவமைப்பு கோப்பின் பண்புக்கூறுகளாக நாம் பயன்படுத்துவதற்காக விரும்பப்படுவதாகும் மேலும் format=வகையாகும் (type) அதாவது பண்புக்கூறுகளின் வகையாகும்
படிமுறை2 நம்முடைய இரண்டாவது படிமுறையானது எக்ஸ்எம்எல் புறவடிவமைப்பு கோப்பிலிருந்து இந்த பண்புக்கூறுகளை படித்தறிவதற்கானதாகும் தொடர்ந்து அவைகளை உறுப்புகளுக்காக அமைத்திடவேண்டும் இந்த தருக்கமே கட்டமைப்பாளர்களுக்கு செல்லவிருக்கின்றது அதாவது ஒரு AttributeSet இற்கு அதனை கடத்துகின்றது ஏனெனில் இது எக்ஸ்எம்எல்லின் பண்புக்கூறுகளில் என்னவுள்ளதோ அதுவேயாகும் இந்த எக்ஸ்எம்எல்லின் மதிப்புகளை படித்தறிவதற்கு முதலில் நாம் AttributeSet இலிருந்து ஒரு TypedArray ஐ உருவாக்க வேண்டிய தேவையிருக்கும் பின்னர் அதனை பயன்படுத்தி படிப்பதற்கும் பின்வரும் எடுத்துகாட்டு குறிமுறை வரிகளில் காண்பித்துள்ளவாறு அதன் மதிப்புகளை அமைத்திடவும் வேண்டும்

TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.DateView);
final int N = a.getIndexCount();
for (int i = 0; i < N; ++i)
{
int attr = a.getIndex(i);
switch (attr)
{
case R.styleable.DateView_delimiter:
String delimiter = a.getString(attr);
//…do something with delimiter…
break;
case R.styleable.DateView_fancyText:
boolean fancyText = a.getBoolean(attr, false);
//…do something with fancyText…
break;
}
}
a.recycle();
படிமுறை3 இறுதிபடிமுறையாக நம்முடைய எக்எஸ்எல் புறவடிவமைப்பு கோப்பின் வரையறுக்கப்பட்ட பண்புக்கூறுகளின் கோப்பினைபின்வருமாறு பயன்படுத்தி கொள்ளமுடியும்

இதில் xmlns:custom=”http://schemas.android.com/apk/res/com.example.dateviewdemo ” என்பது மிக-முக்கியமான பகுதியாகும் மேலும் http://schemas.android.com/apk/res/ என்பதில் எவ்வாறு உள்ளதோ அவ்வாறே இதுவும் இருக்கவேண்டும் என்ற செய்தியை மனதில் குறித்துகொள்க ஆனால் இதில் கடைசிப்பகுதியை நம்முடைய கட்டுகளின் பெயராக அமைத்து கொள்ளவேண்டும் மேலும் xmlns என்பதற்கு பிறகு எதைவேண்டுமானாலும் நாம் பயன்படுத்தி கொள்ளமுடியும் இந்த எடுத்துகாட்டில் custom, எனும் பெயரில் இது பயன்படுத்தப்பட்டுள்ளது ஆனால் நாம் அதற்கு பதிலா நாம் விரும்பியவாறான பெயரை பயன்படுத்தி கொள்ளலாம் மிகமுக்கியமாக எளிய படிமுறைகளுடன் கொடுக்கப்பட்டுள்ள பின்வரும் எடுத்துகாட்டின் வாயிலாக ஆண்ட்ராய்டின் வாடிக்கையாளர் உறுப்புகளுக்காக வாடிக்கையாளர் பண்புக்கூறுகளை உருவாக்குவது எவ்வாறுஎன அறிந்து கொள்க
ஆண்ட்ராய்டின் வாடிக்கையாளர் உறுப்புகளுக்காக வாடிக்கையாளர் பண்புக்கூறுகளை உருவாக்குதல்(Create Custom Attributes for Android Custom Component)
பின்வரும் எடுத்துகாட்டின் படிமுறைகளானது ஒரு எளிய வாடிக்கையாளர் உறுப்புகளை அதன் வாடிக்கையாளர் பண்புக்கூறுகளுடன் வரையறுப்பது எவ்வாறு என காண்பிக்கின்றது

பின்வருவது filesrc/com.example.eventdemo/MainActivity.java. எனும் மாறுதல்கள் செய்யப்பட்ட முதன்மை கோப்புகளின் உள்ளடக்கமாகும் இந்த கோப்பில்ஒவ்வொரு அடிப்படை வாழ்க்கை சுழற்சி வழிமுறைகளை உள்ளிணைந்ததாக ஆக்க முடியும்
package com.example.dateviewdemo;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the
// action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
பின்வருவது res/values/attrs.xml எனும் கோப்பின் உள்ளடக்கமாகும்

பின்வருவதுsrc/com.example.dateviewdemo/DateView.java, எனும் புதிய கோப்பின் உள்ளடக்கமாகும் இது நடப்பு நாளினை காண்பிப்பதற்கு கூடுதலான செயலியாகவும் விளங்குகின்றது
package com.example.dateviewdemo;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import android.content.Context;
import android.content.res.TypedArray;
import android.graphics.Color;
import android.util.AttributeSet;
import android.util.Log;
import android.widget.TextView;
public class DateView extends TextView {
public String delimiter;
public boolean fancyText;
public DateView(Context context) {
super(context);
setDate();
}
public DateView(Context context, AttributeSet attrs) {
super(context, attrs);
TypedArray a = context.obtainStyledAttributes(attrs,
R.styleable.DateView );
final int N = a.getIndexCount();
for (int i = 0; i < N; ++i)
{
int attr = a.getIndex(i);
switch (attr)
{
case R.styleable.DateView_delimiter:
delimiter = a.getString(attr);
setDate();
break;
case R.styleable.DateView_fancyText:
fancyText = a.getBoolean(attr, false);
fancyText();
break;
}
}
a.recycle();
}
public DateView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
setDate();
}
private void setDate() {
SimpleDateFormat dateFormat =
new SimpleDateFormat("yyyy" + delimiter + "MM" + delimiter + "dd");
String today = dateFormat.format(Calendar.getInstance().getTime());
setText(today); // self = DateView = subclass of TextView
}
private void fancyText() {
if( this.fancyText){
setShadowLayer(9, 1, 1, Color.rgb(44, 44, 40));
}
}
}
பின்வருவது res/layout/activity_main.xml எனும் கோப்பின் உள்ளடக்கமாகும்

பின்வருவது புதிய இரு மாறிலிகளை வறையறுப்பதற்கான res/values/strings.xml எனும் கோப்பின் உள்ளடக்கமாகும்

DateViewDemo
Settings
அனைவருக்கும் வணக்கம்!

பின்வருவது AndroidManifest.xml: என்பதன் இயல்புநிலை உள்ளடக்கமாகும்

சற்றுமுன் நம்மால் மாறுதல்கள் செய்யப்பட்ட “DateViewDemo “எனும் பயன்பாட்டினை இயக்க முயற்சி செய்வோம்! சூழல் அமைவை செயற்படுத்திடும் போதே நாம் நம்முடைய AVDஐ உருவாக்கிவிட்டதாக கருதி(எடுத்து)கொள்க எக்லிப்ஸிலிருந்து இந்த பயன்பாட்டினை இயக்குவதற்கு நம்முடைய செயல்திட்டங்களின் கோப்புகளில் ஒன்றாக திறந்து கொள்க தொடர்ந்து கருவிப் பட்டையிலிருந்து Run எனும் உருவப்பொத்தானை தெரிவுசெய்து சொடுக்குக. உடன் எக்லிப்ஸானது இந்த பயன்பாட்டினை நம்முடைய AVD இல்நிறுவுகை செய்யத்துவங்கிடும் அதனைதொடர்ந்து நம்முடைய பயன்பாட்டிலும் கட்டமைவிலும் உள்ள அனைத்தும் மிகச்சரியாக இருக்கின்றது எனில் அது பின்வரும் முன்மாதிரி சாளரத்தினை திரையில் காண்பிக்கும்

புதியவர்களுக்கு ஆண்ட்ராய்டு பயிற்சிகையேடு பகுதி-30-எக்ஸ்எம்எல் கோப்பின் புறவடிவமைப்பை பயன்படுத்தி உரையாற்றுதல் (INSTANTIATE USING LAYOUT XML FILE)

நம்முடைய முன்கூட்டியே கட்டமைக்கப்பட்ட பொருட்களில் உரையாற்றிட செய்வதற்கு எக்ஸ்எம்எல் கோப்பின் புறவடிவமைப்பை நாம் பயன்படுத்திகொள்வது வழக்கமாகும் அதே கருத்தமைவை நம்முடைய வாடிக்கையாளர் பொருட்களுக்கும் கீழே விவரித்துள்ளவாறு எக்ஸ்எம்எல்கோப்பின் புறவடிவமைப்ப பயன்படுத்தி நம்முடைய வாடிக்கையாளர் உறுப்புகளுக்கும் உரையாற்றிடசெய்வதற்கும் பயன்படுத்தி கொள்க இங்கு com.example.dateviewdemo என்பது ஒரு குறிமுறைவரிகளின் தொகுப்பாகும் இதில் DateView எனும் இனம் தொடர்பான அனைத்து குறிமுறைவரிகளுக்காகவும் வைத்திடுக மேலும் DateViewஎன்பது ஒரு ஜாவா இனத்தின் பெயராகும் இதில் நம்முடைய வாடிக்கையாளர் உறுப்புகளின்முழுவதுமானதருக்கத்தினை வைத்திடுக
நாம் தற்போது மாறுதல்கள் எதுவுமில்லாத வாடிக்கையாளரின் உறுப்புகளுடன் அனைத்து TextView எனும் பண்புக்கூறுகளை பயன்படுத்தி கொள்கின்றோம் என்ற செய்தியை மிகமுக்கியமாக மனதில் குறித்து கொள்க அதேபோன்று DateView எனும் வாடிக்கையாளரின் உறுப்புகளுடன் அனைத்து நிகழ்வுகளையும் வழிமுறைகளையும் பயன்படுத்தி கொள்ளமுடியும்
ஒரு ஆண்ட்ராய்டின்அடிப்படையான வாடிக்கையாளரின் உறுப்புகள் உரையாற்றுதலை எக்ஸ்எம்எல்கோப்பின் புறவடிவமைப்பை பயன்படுத்திஒரு ஆண்ட்ராய்டின் அடிப்படை வாடிக்கையாளரின் உறுப்புகளில்உரையாற்றுவது எவ்வாறு என புரிந்து கொள்வதற்கு பின்வரும் எடுத்து காட்டினை சரிபார்த்து கொள்க
ஒரு எக்ஸ்எம்எல்கோப்பின் புறவடிவமைப்பை பயன்படுத்திஒரு ஆண்ட்ராய்டின் வாடிக்கையாளரின்அடிப்படை உறுப்புகளுடன் உரையாற்றுவது
பின்வரும் எடுத்துகாட்டு ஒரு ஆண்ட்ராய்டின் எளிய வாடிக்கையாளர் உறுப்புகளை வரையறுக்கின்றது பின்னர்புறவடிவமைப்பு கோப்பினை பயன்படுத்திடாமல்குறிமுறை வரிகளின்செயல்களுக்குள் அது எவ்வாறு உரையாற்றிடமுடியும் என காண்பிக்கின்றது

பின்வருவதுsrc/com.example.dateviewdemo/DateView.java எனும் புதிய கோப்பின் உள்ளடக்கமாகும் இது நடப்பு நாளினை காண்பிப்பதற்கு கூடுதலான செயலியாகவும் விளங்குகின்றது
package com.example.dateviewdemo;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import android.content.Context;
import android.util.AttributeSet;
import android.widget.TextView;
public class DateView extends TextView {
public DateView(Context context) {
super(context);
setDate();
}
public DateView(Context context, AttributeSet attrs) {
super(context, attrs);
setDate();
}
public DateView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
setDate();
}
private void setDate() {
SimpleDateFormat dateFormat = new SimpleDateFormat(“yyyy/MM/dd”);
String today = dateFormat.format(Calendar.getInstance().getTime());
setText(today); // self = DateView is a subclass of TextView
}
}
பின்வருவது src/com.example.dateviewdemo/MainActivity.java எனும் கோப்பின் உள்ளடக்கங்களில் மாறுதல்கள் செய்யப்பட்ட முதன்மையான செயலியாகும் இந்த கோப்பில் அடிப்படையான வாழ்க்கை சுழற்சி முறைகளை உள்ளிணைந்ததாக ஆக்கமுடியும்
package com.example.dateviewdemo;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the
// action bar if it is present. getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
பின்வருவது res/layout/activity_main.xml எனும் கோப்பின் உள்ளடக்கமாகும்

பின்வருவது புதிய இரு மாறிலிகளை வறையறுப்பதற்கான res/values/strings.xml எனும் கோப்பின் உள்ளடக்கமாகும்

DateViewDemo
Settings
Hello world!

பின்வருவது AndroidManifest.xml: என்பதன் இயல்புநிலை உள்ளடக்கமாகும்

சற்றுமுன் நம்மால் மாறுதல்கள் செய்யப்பட்ட “DateViewDemo “எனும் பயன்பாட்டினை இயக்க முயற்சி செய்வோம்! சூழல் அமைவை செயற்படுத்திடும் போதே நாம் நம்முடைய AVDஐ உருவாக்கிவிட்டதாக கருதி(எடுத்து)கொள்க எக்லிப்ஸிலிருந்து இந்த பயன்பாட்டினை இயக்குவதற்கு நம்முடைய செயல்திட்டங்களின் கோப்புகளில் ஒன்றாக திறந்து கொள்க தொடர்ந்து கருவிப் பட்டையிலிருந்து Run எனும் உருவப்பொத்தானை தெரிவுசெய்து சொடுக்குக. உடன் எக்லிப்ஸானது இந்த பயன்பாட்டினை நம்முடைய AVD இல்நிறுவுகை செய்யத்துவங்கிடும் அதனைதொடர்ந்து நம்முடைய பயன்பாட்டிலும் கட்டமைவிலும் உள்ள அனைத்தும் மிகச்சரியாக இருக்கின்றது எனில் அது பின்வரும் முன்மாதிரி சாளரத்தினை திரையில் காண்பிக்கும்

ஆண்ட்ராய்டில் வினாடி வினா நிகழ்ச்சி பயன்பாடுகளை அப்இன்வென்ட்டர்2 ஆல் உருவாக்கிடமுடியும்

ஆண்ட்ராய்டு இயக்கமுறைமைகளில் தொகுதியான கேள்விகளும் அதற்கு குரலொலியுடனான பதில்களும் சேர்ந்ததொரு வினாடி வினா நிகழ்ச்சி தொகுப்பு பயன்பாட்டினை அப்இன்வென்ட்டர்2 இல் எளிதாக உருவாக்கிடமுடியும் இதற்காக தரவுகளை உருவாக்குவதற்கானApp1 அந்த தரவுகளை பயன்படுத்தி ஒருசில செயல்களை செயல்படுத்திடுவதற்கானApp2 ஆகிய இவ்விரண்டிற்கு இடைய தொடர்பாளராகவும் தரவுகளை தேக்கிவைப்பவையாகும் செயல்படும்TinyDB ஆகியவற்றுடன்செயல் நடைபெறும் அமைவிடம்(Screen ),பதில் கூறுபவர்களின் குரலொலியை அங்கீகரிப்பது(Speech Recognizer ),படுக்கை வசமாக அனைத்து உறுப்புகளையும் அமைப்பது( Horizontal arrangements ), நெடுக்கைவசமாக உறுப்புகளை அமைப்பது ( Vertical Arrangement) ஆகியபொருள்கூறுகள்(Components) நமக்கு தேவையாகும் முதலில் கேள்விகளும் அவைகளுக்கான பதில்களும்கொண்ட QuestionSetList எனக்குறிப்பிடும் வினாடிவினாக்களின் தொகுதியான பட்டியலில் Q எனக்குறிப்பிடும் வினா, Aஎனக்குறிப்பிடும் விடை, TotalQ எனக்குறிப்பிடும் மொத்த வினாவிடைகள் ஆகியவை குறியொட்டு(Tag)களாகும்
ஆண்ட்ராய்டுஇயக்கமுறைமையின் முதன்மைத்திரையில் create Questions or Answer Questions எனும் தலைப்புடன் இந்த பயன்பாடு தோன்றிடவேண்டும் அதன்கீழ் Create Questions எனும் உருவப்பொத்தானும் Answer Questions எனும் உருவப்பொத்தானும் நிகழ்வுமுடிந்தவுடன் அடுத்தநிகழ்விற்கு செல்வதற்கானClearAll எனும் உருவப்-பொத்தானும் பிழைஏதும் உருவானால் அதனை சரிசெய்வதற்கானDebug எனும் உருவப்பொத்தானும் தேவையாகும்
இங்கு CRUD என சுருக்கமாக அறியப்படும் உருவாக்குதல் படித்தல் நிகழ்நிலைபடுத்துதல் நீக்கம் செய்தல் (Create,Read,Update,Delete) ஆகிய செயல்களை செயல்படுத்தஉதவிடும் எளியசாதாரண இடைமுகமாக இந்தTinyDB என்பது செயல்படுகின்றது
அடுத்ததாக தயார்நிலையில் உள்ள Create Questions எனும் தலைப்புடன் கேள்விகளின் தொகுதிகளுக்கானQuestions Set எனும் உருவப்பொத்தானும் கேள்விகளுக்காகQuestion எனும் உருவப்பொத்தானும் அவற்றின் விடைகளுக்காகAnswer எனும் உருவப்-பொத்தானும் இதனை சேமிப்பதற்காகSave Question எனும் உருவப்பொத்தானும் அடுத்த-நிகழ்விற்கு செல்வதற்காகDone(Go Back) எனும் உருவப்பொத்தானும் தேவையாகும்
இதற்கடுத்ததாக திரையில் தோன்றிடும் கேள்விக்கான பதிலை குரலொலி வாயிலாக உள்ளீடு செய்திடுவதற்காகAnswer Questions என்ற தலைப்புடன் தேவையான கேள்வித்தொகுதிகளை தெரிவுசெய்வதற்காகSelect QuestionSetஎனும் உருவப்-பொத்தானும் அந்த தொகுதியான கேள்விகளை தெரிவுசெய்வதற்கானQuestion எனும் உருவப்-பொத்தானும் அந்த கேள்விக்கான பதிலை குரலொலிமூலம் உள்ளீடுசெய்வதற்கானAnswer எனும் உருவப்பொத்தானும்முந்தையசெயலிற்கு செல்லPrevious எனும் உருவப்-பொத்தானும்அடுத்ததற்கு செல்லNext எனும் உருவப்-பொத்தானும் அடுத்தநிகழ்விற்கு செல்வதற்காகGoBack (Done) எனும் உருவப்-பொத்தானும்(Button) தேவையாகும்இங்கு Microphone.png, validiting Answer ,Speach Recognizer input ஆகியவை கூடுதல் தேவையாகும்
முதலில் தலைப்புகளுக்காகLabel என்பதை Palette=>User Interface=>Label=> என்றவாறு கட்டளைகளை செயல்படுத்தி இழுத்து கொண்டுவந்துவிடுக
பின்னர் பொத்தான்களுக்காகButtonஎன்பதை Palette=>User Interface=>Button=> என்றவாறு கட்டளைகளை செயல்படுத்தி இழுத்து கொண்டுவந்துவிடுக
இவைகளை கிடைமட்டமாக அடுக்கிடுவதற்காக Horizontal Arrangements என்பதை Palette=>LAyout=>Horizontal Arrangement=> என்றவாறு கட்டளைகளை செயல்படுத்தி இழுத்து கொண்டு வந்துவிடுக
நெடுவரிசையாக அடுக்கிடுவதற்காக Vertical Arrangement என்பதை Palette=>LAyout=> Vertical Arrangement => என்றவாறு கட்டளைகளை செயல்படுத்தி இழுத்து கொண்டு- வந்துவிடுக
பிறகு இதனுடைய லேபிளிற்கும் பொத்தான்களுக்குமான பண்பியல்களை சரிசெய்து அமைத்துகொள்க அதன்பிறகு பிளாக் எடிட்டரில் பொருள்கூறுகளை(Components) தெரிந்து கொள்வதற்கேற்ப இவைகளின் பெயரினை மாற்றி யமைத்திடுக
இவைகளில் காட்சியாக ஒருசில பொருள்கூறுகள்(Components) திரையில் தோன்றிடும் வேறுசில பொருள்கூறுகளானவை non-visible என்பதன்கீழ் மறைந்து இருக்கும் மிகமுக்கியமாக இந்த TinyDB ஆனது இடைநிலைமுகவராக தரவுதளநிருவாகியாக கண்ணிற்கு புலப்படாமல் அமைந்திருக்கும் திரையில் தேன்றிடும் கேள்விகளுக்கான பதிலை குரலொலி மூலம் உள்ளீடு செய்வதற்காக Microphone.png எனும் ஏற்பாடும் குரலொலியை பதிலாக புரிந்துகொள்வதற்காகSpeach Recognizer input என்பதையும் உள்ளீடு செய்யப்படும் பதிலானது சரியானதா என சரிபார்ப்பதற்காக validiting Answerஎன்பதையும் அமைத்து கொள்க இதன் பின்னர் பிழையேதும் உள்ளதாவென சரிபார்த்து சரியாக இருந்தால் Build எனும் பொத்தானை தெரிவுசெய்து சொடுக்குதல் செய்து செயல்படும் கோப்பாக .exe மாற்றியமைத்து கொள்க இறுதியாக ப்ளூடூத் அல்லது யூஎஸ்பிவாயிலாக இந்த பயன்பாட்டினை நம்முடைய செல்லிடத்து பேசிக்கு பதிவிறக்கம் செய்து பயன்படுத்தி கொள்க

Previous Older Entries