রবিবার, ২৫ জানুয়ারি, ২০১৫

পোস্টটা অনেক আগে লিখছি। অর্ধেকের ও বেশি লিখে রাখছি 18 June, 2012 তারিখে। কিন্তু সম্পুর্ণ করব করব করে ও করা হয় নি। আজ অনেকটা জোর করেই শেষ করার চেষ্টা করছি। কিছু ভুল হলে আমি ক্ষমা পার্থী।  যারা স্মার্টফোন/মোবাইল এপলিকেশন ডেভলপমেন্ট শুরু করতে চান তাদেরকে প্রাথমিক ধারনা দেওয়ার জন্যই এ লেখা। সাথে রয়েছে পোস্ট বড় করার জন্য কিছু হাবিজাবি লেখা অনেক গুলো বানান ভুল, সব কিছুই ফ্রী।
কয়েকদিন আগে [ এখন হবে কয়েক মাস আগে] আমার মাথায় চিন্তা আসল কিভাবে আইফোনের জন্য এপপ্লিকেশন তৈরি করা যায়। এন্ড্রয়েডের জন্য কিভাবে তৈরি করে তা জানতাম। কিন্তু আইফোনের জন্য উইন্ডোজ থেকে কিভাবে তৈরি করব তা জানতাম না। iOS ডেভলপমেন্টের জন্য উইন্ডোজের জন্য কোন অফিশিয়াল SDK নেই। তাই আমার ধারনা ছিল আইওএস এর জন্য এপলিকেশন ডেভলপ করার জন্য একটা ম্যাক এবং অবজেক্টিভ সি ইত্যাদি জানা লাগে। কারন অফিশিয়াল ভাবে যে SDK/টুলস গুলো সাফোর্ট করে সে গুলো শুধু ম্যাকেই চলে। ম্যাক OS কিভাবে আমার পিসিতে ইন্সটল করা যায় তা সার্চ করে বের করার চেষ্টা করলাম। অনেক গুলো পদ্ধতিই রয়েছে। রয়েছে অনেক গুলো টুলস ও। যারা চেষ্টা করতে চান তাদের জন্য নিচের লিঙ্ক। তবে অপ্রাসঙ্গিকঃ
আমার ধারনা ভুল ছিল iOS এর জন্য এপলিকেশন তৈরি করতে অবজেক্টিভ সি বা ম্যাক লাগে না। আর জানা লাগে না কঠিন কোন প্রোগ্রামিং ল্যাঙ্গুয়েজও। HTML, CSS আর JavaScript হলেই আপনি যে কোন স্মার্টফোনের জন্য এপলিকেশন ডেভলপ করতে পারবেন। এবং এটা অনেক সহজেই করতে পারবেন। আর একই কোড সব গুলো স্মার্টফোনেই সাফোর্ট করবে। বানাতে পারবেন 2D/3D গেমসও। আর এ গুলো এপস্টোরে বিক্রির জন্য রেখে দিতে পারবেন, সুন্দর এপলিকেশন বা গেমস হলে ভাগ্য খুলে যেতে পারে।   কি দারুন তাই না? মজার ব্যপার হচ্ছে HTML, CSS আর JavaScript দিয়ে এপলিকেশন তৈরি করার জন্য অনেক গুলো প্রযুক্তি রয়েছে। একটু সার্চ করলেই আপনি ক্লিয়ার হয়ে নিতে পারেন যদি আপনার আগ্রহ থাকে। আমার মূল আকর্ষন ছিল iOS, উইন্ডোজে iOS ডেভলপমেন্টের জন্য নিচের যে কোন একটা বেচে নিতে পারেন যদিও সব গুলো ক্রস প্লাটফরম।
  • Flash iPhone Packager এর সাহায্যে iOS এর জন্য এপলিকেশন ডেভলপের জন্য ভালো একটা মাধ্যম।
  • Airplay SDK – যারা C++ জানেন তাদের জন্য গ্রেট টুলস। এন্ড্রোয়েড এবং আইফোন দুইটার জন্যই। 2D/3D গেমস এবং এপলিকেশন তৈরি করতে পারবেন। শিখতে চাইলে এখানে ঢু মারতে পারেন।
  •  Unity 3D – গেমস তৈরি করার ইঞ্জিন।  সব প্লাটফরমেই সাফোর্ট করবে। ওদের সাইটে চলে যান। টিউটোরিয়াল সহ সব ডিরেকশন পাবেন।
  • Stonetrip S3D – গ্রাফিক্যাল এডিটর সহ 3D গেম ইঞ্জিন। Windows, MacOS, Linux, iPhone, iPad, Android, Palm WebOS  সহ সকল প্লাটফরমের জন্য  applications এবং গেমস তৈরি করার SDK.
  •  Appcelerator Titanium  – ক্রস প্লাটফরম এপলিকেশন তৈরি করার জন্য একটি জনপ্রিয় SDK.
  •  Dragonfire SDK – C এবং C++ দিয়ে iPhone Development এর জন্য SDK. এরকম আরো অনেক গুলো রয়েছে।
 এখানে ভিজিট করুন। আরো এমন আরো ১৩টি প্লাটফরমের সাথে পরিচিত হতে পারবেনঃ  
এখানে রয়েছে ৯টি জাভাস্কিপ্ট লাইব্রেরী সম্পর্কে। যে গুলো দিয়ে আপনি মোবাইল এপলিকেশন ডেভলপমেন্ট শুরু করতে পারবেন।
আমি আজ ফোনগ্যাফ এর সাথে পরিচয় করিয়ে দেব।
আপনার  যদি লক্ষ থাকে, মানে ওয়েব প্রযুক্তি ব্যাবহার করে এপলিকেশন তৈরি করার ইচ্ছে থাকে তাহলে শুরু করতে পারেন উপরের যে কোন একটা দিয়ে। যদি সিদ্ধান্ত হীনতায় ভুগেন তাহলে ফোনগ্যাফ দিয়ে শুরু করতে পারেন। ফোনগ্যাফ এখন এডোবি দেখাশুনা করে। ফোনগ্যাফ এর প্রচারের জন্য এবং ডেভলপারদের আকৃষ্ট করার জন্য অনেক গুলো পদ্ধতি তারা বেচে নিয়েছে তারা এবং বলতে গেলে তাতে সক্ষম ও হয়েছে। Appliness ওয়েব ডেভলপার এবং ওয়েব এপলিকেশন ডেভলপারদের জন্য তাদের একটি ডিজিটাল ম্যাগাজিন। ডাউনলোড করতে পারবেন ফ্রীতে। এ পর্যন্ত অনেক গুলো সংখ্যা বের হয়েছে। সব গুলো পাবেন এখানে।  অনেক গুলো ধারাবাহিক টিউটোরিয়াল রয়েছে যেখানে ফোনগ্যাপ নিয়েও টিউটোরিয়াল রয়েছে। তাই প্রথমটা থেকে পড়া শুরু করুন।
ফোনগ্যাপ জানা থাকলে ডেভলপারদের জন্য কাজের ভালো সুযোগ রয়েছে। কিছু না হোক, নিজের এপলিকেশন নিজেই বিক্রি করতে পারবেন :) তাই চেষ্টা করলে ভালো কিছু বের হবার সম্ভাবনা রয়েছে। আরো মজার ব্যপার হচ্ছে একই এপলিকেশন আপনি পিসি, ম্যাক বা লিনাক্সেও চালাতে পারবেন। মনে হয় এবার একটু এক্সাইটেড, তাই না? ক্রস প্লাটফরম এপলিকেশন।
আপনি যদি একটু আধটু ওয়েব পেইজ তৈরি করতে পারেন [ আপাতত জাভাস্ক্রিট না জানলে ও চলবে] তাহলেই শুরু করতে পারেন।
ওয়েব ডেভলপিং জ্ঞান দিয়ে এন্ড্রোয়েডের জন্য কিভাবে একটি এপলিকেশন তৈরি করবেন আমি তা দেখাচ্ছি। কিন্তু আপনার পছন্দ যদি অন্য মোবাইল প্লাটফরম হয় তাহলে নিচের লিঙ্ক থেকে বেচে নিনঃ
আপনি আবার একই কোড সব গুলোতে রান করাতে পারবেন। কোন প্লাটফরমে রান করাবেন তার SDK টুলস ইমিউলেটর বা হাবিজাবি থাকতে হবে। আর সেরকম কষ্ট না করতে পারলেও সমস্যা নেই। আরো সহজ ভাবে phonegap build এর সাহায্যে একই কোড আপলোড করলে সব গুলো প্ল্যাটফরমে চালানোর মত প্যাকেজ আপনাকে তৈরি করে দিবে। নিচের ছবিটি দেখুনঃ
জিনিসটা আরো দারুন আমি হয়তো ঠিক মত বুঝাতে পারি নি। আপনি দয়াকরে লিঙ্কে গিয়ে দেখে নিন।
এন্ড্রোয়েডের জন্য এপ তৈরি করা দেখাবো বলছিলাম। শুরুতে আপনি হয়তো ভয় পেয়ে যেতে পারেন যে অনেক গুলো ধাপ পার  করতে হবে। তবে প্রথম বারই কষ্ট [ ঠিক মত করতে না পারলে দুই একবার ভুল ও হতে পারে] কিন্তু পরের বার দেখবেন অনেক সহজ যাকে বলে পানির মত সহজ [ আচ্ছা পানি কি সহজ? ]।
ফোনগ্যাপ নতুন ভার্সনটি কমান্ডলাইন বেইজড। এখান থেকে ফোনগ্যাপ/crodova ২.৯ ভার্সনটি ডাউনলোড করতে পারেন। এটা শুধু এন্ড্রয়েডের জন্য। এখানে crodova.jar ফাইলটি আর crodova.js ফাইলটি রয়েছে। এন্ড্রয়েড অ্যাপ ফোনগ্যাফ দিয়ে তৈরি করার জন্য এ দুটি ফাইলই লাগে। ডাউনলোড লিঙ্ক।   ফোনগ্যাফ এর নতুন ভার্সন নিয়ে শীগ্রয়ই একটি পোস্ট লেখার চেষ্টা করব।
 আপনার যদি Android ADT Bundle ডাউনলোড করা না থাকে, তাহলে ডাউনলোড করে নিন। বিস্তারিত জানার জন্য নিচের লিঙ্কটি দেখতে পারেন।
আপনি যদি সাধারন একটি এন্ড্রোয়েড প্রজেক্ট তৈরি করে তা রান করাতে পারেন তাহলে আপনি নিচের অংশ ট্রাই করার জন্য প্রস্তুত। এ অংশ অনেক সহজ। লেখা গুলো বুঝতে অসুবিধে হলে ফোনগ্যাফের সাইটে ইংরেজিতে দেখতে পারেন।
Eclipse এ একটি নতুন এন্ড্রোয়েড প্রজেক্ট খুলুন। প্রজেক্টের একটি নাম দিন। আমি দিলামঃ HelloPhoneGap
Application Name,  Project Name এবং Package Name দিন। কিছু না দিতে চাইলে ডিফল্ট ভেলু রাখুন।
graphic সিলেক্ট করে নেক্সটে ক্লিক করুন এবং Blank Activity তৈরি করে ফিনিস করুন।   ডিফল্ট ভেলু রাখলেই হবে আপাতত।
  • Project Explorer দেখুন। Project   root Folder/Directory তে libs নামে Folder/Directory না থাকলে তৈরি করে নিন।
  • Project root ফোল্ডারে assets নামে যদি ফোল্ডার না থাকে তাহলে assets  ফোল্ডার তৈরি করুন।  এবং  assets এর ভেতর  www নামে আরেকটি ফোল্ডার তৈরি করুন।
  •  ফোনগ্যাপ ডাউনলোড না করলে এবার ডাউনলোড করে নিন। আনজিফ করার পর অনেক গুলো ফাইল পাবেন। এন্ড্রোয়েড ফোল্ডারে প্রবেশ করুন।
  •  cordova-2.9.0.js ফাইলটি assets এর ভেতর থাকা www ফোল্ডারে কপি করে পেস্ট করুন করুন। বা টেনে এনে এখানে  www ফোল্ডারের উপর ছেড়ে দিলেও কপি করে নিতে পারেন।
  • cordova-2.9.0.jar ফাইলটি libs ফোল্ডারে কপি করুন। 
  • প্রজেক্টের root ফোল্ডারে res নামে আরেকটা ফোল্ডার পাবেন। xml ফোল্ডারটি res ফোল্ডারে কপি করুন। সব কিছু ঠিকঠাক মত করতে পারলে Project Explorar নিচের মত দেখাবেঃ
আমরা প্রায় কাজ করে ফেলছি।
  • F5 কী চেপে Eclipse refresh করে নিন।
  • এবার প্রজেক্টের root ফোল্ডারের ভেতরে থাকা src  ফোল্ডার থেকে main Java ফাইলটি এডিট করুন।
  • import org.apache.cordova.*; যুক্ত করুন।
  • class এর extend Activity কে  DroidGap এ রুপান্তরিত করুন।
  • যেমন public class MainActivity extends Activity এর পরিবর্তে public class MainActivity extends DroidGap লিখুন।
  • setContentView() এর জাগায় super.loadUrl(Config.getStartUrl()); লিখুন।
নিচের ছবিটি দেখুনঃ
phonegapURL
  • এবার  AndroidManifest.xml টেক্সট মুডে এডিট করুন। <uses-sdk…/> এবং <application…/> tags এর ভিতরে নিচের কোড গুলো যুক্ত করুনঃ
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<supports-screens
android:largeScreens="true"
android:normalScreens="true"
android:smallScreens="true"
android:resizeable="true"
android:anyDensity="true" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.RECEIVE_SMS" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.BROADCAST_STICKY" />
বুঝতে অসুবিধে হলে নিচের ছবিটি দেখুনঃ 
এবার  assets/www এর ভেতর index.html  নামে নতুন একটি ফাইল তৈরি করুন। এখানে আপনার HTML কোড গুলো লিখুন, শুরু করার জন্যঃ
1
2
3
4
5
6
7
8
9
10
<!DOCTYPE HTML>
<html>
<head>
<title>Cordova</title>
<script type="text/javascript" charset="utf-8" src="cordova-2.0.0.js"></script>
</head>
<body>
<h1>Hello Phonegap</h1>
</body>
</html>
সব কাজ শেষ। এবার রান করার সময় হয়েছে।
Run As > Android Application ক্লিক করুন।
আপনার যদি ইমিউলেটর এড করা থাকে তাহলে আপনি এবার আপনার এপলিকেশন দেখতে পাবেন।
এখানে index.html ফাইলের ভেতর যা থাকবে তাই দেখাবে। সাধারনত একটা html ফাইল ব্রাউজারে দেখায়। কিন্তু এখন এটা একটা এপলিকেশনের মত দেখাচ্ছে। এবার আপনি এ HTML ফাইলে নতুন কিছু এড করুন। আরেকটি HTML ফাইল তৈরি করুন www ফোল্ডারের ভেতর। প্রথমটি থেকে দ্বিতীয়টিতে লিঙ্ক তৈরি করে দিন। দেখবেন একটা সাধারন এপলিকেশনের মত কাজ করে। আপনার যদি HTML5 সম্পর্কে ধারনা থাকে তাহলে সুন্দর সুন্দর কিছু গেমস বা এপলিকেশন তৈরি করতে পারবেন।
সুন্দর ইন্টারফেস এবং ইন্টারেক্টিভিটির জন্য JQUERY MOBILE  বা উপরে দেওয়া লিঙ্ক থেকে যে কোন জাভাস্কিপ্ট লাইব্রেরী ব্যবহার করতে পারেন। ফোনগ্যাফে শেখার কিছু নেই। যা দরকার তা হচ্ছে HTML/CSS and JavaScript. ফোনগ্যাপ এর কিছু API রয়েছে। সে গুলো সম্পর্কে একটু জানতে পারেন। তার জন্য ফোনগ্যাফের ওয়েব সাইটে অনেক ডকুমেন্টেশন পাবেন। আর গুগল তো আছেই। আপনি যদি ফ্রীল্যান্সার হয়ে থাকেন বা ভবিশ্যতে হতে ইচ্ছুক তাহলে এসব নিয়ে একটু ঘাটাঘাটি করতে পারেন। এখন সবাই ওয়েব ডিজাইনার[!], তাই কাজের মান অনেক কমে গেছে। কিন্তু এসব বিষয় নিয়ে মাথা ঘামায়না অনেকেই। এসবের মার্কেটপ্লেস এখনো ভালোই রয়েছে। আর কোন বড় প্রতিষ্ঠানের সাথে যোগ দিতে পারলে তো আর চিন্তা করতে হবে না।
এখানে  EditText, Button এবং TextView এর ছোট্ট একটা উদাহরন দেওয়া হয়েছে। প্রজেক্টটা এখান থেকে ডাউনলোড করা যাবে। 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 android:orientation="vertical"
 android:layout_width="fill_parent"
 android:layout_height="fill_parent">
 
<TextView
 android:layout_width="fill_parent"
 android:layout_height="wrap_content"
 android:text="Enter Something:"
 android:textSize="25sp"
 />
 
<EditText
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:id="@+id/enterdata"/>
 
<Button
android:layout_height="wrap_content"
android:text="Submit"
android:layout_gravity="center"
 android:layout_width="200sp"
 android:textSize="20sp"
 android:id="@+id/submit"/>
 
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="20sp"
android:text="You Entered : "
android:id="@+id/display"/>
</LinearLayout>

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
package com.example.textviewbutton;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
 
public class MainActivity extends Activity {
 EditText name;
 Button submit;
 TextView display;
 @Override
 protected void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.activity_main);
 
 name = (EditText)findViewById(R.id.enterdata);
 display = (TextView)findViewById(R.id.display);
 submit = (Button)findViewById(R.id.submit);
 submit.setOnClickListener(new OnClickListener() {
 
 public void onClick(View v) {
 
 String s = name.getText().toString();
 
 display.setText("You Entered : "+s);
 }
 });
 
}
 
@Override
 public boolean onCreateOptionsMenu(Menu menu) {
 
 getMenuInflater().inflate(R.menu.main, menu);
 return true;
 }
 
}
লেখাটির বিষয় বস্তুঃ
  •  ইনস্টল NodeJS
  •  জাভা এবং PATH environment সেটিংস
  •  adt-bundle এবং PATH environment সেটিংস
  •  Apache Ant ইন্সটলেশন
  •  System Variable এ JAVA_HOME যুক্ত করা
  •  ফোনগ্যাপ ইনস্টলেশন
  •  ফোনগ্যাপ দিয়ে প্রজেক্ট তৈরি
  •  Eclipse এ কমান্ডলাইন দিয়ে তৈরি কৃত প্রজেক্ট খোলা
  •  ইমিউলেটর / ডিভাইসে এন্ড্রয়েড অ্যাপ রান করা
  •  প্রয়োজনীয় লিঙ্কস
ইনস্টল NodeJS
ফোনগ্যাপ নতুন ভার্সন গুলো ইনস্টল করার জন্য  NodeJS  ইনস্টল থাকা আবশ্যক।  http://nodejs.org/ এ গিয়ে NodeJS  ইনস্টলার ডাউনলোড করে তারপর ইনস্টল করে নিলেই হবে। ফোনগ্যাপ কি, কেন  ইত্যাদি প্রাথমিক ধারনয়ার জন্য নিচের লেখাটি দেখা যেতে পারে।
জাভা এবং PATH environment সেটিংস
আমাদের কম্পিউটারে  অ্যান্ড্রয়েড adt-bundle এবং Java Platform (JDK) ইনস্টল থাকতে হবে।
জাভা ইন্সটলের পর আমাদের PATH environment পরিবর্তন করতে হবে। জাভা যে ফোল্ডারে ইনস্টল হয়েছে, সাধারনত C ড্রাইভে ইনস্টল হয়। জাভা ফোল্ডারের ভেতর jdk1.x.x নামক  ফোল্ডার  এবং এর ভেতর bin নামক একটি ফোল্ডার পাওয়া যাবে। ঐ ফোল্ডারের ভেতর ঢুকে এড্রেস বার থেকে এড্রেসটা কপি করে নিতে হবে। address bar পুরো এড্রেসটা হবে এরকমঃ C:\Program Files Java\jdk1.7.0\bin এবার PATH environment পরিবর্তন করার জন্য My Computer এর উপর রাইট ক্লিক করে Propertise > Advance System Settings >> Advanced Tab এ গিয়ে নিচের দিক থেকে Environment Variable এ ক্লিক করতে হবে। path variable User Variable for xx  থেকে PATH এ ক্লিক করে Edit করতে হবে। ঐখানে যদি আগের কিছু থাকে তাহলে শেষে একটা সেমিকোলন দিয়ে (;) দিয়ে Java bin ফোল্ডারের এড্রেসটা [C:\Program Files Java\jdk1.7.0\bin] দিতে হবে। এবার ok দিয়ে বের হয়ে আসতে হবে।
adt-bundle এবং PATH environment সেটিংস
adt-bundle এর জন্য এখানে গিয়ে  Download the SDK তে ক্লিক করে ডাউনলোড করতে হবে। তারপর ঐ ফাইল যে কোন জাগায় এক্সট্রাক্ট/unzip করলেই কাজ করার জন্য রেডি হয়ে যাবে। মনে করি আমরা ফাইল গুলো এক্সট্রাক্ট করলাম C ড্রাইভের Android নামক একটা ফোল্ডারে। ফোনগ্যাপ কমান্ডলাইনের জন্য আমাদের SDK’s tools  এবং  platform-tools এর ডিরেক্টরি গুলো PATH environment এ যুক্ত করতে হবে। যদি আপনি Android adt bundle সি ড্রাইভের Android ফোল্ডারে এক্সট্রাক্ট করে থাকেন, তাহলে নিচের মত হবে SDK’s tools  এবং  platform-tools এর ডিরেক্টরি। ;C:\Android\adt-bundle\sdk\platform-tools ;C:\Android\adt-bundle\sdk\tools এগুলো Java bin এর মত একই ভাবে PATH environment এ যুক্ত করতে হবে। বিদ্রঃ একই লাইনে একাদিক  PATH environment  যুক্ত করার জন্য একটার সাথে আরেকটার পার্থক্যের জন্য সেমিকোলন ব্যবহার করা হয়।
Apache Ant ইন্সটলেশন
এর পর আমাদের Apache Ant ইনস্টল করতে হবে।
নিচের দিকে .zip archive: apache-ant-1.9.3-bin.zip এমন একটি ফাইল পাওয়া যাবে। ডাউনলোড করে এক্সট্রাক্ট করে ফাইল গুলো যে কোন ড্রাইভে রাখতে হবে। আমি c ড্রাইভেই রেখে দিয়েছি। এবং rename করে ant নাম দিয়েছি। ant এর ও PATH environment যুক্ত করতে হবে। এবং যদি আপনি ও ant আমার মত c ড্রাইভের ভেতর ant ফোল্ডারে রেখে থাকেন, তাহলে তার bin ফোল্ডারের এড্রেস হবেঃ C:\ant\bin এটিও PATH environment এ যুক্ত করতে হবে। এ পর্যন্ত আমরা যে কয়টি PATH environment যুক্ত করেছিঃ C:\Program Files (x86)\Java\jdk1.7.0\bin; C:\Program Files (x86)\Java\jre7; H:\AndroidADT\sdk\platform-tools; H:\AndroidADT\sdk\tools; C:\ant\bin
System Variable এ JAVA_HOME যুক্ত করা
এগুলো  সব গুলো ছিল User Variable. আমাদের আরেকটি Variable যুক্ত করতে হবে, আর তা যুক্ত করতে হবে System Variable এ। এটি হচ্ছে jre ফোল্ডারের এড্রেস। যা Java ফোল্ডারের ভেতরেই থাকে। System Variable থেকে New তে ক্লিক করতে হবে। এরপর Variable Name এ দিতে হবেঃ JAVA_HOME Variable Value তে দিতে হবে jre ফোল্ডারটির এড্রেস। যেমন আমার jre ফোল্ডারের এড্রেসঃ C:\Program Files (x86)\Java\jre7 system variable PATH environment সেট করার পর একবার কম্পিউটার রিস্টার্ট করে নেওয়া যেতে পারে সব কিছু ঠিক মত কাজ করার জন্য।
ফোনগ্যাপ ইনস্টলেশন
এবার ফোনগ্যাপ ইনস্টল করতে পারি আমরা। তার জন্য  জন্য cmd/Command Prompt ওপেন করতে হবে। Run এ গিয়ে cmd লিখলেই চলে আসবে। বা Windows Program থেকেও ওপেন করা যেতে পারে। ওপেন করার পর লিখবঃ npm install -g phonegap এরপর ইন্টার করলে ফোনগ্যাপ ইনস্টল হবে। ইনস্টল হয়ে যাওয়ার পর আমরা C ড্রাইভে আরেকটি ফোল্ডার করব যেখানে আমরা আমাদের ফোনগ্যাফ প্রজেক্ট গুলো তৈরি করব কমান্ড লাইন এর মাধ্যমে। অন্য যে কোন ড্রাইভেই রাখা যেতে পারে,  আপাতত সহজ এর জন্য আমরা c ড্রাইভে phonegap নামক একটি ফোল্ডার তৈরি করব। এবার cmd/Command Prompt ওপেন করব। command prompt Command Prompt সব সময় C:\Users\username ফোল্ডারে ওপেন হয়। আমরা ফোল্ডারটি পরিবর্তন করে কিছুক্ষন আগে তৈরি করা phonegap ফোল্ডারে আসব। তার জন্য cd\ লিখলে প্রথমে C ড্রাইভে যাবে। এর পর লিখব:  cd phonegap এখন আমরা ফোনগ্যাপ দিয়ে প্রজেক্ট তৈরি করার জন্য প্রস্তুত।
ফোনগ্যাপ দিয়ে প্রজেক্ট তৈরি
নতুন প্রজেক্ট তৈরি করার জন্য লিখতে হবেঃ phonegap create hello com.example.hello “HelloWorld” বিদ্রঃ যদি কমান্ড পুরোটা লিখতে সমস্যা হয়, তাহলে কপি করে কমান্ডলাইনে গিয়ে  রাইট ক্লিক করে পেস্ট করা যাবে। উপরে আমরা কি কি লিখছি তা একটু বিস্তারিত জানা যাক। phonegap create এর পর লিখছি hello এটি phonegap ফোল্ডারে আরেকটি নতুন ফোল্ডার তৈরি করবে। com.example.hello এটি হচ্ছে domain-style identifier।এর পরে হচ্ছে প্রজেক্টের নাম। এ দুইটা অপশনাল। এবং এগুলো পরে পরিবর্তন করা যাবে config.xml ফাইল থেকে। এখন যদি আমরা C ড্রাইভের phonegap ফোল্ডারে দেখি, তাহলে দেখতে পাবো একটি ফোল্ডার তৈরি হয়েছে hello নামে, এবং ভেতরে আরো অনেক গুলো ফাইল/ফোল্ডার। যেগুলো ফোনগ্যাপ আমাদের জন্য তৈরি করেছে। এখন আমাদের প্রজেক্টে অ্যান্ড্রয়েড যুক্ত করতে হবে, যাকে বলে Add Platform। এ জন্য আমাদের কমান্ডলাইনে hello ফোল্ডারে ন্যাভিগেট করতে হবে। তার জন্য লিখব cd hello hello ফোল্ডারে ন্যাভিগেটের পর লিখব phonegap  platform add android যা আমাদের প্রজেক্টে অ্যান্ড্রয়েড যুক্ত করবে। আমরা চাইলে অন্য প্লাটফরম, যেমন উইন্ডোজ ফোন, উইন্ডোজ ৮ ইত্যাদি পাল্টফরম ও যুক্ত করতে পারি এবং ঐসবের জন্যও অ্যাপ তৈরি করতে পারি। আপাতত আমরা শুধু এন্ড্রয়েডের জন্যই দেখব। এর পর কমান্ড লাইনে লিখবঃ phonegap build   আমাদের build করলে যদি কম্পিউটারের সাথে কোন অ্যান্ড্রয়েড ফোন কানেকটেড থাকে, তাহলে তা ঐ ফোনে ইনস্টল হবে।
Eclipse এ কমান্ডলাইন দিয়ে তৈরি কৃত প্রজেক্ট খোলা
এখন আমরা ইচ্ছে করলে এ প্রজেক্টটি এবার Eclipse এ ইম্পোর্ট করে ইচ্ছে মত মডিফাই করতে পারি। Eclipse অ্যান্ড্রয়েড Adt Bundle এর ভেতরেই থাকে। যা আমরা রেখেছিলাম C ড্রাইভে Android নামক ফোল্ডারে। এখানে গিয়ে eclipse ফোল্ডারের ভেতর থেকে Eclipse.exe রান করানো যাবে। প্রজেক্টটি  Eclipse  এ ইম্পোর্ট করার  জন্য Eclipse এর New তে ক্লিক করতে হবে। new project এর পর Android Project from Existing Code এ ক্লিক করে Next এ ক্লিক করত হবে। এবার Browse এ ক্লিক করে C >> phonegap >> hello তে ন্যাভিগেট করতে হবে এবং ok দিতে হবে। new project import এবং শেষে Finish এ ক্লিক করলে প্রজেক্টটি Eclipse এ খুলবে। imported project
ইমিউলেটর / ডিভাইসে এন্ড্রয়েড অ্যাপ রান করা
এবার আমরা প্রজেক্টটি রান করানোর জন্য প্রস্তুত। তার জন্য প্রথমে একটি ইমিউলেটর তৈরি করে নিব, বা আগের তৈরি থাকলে সরাসরি প্রজেক্টটি রান করাবো। তাহলে ইমিউলেটরে আমাদের সদ্য তৈরি করা এন্ড্রয়েড অ্যাপটি দেখাবে। ইমিউলেটর তৈরি এবং অ্যান্ড্রয়েড নিয়ে প্রাথমিক বিষয় গুলো জানার জন্য নিচের লেখাটি দেখা যেতে পারে।
সবার হাতেই এখন একটি মোবাইল দেখা যায়। যার বেশির ভাগই এখন স্মার্টফোন। সত্যিকারেই পৃথিবীটা ছোট হতে হতে হাতের মুঠোয় চলে আসছে। যা সম্ভব হয়েছে এ মোবাইল দিয়েই।
যারা টেকনিক্যাল কাজ করে, তাদেরই বেশিরভাগ সময় কম্পিউটারের সামনে বসে থাকতে হয়। কিন্তু অন্যদের চারদিকে ছুটতে হয়। দরকার বহন যোগ্য কম্পিউটার। তৈরি হয়েছে ল্যাপটপ। কিন্তু বহন করতে সমস্যা এবং পাওয়ারের সমস্যার কারণে দরকার হয়েছে এমন একটা ডিভাইস, যা সব সময় সাথে নিয়ে ঘুরা যাবে। সারাক্ষণ পাওয়ার থাকবে। দরকারী সব কাজ করা যাবে।
তৈরি হয়েছে স্মার্টফোন গুলো। দিন দিন এর ব্যবহার সংখ্যা বেড়েই চলছে। মানুষ এখন সবচেয়ে বেশি সময় ব্যয় করে স্মার্টফোনের পেছনে। দরকার প্রয়োজনীয় অ্যাপ। নতুন নতুন ক্রিয়েটিভ অ্যাপ।
বর্তমান সময়ে মোবাইল অ্যাপ ডেভেলপমেন্ট ইন্ড্রাস্ট্রি সবচেয়ে লাভজনক ইন্ড্রাস্ট্রি। এর আগে ছিল কম্পিউটার সফটওয়ার এবং ওয়েব ডেভেলপমেন্ট। এ স্থান দুটি দখল করে নিচ্ছে মোবাইল অ্যাপ। এছাড়া আগের সফটওয়ার এবং ওয়েবসাইট গুলো প্রত্যেকটির এখন একটি করে মোবাইল অ্যাপ পাওয়া যাচ্ছে। জব মার্কেটেও অনেক পোস্ট খালি রয়েছে। দরকার স্ক্লিড ডেভেলপার।
জনপ্রিয় একটি অ্যাপ তৈরি করতে পারলে সারা জীবন আর কিছু করতে হবে না। মানে আর্নিং এর কোন চিন্তা করতে হবে না। অন্য কোন ক্রিয়েটিভ কোন কাজে নিজের সময় গুলো কাজে লাগানো যাবে।
যারা অ্যাপ ডেভেলপমেন্টকে নিজের ক্যারিয়ার হিসেবে নিতে চায় তাদের ভবিশ্যৎ তো উজ্জ্বল তার পাশা পাশি  যারা সখের বসে করতে চায় তাদের জন্যও দারুন একটা ক্ষেত্র। কারণ মোবাইল অ্যাপ গুলো থেকে একটা প্যাসিভ ইনকাম সহজেই তৈরি করা যায়। যা থেকে নিজের প্রধান সেলারি বা আয় এর পাশা পাশি একটা বাড়তি ইনকাম করা যায়।
এতক্ষন তো আয় বা টাকার কথাই বলছি। মোবাইল অ্যাপ ডেভেলপমেন্ট কি সন্মানের কাজ নয়? মানে প্রোগ্রামিং কি সন্মানের নয় কি?? এখনকার দিনে একজন প্রোগ্রামারকে তো সবাই সন্মানের চোখেই দেখে, তাই না??
জিনিস গুলো যথেষ্ট ক্রিয়েটিভ। যারা জীবন এ বিষয় গুলো নিয়ে পড়ে থাকা যাবে। কোন বোরনেস আসবে না। দিন দিন নতুন কিছু জানা যাবে।
এতক্ষন তো অনেক কিছুই  লিখলাম। মোবাইল অ্যাপ ডেভেলপমেন্ট করতে গেলে কি করতে হবে তাই তো?
অ্যাপলিকেশন ডেভেলপমেন্টের জন্য জানতে হবে কিভাবে অ্যাপ গুলো তৈরি করে। তবে তার আগে জানতে হবে কোন প্লাটফরমের জন্য অ্যাপ তৈরি করবে তা ঠিক করা।
অনেক গুলো মোবাইল ওএস রয়েছে, যেমন iOS, Android, Windows Phone ইত্যাদি। এ গুলো এক একটার জন্য এক এক ধরনের ডিভাইস লাগে। তেমনি এগুলোর জন্য অ্যাপ তৈরি করার জন্য লাগে ভিন্ন ধরণের প্রোগ্রামিং ল্যাঙ্গুয়েজ। যেমন iOS এর জন্য অ্যাপ তৈরি করতে জানা লাগে Object C, Android এর জন্য অ্যাপ তৈরি করতে জানা লাগে Java, Windows Phone এর জন্য C# .  নিজ নিজ প্লাটফরমের প্রোগ্রামিং ল্যাগুয়েজ ব্যবহার করে তৈরি কৃত অ্যাপ গুলোকে ন্যাটিভ অ্যাপ বলে। ন্যাটিভ অ্যাপ গুলো তৈরি করার জন্য সব গুলো প্লাটফরমের নিজস্ব integrated development environment [IDE] রয়েছে। ঐ IDE ব্যবহার করে তৈরি করতে হয় অ্যাপ গুলো। অ্যাপ গুলো তৈরি করার পর ঠিক মত কাজ করছে কিনা, তার জন্য IDE এর সাথে রয়েছে ভার্চুয়াল ডিভাইস। যাদের বলে ইমিউলেটর। যেমন এন্ড্রয়েড কেউ যদি অ্যান্ড্রয়েড  এর জন্য একটি অ্যাপ তৈরি করে, যদি ডেভেলপারের অ্যান্ড্রয়েড ডিভাইস নাও থাকে, তাহলে সে ইমিউলেটরে তৈরিকৃত অ্যাপটি টেস্ট করে নিতে পারবে।  যা সত্যিকারের ডিভাইসের মত কাজ করে।
নিচের ছবিটি দেখুনঃ
different mobile platform and there language

এখানে জনপ্রিয় মোবাইল ওএস গুলোর জন্য অ্যাপ তৈরি করতে কি কি ল্যাঙ্গুয়েজ লাগে তা, কি কি টুলস লাগে সে গুলো এবং অন্যান্য তথ্যের চার্ট রয়েছে।
ন্যাটিভ অ্যাপ এর পাশাপাশি আরেক ভাবেও অ্যাপ তৈরি করা যায়। যাকে বলে ক্রস প্লাটফরম অ্যাপ। আর যা মূলত HTML5, CSS, JavaScript ব্যবহার করে তৈরি করা হয়। এ অ্যাপ গুলোর সুবিধে হচ্ছে সব গুলো প্লাটফরমেই অ্যাপ গুলো চলে। সুবিধে যেমন আছে, আছে অসুবিধেও। এগুলো ন্যাটিভ অ্যাপ এর তুলোনায় একটু স্লো।
HTML5 বা ওয়েব টেকনলজি দিয়ে অ্যাপ তৈরি করার জন্য জানতে হয় HTML, CSS এবং JavaScript. HTML5 অ্যাপ তৈরি করা শিখাটা তুলনা মূলক সহজ। আবার সব গুলো মোবাইল প্লাটফরমে এসব অ্যাপ গুলো চলার কারনে এ ধরনের অ্যাপের সংখ্যা ও বেশি। দিন দিন এ ধরনের অ্যাপ এর সংখ্যা বৃদ্ধি হওয়ার  কারণে মোবাইল অপারেটিং সিস্টেম গুলো এ ধরনের অ্যাপ যেন আর দ্রুত কাজ করে, সে নিয়ে কাজ করে যাচ্ছে।
আবার মজার ব্যপার হচ্ছে ফায়ার ফক্স অপারেটিং সিস্টেম পুরোটাই এ ওয়েব টেকনলজি দিয়ে তৈরি। তাই কেউ চাইলে সহজেই ওয়েব টেকনলজি দিয়ে মোবাইল অ্যাপলিকেশন শুরু করতে পারে।
Mobile Framework
ক্রসপ্লাটফরম অ্যাপ ফ্রেমওয়ার্ক
দুই ধরনের অ্যাপ সম্পর্কে জানলাম আমরা। একটা হচ্ছে ন্যাটিভ আরেকটি হচ্ছে HTML5 বা ওয়েব টেকনলজি। ন্যাটিভ এবং ওয়েবটেকনলজি এক সাথে ব্যবহার করেও অ্যাপ তৈরি করা যায়। ঐ ধরনের অ্যাপ গুলোকে বলে হাইব্রিড অ্যাপ।
আপনার আগের ওয়েব ডেভেলপমেন্ট স্কিল থাকলে আমি বলব ওয়েবটেকনলজি দিয়ে কাজ শুরু করতে। আগে জ্ঞান গুলো খুব সুন্দর ভাবে কাজে লাগানো যাবে। তারপর আস্তে আস্তে ন্যাটিভ অ্যাপ ডেভেলপমেন্ট শুরু করা যাবে।
আর যদি মোবাইল অ্যাপ ডেভেলপমেন্ট প্রথম থেকেই শুরু করতে চান তাহলে বলব ন্যাটিভ অ্যাপ ডেভেলপমেন্ট দিয়ে শুরু করতে। দারুন লাগবে। অনেক গুলো মোবাইল অপারেটিং সিস্টেম রয়েছে। অনেকেরই প্রশ্ন কোন প্লাটফরমের জন্য অ্যাপ তৈরি করা শিখব। আমি বলব যে কোন একটা। একটা শুরু করলেই অন্য গুলো সম্পর্কে ধারণা তৈরি হবে। পরে ইচ্ছে মত প্লাটফরম পরিবর্তন করা যাবে। প্রোগামিং ল্যাঙ্গুয়েজ গুলো প্রায় সব গুলোই একই রকম। সব গুলোই লজিকের উপর কাজ করে। একটা ল্যাঙ্গুয়েজে লজিকটা এক ভাবে লিখতে হয়, এই যা। যে কেউ লজিক বুঝলে যে কোন ল্যাঙ্গুয়েজেই তা লিখতে পারে। তাই কোন প্লাটফরম দিয়ে শুরু করব এ প্রশ্নের পেছনে সময় না ব্যয় করে একটা দিয়ে শুরু করলেই হয়।
সবার আগে আপনার যা লাগবে তা হচ্ছে একটা গুগল একাউণ্ট। বা Gmail একাউণ্ট।
একাউন্ট থাকলে ভালো, না থাকলে একটা খুলে নিতে পারে।
এরপর https://play.google.com/apps/publish/ লিঙ্কে গিয়ে লগিন করুন। আগে গুগল একাউন্টে লগিন করা থাকলে আর লগিন করতে হবে না। সরাসরি নিচের মত পেইজে নিয়ে যাবেঃ
google play dev account

এখানে Agreement এ ক্লিক করে Continue to Payment এ ক্লিক করলে পরের পেইজে নিয়ে যাবে।
এরপর আপনি নিচের মত একটা পপ আপ  পাবেন। Start Now তে ক্লিক করুন।
google wallet signup

আরেকটা পেইজ খুলবে বা একই ট্যাবে নিচের মত একটা ফরম পাবেন। এখানেই আপনি কার্ড ইনফরমেশন গুলো যুক্ত করতে হবেঃ
google wallet card submit

আপনি গুগল ওয়ালেটের মাধ্যমে ২৫ ডলার পে করার জন্য বলবে। তার জন্য গুগল ওয়ালেটে একটা কার্ড যুক্ত করতে হবে।
যে কোন কার্ড হলেই হবে, মাস্টারকার্ড, ভিসা কার্ড, অ্যামেরিকান এক্সপ্রেস ইত্যাদি। কারো যদি পেওনিয়ার মাস্টার কার্ড থাকে, তা দিয়েও কাজ হবে। নিজের কার্ড থাকতে হবে, এমন ও না। অন্য পরিচিত কারো কার্ড ও ব্যবহার করা যাবে।
বিদ্রঃ বাংলাদেশ থেকে ইস্যু কৃত হলে সাধারনত কার্ড দিয়ে ইন্টারনেটে পেমেন্ট অপশনটি বন্ধ থাকে। তা ব্যাংকে যোগাযোগ করে কয়েক দিনের জন্য ইন্টারনেটে পেমেন্ট দেওয়ার জন্য ওপেন করা যায়। 
কার্ড নাম্বার, কার্ডের মেয়াদ উত্তির্ণ তারিখ এবং ৩/৪ ডিজিটের কোড। এগুলো দেওয়ার পর Accept and Continue করলে আপনাকে গুগল প্লে ডেভেলপার কনসোলে নিয়ে যাবে। যেখানে আপনি অ্যাপ আপলোড করতে পারবেন। আপনার কার্ডে মিনিমাম ২৮ ডলার থাকতে হবে। গুগল ওয়ালেট একাউণ্ট খোলার সময় কার্ড ভেরিফিকেশনের জন্য ছোট ছোট দুইটা এমাউন্ট কেটে নেয় গুগল। পরে যে গুলো আবার আপনার কার্ডে পাঠিয়ে দেওয়া হয়।
পেমেন্ট কনফারমেশন এর জন্য ২৪ ঘন্টা সময় নেয়। যদিও আপনি পেমেন্ট করার পর পরই গুগল প্লে স্টোর ডেভেলপার কনসোলে অ্যাপ আপলোড করা শুরু করতে পারবেন।

ডেভেলপার কনসোল দেখতে নিচের মত।
google play developer console.
এখানে Add New Application এ ক্লিক করে নতুন অ্যাপ আপলোড করতে পারবেন।  Add New Application  এ ক্লিক করলে একটা পপ আপ ওপেন হবে। নিচের মতঃ
add new appঅ্যাপ এর Title / Name দিয়ে Upload APK তে ক্লিক করলে আপনার এক্সপোর্ট করা APK ফাইলটি আপলোড করতে পারবেন। বা Prepare Store Listing এ ক্লিক করে অ্যাপ এর বিভিন্ন তথ্য আগে সেভ করে রাখতে পারবে। সকল তথ্য ঠিক মত দেওয়া হলে ডান কোনায় লেখা উঠবে Ready To Publish , এখানে কিক্ল করলেই অ্যাপটি গুগল ভ্যারিফাই করে প্লে স্টোরে এপ্রুভ করে দিবে। সাধারনত ৪-৫ ঘন্টার মধ্যেই অ্যাপটি গুগল রিভিউ করে প্লে স্টোরে এপ্রুভ করে।
সবার জন্য শুভ কামনা :)

 ভুল ধারনা গুলোঃ
প্লে স্টোরে অ্যাপ আপলোড করলেই টাকা জমা হতে শুরু হবে! না, এমন না। প্লে স্টোরে আপনি বাংলাদেশ থেকে শুধু মাত্র ফ্রি অ্যাপ আপলোড করতে পারবে। আর ফ্রি অ্যাপ থেকে কোন রেভিনিউ আসবে না। ফ্রি অ্যাপ বিভিন্ন ভাবে মানিটাইজ করা যায়। যেমন অ্যাড দিয়ে। আপনি অ্যাপে অ্যাড দিলে আপনার যে খান থেকে অ্যাড দিবেন, যেমন AdMob, InMobi, MobFox সহ আরো অনেক।  ঐ একাউণ্টে আপনার রেভিনিউ জমা হবে। গুগলের ডেভেলপার একাউণ্টে না।
যে কার্ড দিয়ে আপনি একাউন্ট খুলবেন, ঐ একাউণ্টেও টাকা জমা হবে না। যদি অ্যাড দিয়ে থাকেন, ঐ একাউন্ট থেকে পরে টাকাটা ব্যাংকে বা অন্য যে কোন মাধ্যমে আনতে পারবেন।

কমন প্রশ্নঃ
বাংলাদেশ থেকে কি পেইড অ্যাপ সাবমিট করা যায়?
সংক্ষিপ্ত উত্তর না।
কিন্তু আপনি চাইলে বুদ্ধি খাটিয়ে সাবমিট করতে পারেন। তবে তার জন্য বিদেশে যে সব দেশ সাপোর্ট করে, সে সব দেশ থেকে আপনার ফ্রেন্ড বা ফ্যামিলির কারো হেল্প নিতে হবে। তাদের দিয়ে একাউন্ট খুলিয়ে নিয়ে তারপর আপনি বাংলাদেশ না, যে কোন দেশ থেকেই পেইড অ্যাপ সাবমিট করতে পারবেন।
বাংলাদেশ থেকে পেইড অ্যাপ সাবমিট করা যায় না, কারণ বাংলাদেশ থেকে গুগল মারচেন্ট একাউন্ট খোলা যায় না। মারচেন্ট একাউন্ট ছাড়া আপনার অ্যাপ বিক্রি করার পর টাকা জমার কোন ব্যবস্থা নেই।  তাই।
অনেকেই গুগল প্লেস্টোরে ডেভেলপার একাউন্ট খুলতে পারে না। কারন ভিসা বা মাস্টারকার্ড নেই। যারা খুলতে পারে, তাদের হয়তো ভিসা বা মাস্টার কার্ড রয়েছে। কিন্তু বাংলাদেশের মাস্টার কার্ড বা ভিসা ডেভিড কার্ড গুলো দিয়ে অনলাইনে ডলারে ট্রানজিকশন করা যায় না।
শুধু মাত্র ক্রেডিট কার্ড / ভিসা বা মাস্টারকার্ড যে কোন ক্রেডিট কার্ড দিয়েই অনলাইনে ডলারে ট্রানজিকশন করা যায়। তাই যাদের নরমাল ডেভিড ভিসা বা মাস্টার কার্ড রয়েছে, তারা একাউন্ট খুলতে পারবেন না।
অনেকেরই পেওনিয়ার কার্ড রয়েছে, পেওনিয়ার মাস্টার কার্ড দিয়েও প্লেস্টোরে ডেভ একাউন্ট খোলা যায়।
যাদের পেওনিয়ার কার্ড ও নেই, তারা কি করবেন?
তাদের জন্যও সুন্দর উয়ায় রয়েছে। neteller সুন্দর একটা সাপোর্ট দিয়ে আসছে। নেটেলার দিয়ে অনলাইনে সুন্দর ভাবে পেমেন্ট করা যায়। ভার্সুয়ালি যে কোন কার্ড, মাস্টার, ভিসা, এমেরিকান এক্সপ্রেস ইত্যাদি কার্ড নেওয়া যাবে। এপ্লাই করলে রিয়েল কার্ড ও ঠিকানায় পাঠিয়ে দেয়। তবে আমাদের সত্যিকারের কার্ড দরকার নেই।
আমরা একটি ভার্সুয়াল কার্ড নিব নেটেলারের কাছ থেকে। তা দিয়েই গুগলের ডেভ একাউন্ট খোলা যাবে।
neteller logo
www.neteller.com/ এ গিয়ে একাউন্ট খুলে নিন। আশা করি বিস্তারিত লিখতে হবে না। তারপর ও যদি সমস্যা হয়, তাহলে এ লিঙ্কে গিয়ে বিস্তারিত দেখে নিতে পারেন।
Secure ID নামে একটা নাম্বার পাবেন, ঐটা কোথাও সেভ করে রাখুন।

ইমেইল ভেরিফিকেশন করে নিন। এরপর একাউন্টে প্রবেশ করুন।
নেটেলারের ভার্সুয়াল কার্ড ওপেন করার জন্য বাম পাশ থেকে Net+ Cards এ ক্লিক করুন।
neteller cards

ঐখান থেকে Add a Virtual Card এ ক্লিক করে একটি কার্ড তৈরি করুন। ভিসা বা মাস্টার কার্ড যে কোন কিছু সিলেক্ট করুন। আপনার নাম দিন। তারপর কার্ডের তথ্য গুলো সেভ করে রাখুন। এগুলো দিয়েই আমারা ডেভ একাউন্ট খুলতে পারব। চারটি জিনিস দরকার হবে। এ সব গুলোই আপনি ভার্সুয়াল কার্ড তৈরি করলে পাবেন। যেমনঃ
Cardholder Name: Your Name
Card Name: 5005 9155 5414 1111
CVC: 008
EXP: 2/20
গুগল প্লে স্টোরে পেমেন্ট দেওয়ার সময় এ তথ্য গুলোই আপনার কাছে চাইবে।
এবার প্রশ্ন, কিভাবে নেটেলারে ডলার নিবেন তাই তো?
ফেসবুকে অনেক গুলো Buy & Sell Dollar  গ্রুপ রয়েছে। আপনি যে কোন একটা থেকে হেল্প নিন। দেখবেন অনেকেই Neteller ডলার বিক্রি করবে, আপনি তাদের কারো সাথে যোগাযোগ করুন। বলেন আপনাকে ডলার দিলে আপনি টাকা দিয়ে দিবেন। এরপর আপনার ইমেল দিন। আপনার আইডিতে সাথে সাথেই ডলার চলে আসবে। আর তারপর ই আপনি গুগল ডেভ একাউন্টের জন্য পেমেন্ট করতে পারবেন।
ফেসবুকে Buy & Sell Dollar নামে অনেক গুলো গ্রুপ রয়েছে। অনেকেই আবার প্রতারণার শিকার হচ্ছে। তাই সথাসম্ভব পতারণা থেকে নিজেকে সতর্ক রাখা জরুরী। ভালো হয় সরাসরী দেখা করে আপনি ডলার কিনুন। অথবা পরিচিত কারো রেফারেলে কিনুন। অথবা আগে আপনি ডলার পেয়ে শিউর হয়ে তারপর টাকা পাঠাবেন। নিজে প্রতারণা না করি, অন্যের প্রতারণার শিকার না হই। 

ডেভ একাউন্ট খুলতে ২৫ ডলার লাগে। প্রথমে একটা টেস্ট ট্রানজিকশন করা হয়। তার জন্য ১ ডলার বা এমন কেটে নেয়। পরে যদিও তা ফেরত দেয়। তাই আপনার একাউন্টে ২৮ ডলার বা তার বেশি থাকা জরুরী।
ভার্সুয়াল ডিভাইস তৈরি করতে গেলে  no system images installed for this target সমস্যা দেখালে বুঝতে হবে system images ইন্সটল করা হয় নি। system images ইন্সটল করার জন্য Android SDK ম্যানেজার ওপেন করে সিস্টেম ইমেজ ইন্সটল করে নিলেই এ সমস্যা সমাধান হবে।
Android Adt bundle যেখানে রয়েছে, সেখানে SDK Manager.exe নামে একটা ফাইল পাবেন। ঐটা ওপেন করুরলে নিচের মত SDK Manager ওপেন হবে। নিচের ইমেজের মত Intel x86 Atom System Image এর চেক বক্স সিলেক্ট করে ইনস্টল করতে হবে।
System Image

ইন্সটল হয়ে গেলে একবার Eclipse রিস্টার্ট করে নিতে হতে পারে।
প্লে স্টোরে অ্যাপ আপলোড করলেই টাকা জমা হতে শুরু হবে! না, এমন না। প্লে স্টোরে আপনি বাংলাদেশ থেকে শুধু মাত্র ফ্রি অ্যাপ আপলোড করতে পারবে। আর ফ্রি অ্যাপ থেকে কোন রেভিনিউ আসবে না। ফ্রি অ্যাপ বিভিন্ন ভাবে মানিটাইজ করা যায়। যেমন অ্যাড দিয়ে। আপনি অ্যাপে অ্যাড দিলে আপনার যে খান থেকে অ্যাড দিবেন, যেমন AdMob, InMobi, MobFox সহ আরো অনেক।  ঐ একাউণ্টে আপনার রেভিনিউ জমা হবে। গুগলের ডেভেলপার একাউণ্টে না।
যে কার্ড দিয়ে আপনি একাউন্ট খুলবেন, ঐ একাউণ্টেও টাকা জমা হবে না। যদি অ্যাড দিয়ে থাকেন, ঐ একাউন্ট থেকে পরে টাকাটা ব্যাংকে বা অন্য যে কোন মাধ্যমে আনতে পারবেন।

কমন প্রশ্নঃ
বাংলাদেশ থেকে কি পেইড অ্যাপ সাবমিট করা যায়?
সংক্ষিপ্ত উত্তর না।
কিন্তু আপনি চাইলে বুদ্ধি খাটিয়ে সাবমিট করতে পারেন। তবে তার জন্য বিদেশে যে সব দেশ সাপোর্ট করে, সে সব দেশ থেকে আপনার ফ্রেন্ড বা ফ্যামিলির কারো হেল্প নিতে হবে। তাদের দিয়ে একাউন্ট খুলিয়ে নিয়ে তারপর আপনি বাংলাদেশ না, যে কোন দেশ থেকেই পেইড অ্যাপ সাবমিট করতে পারবেন।
বাংলাদেশ থেকে পেইড অ্যাপ সাবমিট করা যায় না, কারণ বাংলাদেশ থেকে গুগল মারচেন্ট একাউন্ট খোলা যায় না। মারচেন্ট একাউন্ট ছাড়া আপনার অ্যাপ বিক্রি করার পর টাকা জমার কোন ব্যবস্থা নেই।
অ্যান্ড্রয়েড অ্যাপ টেস্টিং এর জন্য ইমিলেটর তৈরি করার সময় একটা কমন সমস্যা হচ্ছে OK  বাটন ডিসেবল হয়ে থাকা। এটার একটা কারণ হচ্ছে System Image ইন্সটল না থাকা।

android emulator creation

System Image ইন্সটল করার জন্য SDK ম্যানেজার ওপেন করে System Image সিলেক্ট করে ইন্সটল করে নিলেই হবে।
android system image

এর পর ও যদি কোণ সমস্যা হয়, তাহলে এখানে কমেন্ট করে জানাতে পারেন, তাহলে আমি চেষ্টা করব সমস্যা গুলোর সমাধান দেওয়ার :)




স্মার্ট অ্যাপ বলতে স্মার্ট ফোন গুলো যেমন এন্ড্রয়েড, আইওএস, উইন্ডোজফোন ইত্যাদির অ্যাপের কথা বলছি।
কোন এক সময় ডেস্কটপ সফটওয়ার এর চাহিদা বেশি ছিল। এখনো আছে। কিন্তু স্মার্টফোন আসার পর থেকে এই ফিল্ডকে হারিয়ে প্রথম স্থান অর্জন করে নিয়েছে মোবাইল অ্যাপ। ২০০৫ সালেই পিসি  থেকে স্মার্টফোন  সেল বেশি হয়ে আসছে। আর এখন তো ২০১৪ শেষ হচ্ছে। অ্যাপের স্ট্যাটিসটিক্স মাথা খারাপ করার মত। আগে প্রত্যাক বাসায় একটা করে কম্পিউটার থাকতো। আর এখন পিসির পাশাপাশী এক একটা মানুষের কাছেই কয়েকটা করে স্মার্ট ফোন। তাই স্মার্ট ফোন রয়েছে পিসি থেকে কয়েক গুন বেশি। সাথে রয়েছে ট্যাব। ট্যাব এবং স্মার্টফোন একই ওএস দিয়ে চলে। সাফোর্ট করে একই অ্যাপ। স্মার্ট ফোন + ট্যাব = বর্তমান + ভবিষ্যৎ।
ব্যবহারের কথা যদি বলি, পিসি ব্যবহার করতে হয় কোথাও বসে। ল্যাপটপ গুলোও ব্যবহার করতে স্থির হয়ে কোথায় বসতে হয়। স্মার্টফোন গুলো সব সময়ই পকেটে থাকে। যে কোন সময়ই পকেট থেকে বের করা যায়। যে জিনিস যত বেশি ব্যবহার হবে, সেখানে রেভিনিউর তত বেশি স্কোপ। কেমন তা বলি, এডভার্টাইজরা আগে এড দিত টিভি এবং পত্রিকাতে। কিন্তু এখন কে টিভির সামনে বসে থাকে, কে পত্রিকাটি ঠিক মত পড়ে? সবাই অনয়ালাইনেই টিভি দেখার কাজ এবং পত্রিকা পড়ার কাজ করে নিচ্ছে। আর তাই এডভার্টাইজাররা সব অনলাইনেই নিজেদের প্রচারের কাজ করছে।
এডভার্টাইজাররা অনলাইনে ঝুঁকে আসার পর পরই শুরু হয়ে গিয়েছিল স্মার্টফোন বিপ্লব। সবাই যেহেতু এই ফোনে সময় বেশি দিচ্ছে, তাই তারা ভিন্ন ভিন্ন ভাবে নিজেদের প্রচারের কাজে ব্যবহার করছে। এডভার্টাইজারদের কথা এখানে বলছি কারণ হচ্ছে রেভিনিউ। আমাদের ধারনা থাকার কথা টিভি, পত্রিকা গুলো কেমন রেভিনিউ জেনারেট করে এই এড দিয়ে।
কিন্তু এখন যেহেতু সবাই স্মার্টফোন ব্যবহার করে, তাই এখন এখানেই রেভিনিউ জেনারেট করার স্কোপ সবচেয়ে বেশি। অনেক অনেক বেশি।
টিভি বা একটা পত্রিকা [অনলাইন হোক আর অফলাইন] অনেক বেশি ইনভেস্ট করতে হয়। দরকার অনেক লোকবল। কিন্তু একটা অ্যাপ এর কথা চিন্তা করলে বলা যায় নিজে নিজেই একটা সুন্দর আইডিয়া দিয়ে সুন্দর একটি অ্যাপ তৈরি করা যায়। আর আইডিয়া সুন্দর হলে এবং তা মানুষের কাজে আসলে অনেক ভাবেই রেভিনিউ জেনারেট করা যায়। সব চেয়ে কমন দুইটা পদ্ধতি হচ্ছে অ্যাপটি বিক্রি করা। আর না হয় আপের মধ্যে এড দেওয়া। দুই ভাবেই স্মার্ট রেভিনিউ জেনারেট করা যায়। আমরা ফ্লাপি বার্ড এর কথা শুনেছি, অনেকে খেলেছি। ঐ ছোট্ট গেমটি প্রতিদিনে প্রায় ৫০ হাজার ডলার ইনকাম করত। আলাদীনের চেরাগের মত! এটা একটা উদারহন মাত্র। হাজার উদাহরণ দেওয়া যাবে। এক রাতে ১২ বছরের একটা বাচ্চা মিলিয়নিয়ার হওয়ার গল্প ও রয়েছে এই অ্যাপ এর মাধ্যেমে। রাতে অ্যাপ সাবমিট করে ঘুমুতে গিয়েছিল, সকালে উঠে দেখে হিউজ সেল। এভাবেই…
২০১২ তে অ্যাপ মার্কেটের ভ্যালু ছিল $10 বিলিয়ন ডলার। যার গ্রোথ ১০০%। এখন যা ১০০ বিলিয়ন এই মার্কেটের ৫% বাংলাদেশে আনতে পারলে আমাদের ন্যাশনাল বাজেট থেকে বেশি হবে। আনতে পারাটা কঠিন নয়। দরকার সবার চেষ্টা। নিজ নিজ স্থান থেকে ভালো করে অ্যাপ ডেভেলপ করা, মানিটাইজ করা। নিজের জন্যই। মার্কেটটা বিশাল। নিজের জন্য কাজ করে যাবেন। এক নিজের অজান্তেই দেশেরও উপকার হবে। দেশের জন্য কাজ করা গর্বের নয় কি? এখন তো বিজয়ের মাস। নিজের জন্যই শুরু করুন, একটু পড়ালেখা। নিজের স্বপ্ন পূরণের লক্ষ্যে…
এ ছাড়া কোন প্রতিষ্ঠানের জন্য অ্যাপ তৈরির রয়েছে বিশাল সুযোগ। আজ কাল প্রত্যেকটি প্রতিষ্ঠানের একটি ওয়েব সাইটের পাশা পাশী একটি অ্যাপ ডেভেলপ করে নিচ্ছে। তা ছাড়া বিজনেস যারা করে, তারা সব কিছু চায় নিজেরা দেখা শুনা করতে। তাই যারা বিজনেস করে, তারা যদি তাদের বিজনেসের সকল আপডেট নিজ মোবাইলে বা ট্যাবে পেয়ে যায়, দারুণ হয় তাদের জন্য। প্রোডাক্টিভিটি বেড়ে যাবে তাদের। শুধু একটা অ্যাপই পারে তা করতে। দরকার ডেভেলপারের। হাতছানি দিচ্ছে আপনাকে.
কোন কিছু তৈরি করার মধ্যে আনন্দ রয়েছে। অনেক বেশি আনন্দ। শুধু যে রেভিনিউ এর জন্যই অ্যাপ ডেভেলমেন্ট, তা নয়। অ্যাপ নিয়ে কাজ করা, নিজের ইচ্ছে মত করে কিছু করা যথেষ্ঠ আনন্দদায়ক।
অ্যাপ ডেভেলপমেন্ট কঠিন নয়, সহজ। লার্নিং কার্ভটা একটু বেশি, এই যা। ঠিক মত শিখে একবার শুরু করলে পেছনে তাকাতে হবে না একটি বারের জন্য ও। শুরু করতে হবে, শুরু করাটাই কঠিন। একটা, শুধু একটা অ্যাপ হিট হলেই স্বপ্নটাই পরিবর্তন হয়ে যাবে। নতুন করে স্বপ্ন দেখাবে, নতুন লক্ষ্যে। হিট না হলেও সমস্যা নেই, ব্যবহার উপযোগী হলেই স্মার্ট একটা রেভিনিউ আসতে থাকবে। যাকে বলা যায় রয়াল রেভিনিউ। শুভ কামনা এবং স্বাগতম অ্যাপ ডেভেলপমেন্টে।
বিদ্রঃ ফ্রিল্যান্সিং নিয়ে সবাইকে এক সময় স্বপ্ন দেখানোর চেষ্টা করেছি। অনেকেই না শিখেই কাজ খোঁজে হতাশ হয়েছেন। অনেকেই মার্কেটপ্লেস নষ্ট করার মত কাজ করেছেন। তাই নতুনদের বলব, দয়া করে ভেবে চিন্তে, এই বিষয়ে আগ্রহী হলে প্রয়োজনীয় সময় হাতে নিয়ে শেখা শুরু করুন।
banner-mobile-application-platforms1
লেখাটির বিষয় বস্তুঃ
  •  ইনস্টল NodeJS
  •  জাভা এবং PATH environment সেটিংস
  •  adt-bundle এবং PATH environment সেটিংস
  •  Apache Ant ইন্সটলেশন
  •  System Variable এ JAVA_HOME যুক্ত করা
  •  Cordova ইনস্টলেশন
  •  Cordova দিয়ে প্রজেক্ট তৈরি
  •  Eclipse এ কমান্ডলাইন দিয়ে তৈরি কৃত প্রজেক্ট খোলা
  •  ইমিউলেটর / ডিভাইসে এন্ড্রয়েড অ্যাপ রান করা
  •  প্রয়োজনীয় লিঙ্কস
ইনস্টল NodeJS
Cordova নতুন ভার্সন গুলো ইনস্টল করার জন্য  NodeJS  ইনস্টল থাকা আবশ্যক।  http://nodejs.org/ এ গিয়ে NodeJS  ইনস্টলার ডাউনলোড করে তারপর ইনস্টল করে নিলেই হবে। Cordova কি, কেন  ইত্যাদি প্রাথমিক ধারনয়ার জন্য নিচের লেখাটি দেখা যেতে পারে।
জাভা এবং PATH environment সেটিংস
আমাদের কম্পিউটারে  অ্যান্ড্রয়েড adt-bundle এবং Java Platform (JDK) ইনস্টল থাকতে হবে।
জাভা ইন্সটলের পর আমাদের PATH environment পরিবর্তন করতে হবে। জাভা যে ফোল্ডারে ইনস্টল হয়েছে, সাধারনত C ড্রাইভে ইনস্টল হয়। জাভা ফোল্ডারের ভেতর jdk1.x.x নামক  ফোল্ডার  এবং এর ভেতর bin নামক একটি ফোল্ডার পাওয়া যাবে। ঐ ফোল্ডারের ভেতর ঢুকে এড্রেস বার থেকে এড্রেসটা কপি করে নিতে হবে। address bar পুরো এড্রেসটা হবে এরকমঃ C:\Program Files Java\jdk1.7.0\bin এবার PATH environment পরিবর্তন করার জন্য My Computer এর উপর রাইট ক্লিক করে Propertise > Advance System Settings >> Advanced Tab এ গিয়ে নিচের দিক থেকে Environment Variable এ ক্লিক করতে হবে। path variable User Variable for xx  থেকে PATH এ ক্লিক করে Edit করতে হবে। ঐখানে যদি আগের কিছু থাকে তাহলে শেষে একটা সেমিকোলন দিয়ে (;) দিয়ে Java bin ফোল্ডারের এড্রেসটা [C:\Program Files Java\jdk1.7.0\bin] দিতে হবে। এবার ok দিয়ে বের হয়ে আসতে হবে।
adt-bundle এবং PATH environment সেটিংস
adt-bundle এর জন্য এখানে গিয়ে  Download the SDK তে ক্লিক করে ডাউনলোড করতে হবে। তারপর ঐ ফাইল যে কোন জাগায় এক্সট্রাক্ট/unzip করলেই কাজ করার জন্য রেডি হয়ে যাবে। মনে করি আমরা ফাইল গুলো এক্সট্রাক্ট করলাম C ড্রাইভের Android নামক একটা ফোল্ডারে। Cordova কমান্ডলাইনের জন্য আমাদের SDK’s tools  এবং  platform-tools এর ডিরেক্টরি গুলো PATH environment এ যুক্ত করতে হবে। যদি আপনি Android adt bundle সি ড্রাইভের Android ফোল্ডারে এক্সট্রাক্ট করে থাকেন, তাহলে নিচের মত হবে SDK’s tools  এবং  platform-tools এর ডিরেক্টরি। ;C:\Android\adt-bundle\sdk\platform-tools ;C:\Android\adt-bundle\sdk\tools এগুলো Java bin এর মত একই ভাবে PATH environment এ যুক্ত করতে হবে। বিদ্রঃ একই লাইনে একাদিক  PATH environment  যুক্ত করার জন্য একটার সাথে আরেকটার পার্থক্যের জন্য সেমিকোলন ব্যবহার করা হয়।
Apache Ant ইন্সটলেশন
এর পর আমাদের Apache Ant ইনস্টল করতে হবে।
নিচের দিকে .zip archive: apache-ant-1.9.3-bin.zip এমন একটি ফাইল পাওয়া যাবে। ডাউনলোড করে এক্সট্রাক্ট করে ফাইল গুলো যে কোন ড্রাইভে রাখতে হবে। আমি c ড্রাইভেই রেখে দিয়েছি। এবং rename করে ant নাম দিয়েছি। ant এর ও PATH environment যুক্ত করতে হবে। এবং যদি আপনি ও ant আমার মত c ড্রাইভের ভেতর ant ফোল্ডারে রেখে থাকেন, তাহলে তার bin ফোল্ডারের এড্রেস হবেঃ C:\ant\bin এটিও PATH environment এ যুক্ত করতে হবে। এ পর্যন্ত আমরা যে কয়টি PATH environment যুক্ত করেছিঃ C:\Program Files (x86)\Java\jdk1.7.0\bin; C:\Program Files (x86)\Java\jre7; H:\AndroidADT\sdk\platform-tools; H:\AndroidADT\sdk\tools; C:\ant\bin
System Variable এ JAVA_HOME যুক্ত করা
এগুলো  সব গুলো ছিল User Variable. আমাদের আরেকটি Variable যুক্ত করতে হবে, আর তা যুক্ত করতে হবে System Variable এ। এটি হচ্ছে jre ফোল্ডারের এড্রেস। যা Java ফোল্ডারের ভেতরেই থাকে। System Variable থেকে New তে ক্লিক করতে হবে। এরপর Variable Name এ দিতে হবেঃ JAVA_HOME Variable Value তে দিতে হবে jre ফোল্ডারটির এড্রেস। যেমন আমার jre ফোল্ডারের এড্রেসঃ C:\Program Files (x86)\Java\jre7 system variable PATH environment সেট করার পর একবার কম্পিউটার রিস্টার্ট করে নেওয়া যেতে পারে সব কিছু ঠিক মত কাজ করার জন্য।
Cordova ইনস্টলেশন
এবার Corodva ইনস্টল করতে পারি আমরা। তার জন্য  জন্য cmd/Command Prompt ওপেন করতে হবে। Run এ গিয়ে cmd লিখলেই চলে আসবে। বা Windows Program থেকেও ওপেন করা যেতে পারে। ওপেন করার পর লিখবঃ npm install -g cordova এরপর ইন্টার করলে Corodva ইনস্টল হবে। ইনস্টল হয়ে যাওয়ার পর আমরা C ড্রাইভে আরেকটি ফোল্ডার করব যেখানে আমরা আমাদের Cordova প্রজেক্ট গুলো তৈরি করব কমান্ড লাইন এর মাধ্যমে। অন্য যে কোন ড্রাইভেই রাখা যেতে পারে,  আপাতত সহজ এর জন্য আমরা c ড্রাইভে cordova নামক একটি ফোল্ডার তৈরি করব। এবার cmd/Command Prompt ওপেন করব। command prompt Command Prompt সব সময় C:\Users\username ফোল্ডারে ওপেন হয়। আমরা ফোল্ডারটি পরিবর্তন করে কিছুক্ষন আগে তৈরি করা cordova ফোল্ডারে আসব। তার জন্য cd\ লিখলে প্রথমে C ড্রাইভে যাবে। এর পর লিখব:  cd cordova এখন আমরা cordova দিয়ে প্রজেক্ট তৈরি করার জন্য প্রস্তুত।
Cordova দিয়ে প্রজেক্ট তৈরি
নতুন প্রজেক্ট তৈরি করার জন্য লিখতে হবেঃ cordova create hello com.example.hello “HelloWorld” বিদ্রঃ যদি কমান্ড পুরোটা লিখতে সমস্যা হয়, তাহলে কপি করে কমান্ডলাইনে গিয়ে  রাইট ক্লিক করে পেস্ট করা যাবে। উপরে আমরা কি কি লিখছি তা একটু বিস্তারিত জানা যাক। cordova create এর পর লিখছি hello এটি cordova ফোল্ডারে আরেকটি নতুন ফোল্ডার তৈরি করবে। com.example.hello এটি হচ্ছে domain-style identifier।এর পরে হচ্ছে প্রজেক্টের নাম। এ দুইটা অপশনাল। এবং এগুলো পরে পরিবর্তন করা যাবে config.xml ফাইল থেকে। এখন যদি আমরা C ড্রাইভের cordova ফোল্ডারে দেখি, তাহলে দেখতে পাবো একটি ফোল্ডার তৈরি হয়েছে hello নামে, এবং ভেতরে আরো অনেক গুলো ফাইল/ফোল্ডার। যেগুলো Cordova আমাদের জন্য তৈরি করেছে। এখন আমাদের প্রজেক্টে অ্যান্ড্রয়েড যুক্ত করতে হবে, যাকে বলে Add Platform। এ জন্য আমাদের কমান্ডলাইনে hello ফোল্ডারে ন্যাভিগেট করতে হবে। তার জন্য লিখব cd hello hello ফোল্ডারে ন্যাভিগেটের পর লিখব cordova  platform add android যা আমাদের প্রজেক্টে অ্যান্ড্রয়েড যুক্ত করবে। আমরা চাইলে অন্য প্লাটফরম, যেমন উইন্ডোজ ফোন, উইন্ডোজ ৮ ইত্যাদি পাল্টফরম ও যুক্ত করতে পারি এবং ঐসবের জন্যও অ্যাপ তৈরি করতে পারি। আপাতত আমরা শুধু এন্ড্রয়েডের জন্যই দেখব। এর পর কমান্ড লাইনে লিখবঃ cordova build   আমাদের build করলে যদি কম্পিউটারের সাথে কোন অ্যান্ড্রয়েড ফোন কানেকটেড থাকে, তাহলে তা ঐ ফোনে ইনস্টল হবে।
Eclipse এ কমান্ডলাইন দিয়ে তৈরি কৃত প্রজেক্ট খোলা
এখন আমরা ইচ্ছে করলে এ প্রজেক্টটি এবার Eclipse এ ইম্পোর্ট করে ইচ্ছে মত মডিফাই করতে পারি। Eclipse অ্যান্ড্রয়েড Adt Bundle এর ভেতরেই থাকে। যা আমরা রেখেছিলাম C ড্রাইভে Android নামক ফোল্ডারে। এখানে গিয়ে eclipse ফোল্ডারের ভেতর থেকে Eclipse.exe রান করানো যাবে। প্রজেক্টটি  Eclipse  এ ইম্পোর্ট করার  জন্য Eclipse এর New তে ক্লিক করতে হবে। new project এর পর Android Project from Existing Code এ ক্লিক করে Next এ ক্লিক করত হবে। এবার Browse এ ক্লিক করে C >> cordova >> hello তে ন্যাভিগেট করতে হবে এবং ok দিতে হবে। new project import এবং শেষে Finish এ ক্লিক করলে প্রজেক্টটি Eclipse এ খুলবে। imported project
ইমিউলেটর / ডিভাইসে এন্ড্রয়েড অ্যাপ রান করা
এবার আমরা প্রজেক্টটি রান করানোর জন্য প্রস্তুত। তার জন্য প্রথমে একটি ইমিউলেটর তৈরি করে নিব, বা আগের তৈরি থাকলে সরাসরি প্রজেক্টটি রান করাবো। তাহলে ইমিউলেটরে আমাদের সদ্য তৈরি করা এন্ড্রয়েড অ্যাপটি দেখাবে।
বাবার সাথে যখন রেস্টুরেন্ট এ খেতে আসতাম তখন ও ছেলেটিকে দেখতাম। এখনো খেতে আসলে দেখি।
আগে যখন আসতাম তখন ছেলেটি ছোট ছিল, আমিও। আমার সাথে সাথে ছেলেটিও বড় হতে লাগল। নাকি ছেলেটির সাথে সাথে আমি?
আগে যখন আসতাম, তখন সে ছিল ওয়েটারের হেল্পপার। পানি এগিয়ে দিত, টেবিলটি পরিস্কার করে দিত।
এখন সে নিজে ওয়েটার। সাথে হেল্প করার মত আরেকটা ছোট ছেলে রয়েছে।
আমাকে যখন জিজ্ঞেস করল কিছু লাগবে? আমি বললাম না, উল্টো জিজ্ঞেস করলাম কেমন আছো। বলল ভালো। একটু ভালো নাকি বেশি?
এবার উত্তর দেওয়ার পরিবর্তে হাসি দিল। হাসি দিলে প্রতি উত্তরে হাসি দিতে হয়? হয়তো হ্যা, নয়তো না। না হলে নাই। আমিও হাসি দিলাম। বললাম বসো। আমি একটু সরে বসলাম। বসতে চাইলো না। জোর করে বসিয়ে দিলাম।
জিজ্ঞেস করলাম এখানে চাকরি করা ছাড়া আর কি করে।
– আর কিছু না।
বিয়ে করেছো?
– না।
কেনো?
অন্য দিকে তাকালো। তারপর আবার আমার দিকে। বলতে ইতস্তত করল।
– যাকে পছন্দ করতাম, তার বিয়ে হয়ে গেছে।
আহ! কেন? তুমি বিয়ের প্রস্তাব দাও নি?
– এক চাচা এর মাধ্যমে প্রস্তাব দিয়েছি। আমার সাথে বিয়ে দিবে না বলেছিল…
কেনো?
– আগেই বিয়ে ঠিক হয়ে গিয়েছে তাই। তাছাড়া হয়তো আমাদের অনেক টাকা নেই, তাই হয়তো।
এখন কি করবে?
– কিছু না।
মানে এখানে জব করা ছাড়া ভবিষৎএ কি করতে চাও?
– বিশাল একটা রেস্টুরেন্ট দিব…
– এরপর?
এরপর জানি না।
ছেলেটির মত আমিও জানি না। আমি এরপর কি করব। ছেলেটির সাথে নিজের মিল খোজার চেষ্টা করি। সেও পছন্দের মেয়েকে বিয়ে করতে পারি নি। আমি ও না। তার পছন্দের মেয়েটির ও বিয়ে হয়ে যায়, আমার পছন্দের মেয়েটির ও বিয়ে হয়ে যায়। অমিল হচ্ছে তার হয়তো টাকার না থাকার কারণে বিয়েটা হয় নি। আর আমার টাকা থেকেও…
আমি মেয়েটিকে বুঝতে পারতাম না। বার বার নিজেকে প্রশ্ন করতাম, ইতি আমাকে ভালোবাসে? সুন্দর হাসি আর সুন্দর কথায় আমি বার বার ধোকা খেতাম। নিজেকে শান্তনা দিতাম, সত্যিই আমাকে ভালোবাসে।
ইতি একদিন একটি ছেলে কিয়ে নিয়ে আসল। আমার সাথে পরিচয় করিয়ে দিল। নিলয়, এ হচ্ছে সূজন।
আমি ভাবলাম পরিচিত কেউ, কাজিন বা কোন বন্ধু। প্রশ্ন করি নি।
আস্তে আস্তে আমার থেকে দূরে সরে যেতে লাগলো। এই অজুহাত ঐ অজুহাত। বিশ্বাস করতাম।
একদিন সুজনের সাথে ইতির এঙ্গেজম্যান্ট হয়ে গিয়েছিলো। আমাকে বলে নি, জানতাম না। এক দিন পর জেনেছি। অন্য বন্ধুর মাধ্যমে। কষ্ট পেয়েছি। আমাকে বলতে পারত। বলে নি। বলতে পারত নিলয়, আমি তোমাকে নয় সূজনকে ভালোবাসি।
এটাকে ধোকা বলে? হয়তো হ্যাঁ। হয়তো না। হয়তো ইতির সময় কাটানোর সঙ্গী ছিলাম। হয়তো তার কাছে আমি বোরিং হয়ে গিয়েছি। নতুন জীবনের জন্য নতুন সঙ্গী খুজে নিয়েছে। আমাকে একা রেখে। সে হয়তো ভালো আছে। সুজন কে বিয়ে করে। আমি ভালো নেই। এখনো প্রেম, ভালোবাসা, বন্ধু এসবের মানে খুজে ফিরি। জানি না কবে এসবের মানে জানতে পারব। আচ্ছা হোটেলের ছেলেটি ও কি এমন মানে খুজে বেড়ায়? জিজ্ঞেস করলে হয়তো বলত। থাক না, কিছু জিনিস না জানাই থাক… এতটুকু জানি, আমি যতটুকু কষ্ট পাই, ছেলেটিও ততটুকু কষ্ট পায়। কষ্ট পরিমাপ করতে পারলে জানতাম কারো কষ্ট কারো থেকে একটুও কম নয়।

টিউশনি

ত্বকির টিউশনির বেতনটা পাবে আজ। খুশি মনে টিউশনিতে গেলো। আচ্ছা গল্প বলার আগে ত্বকির পরিচয়টা দেওয়া যাক।
অন্য সব সাধারণ ছাত্রের মতই একজন। একটি পাবলিক বিশ্ববিদ্যালয়তে পড়ে। ম্যাচে থাকে আর নিজের খরচ নিজে বহন করে। এ জন্যই টিউশনি। সাধারণ ছাত্রদের রুজির প্রধান মাধ্যম।
তের বা চোদ্দ বছরের একটি মেয়েকে পড়ায় সে। ভালো ছাত্রী। সব কিছুই সুন্দর মত বুঝতে পারে।
আজ পড়ানোর এক সময় ত্বকি পা নাড়াতে গিয়ে ইভার পায়ে লাগল। ত্বকি সরি বলল। ইভা বলল সমস্যা নেই স্যার।
কোন সমস্যা হতো না যদি না তা ইভার ছোট খালামনির চোখে পড়ত। ইভার খালামনি এদিক দিয়ে যাচ্ছিল, তখনি দেখল।
গৃহ শিক্ষক, স্কুল শিক্ষক এসব নিয়ে পত্রিকায় বা টিভিতে বিভিন্ন নিউজ দেখে সব অভিবাবকই চিন্তিত। আমার সন্তানটি কি নিরাপদ? এসব কিছু ত্বকিকে স্পর্শ করত না যদি ইভার খালামনি তার মায়ের কাছে গিয়ে বলত, ইভার পায়ে স্যারের পা লাগার কথা। দুই বোন, বলা যায় দুই নারী এক সাথে সব কিছু আলোচনা করতে লাগল। ইভার কিসে ভালো হবে তা নিয়ে চিন্তা করতে লাগল।
একসময় ইভাকে ডাকল স্যারের জন্য নাস্তা নিয়ে আসতে। নাস্তা আনতে গেলে ইভার হাতে একটি খাম দেয়। ত্বকির বেতন। ইভাকে বলল স্যারকে যেন বলে আগামীকাল থেকে আর না আসে। ইভা জিজ্ঞেস করল কি সমস্যা? কেন স্যারকে আর আসতে হবে না? তার আম্মু বলল তুই বুঝবি না।
ইভা অনেক কিছুই বুঝে না। সবাই বলে বড় হলে বুঝবি। সে যথেষ্ট বড় হয়েছে, চিন্তা করে আর কত বড় হতে হবে সব কিছু বুঝতে।
ত্বকির নাস্তা খাওয়ার পর ইভা তার হাতে খামটি দিল। ইভার বলতে কষ্ট হচ্ছিল। তারপর ও বলল, স্যার… ত্বকি বলল, কিছু বলবে? স্যার, আম্মু বলেছে আগামীকাল থেকে আপনাকে আর আসতে হবে না।
ত্বকির মন খারাপ হলো। মুখে তা না ফুটিয়েই বলল ঠিক আছে। ভালো থেকো ইভা।
কিছু কিছু মানুষ সব সময়ই ভয়ে থাকে, কি ভুল করেছে। কি ভুল হয়েছে। ভাবে তার জন্যই দূর্ঘটনা গুলো ঘটে। সে না থাকলে হয়তো এমন কিছু হতো না। ত্বকি তেমনি একজন। কি ভুলের কারণে টিউশনিটা গেলো, তা ভাবতে ভাবতে বাসায় ফিরল। ভুল খোজার পাশা পাশি আরো কয়েকটা ভাবনা, পরের মাস থেকে কি হবে, কিভাবে চলবে? কীভাবে ম্যাচের ভাড়াটা দিবে?

আর্টিস্ট ঐ মেয়েটি

মেয়েটির সাথে প্রথম দেখা হয়েছিল তার স্টুডিও এর দরজায়। হাতে, মুখে, জামাতে রঙ লেগে রয়েছিল। স্টুডিও বললে ভুল হবে, তাদের নিজ বাড়ির একটি রুমের সামনে। যে রুমে সে ছবি আঁকত। সাদা জামায় লেগে থাকা রঙ গুলো আমার কাছে জামারই অংশ মনে হয়েছিল। মনে হয়ছিল কেউ ইচ্ছে করে আর্ট করছে। কিন্তু না, আসলে সে গুলো ভুল ক্রমে ছবিতে রঙ দেওয়ার সময় লেগে গিয়েছিল।
ঐ দিনই আমার মনে হয়েছিল মেয়েটির পাশে একজন থাকা উচিত। তার রঙ এগিয়ে দিতে, তাকে ছবি আঁকতে সাহায্য করতে। গায়ে রঙ লেগে গেলে তা মুছে দিতে…
আমি গিয়েছিলাম একটি ছবির জন্য। গ্যালারিতে ছবি দেখে পছন্দ হয়েছিল। পরে তা আনতে গিয়েছি। ছবিটি আনতে গিয়ে ছবির থেকে আর্টিস্টকে বেশি সুন্দর লাগলো। ছবি থেকে আর্টিটসকে বেশি ভালো লেগে গেলো। এমনকি মেয়েটির সাহায্যকারী হিসেবে নিজেকে ভাবতে লাগলাম। নিজেকে মেয়েটির পাশে চিন্তাও করতে লাগলাম। কি অদ্ভুত!
এরপর কয়েক দিন পর পরই ছবি কিনতে চলে যেতাম। যেখানে ছবি কেনা থেকেও মেয়েটিকে দেখতে যাওয়া মূখ্য ছিল।
এরপর একদিন মেয়েটিকে বললাম এক সাথে লাঞ্চ করি? মেয়েটি না করল। আমি বললাম, ফ্রান্সের মেয়েদের সাথে নাচতে নাকি তিনবারের মত জিজ্ঞেস করতে হয়। প্রথমবারে কেউই রাজি হয় না। আমাকেও কি তিনবার জিজ্ঞেস করতে হবে? মেয়েটি হাসল। সুন্দর সে হাসি।
কিছুক্ষন নিরব থেকে বলল, চলো। আমি বললাম কোথায়? বলল, লাঞ্চ করতে। সত্যি? মেয়েটি বলল, হ্যা সত্যি।
লাঞ্চ করতে বসে আমার কি মিশ্র অনুভূতি। সব ভালো লাগা যেন এক সাথে কাজ করছিল। রেস্টুরেন্ট থেকে হেটে হেটে গল্প করতে করতে তাকে এগিয়ে দিয়ে গেলাম।
সময় পেলে এরপর প্রায় সময়ই যাই। বসে বসে ছবি আকা দেখি। নাকে মুখে রঙ লেগে যাওয়া দেখি। দেখতে ভালো লাগে। মাঝে মধ্যে আবার রঙ, ব্রাশ ও এগিয়ে দি। সাহায্যকারী হিসেবে। একদিন ঠিক যেভাবে চিন্তা করেছি।

ভালোবাসি তাই…

ঐ দিন তারিন আমাকে ডাকল। শেষ দেখা হয়েছিল তার বিয়ের দিন। ওর বিয়েতে যেতে কষ্ট হয়েছিল। তারপর ও গিয়েছি। ক্লাসমেটেরা সবাই ছিল। ছিল পরিচিত অনেকেই। না গেলে সবাই খারাপ বলত। তাই ইচ্ছে না থাকা সত্ত্বেও গিয়েছি।
আমি তারিনের বন্ধু ছিলাম। আর তারিন ছিল আমার স্বপ্ন। নিজের স্বপ্নের কথা কোন দিন ও তারিনকে জানাই নি। বন্ধুর মত অভিনয় করে গিয়েছি। এর এক সময় স্বপ্নের কথা বলব বলে ঠিক ও করেছি। কিন্তু তখন ভীষণ দেরি হয়ে গিয়েছিল।
আমি পছন্দ করতাম তারিন কে। আর তারিন ভালবাসত স্বপ্নিল কে। আসলে তারা দুই জন দুই জনকেই ভালোবাসত। তারিন তাদের গল্প আমার কাছে এসে বলত। আমি শুনতাম। প্রচণ্ড হিংসে হতো। তারপর ও বন্ধুর মত শুনে যেতাম। বন্ধুর মত।
তারা বিয়ে শাদী করে সংসার শুরু করল। আর আমি চলে যাই ডক্টরেট করতে। রোবট নিয়ে পড়তে পড়তে ততদিনে আমি নিজেও রোবট হয়ে গিয়েছিলাম। মানব অনুভূতি গুলো লোপ পাচ্ছিল। সহ কর্মী একটা মেয়ে তা ফিরিয়ে চেষ্টা চালাচ্ছিল। মেয়েটি অনেক সময় দিচ্ছিল আমাকে। রিসার্সের ফাঁকে ফাঁকে গল্প করত। আমি আমার দেশের গল্প করতাম। ছোটবেলার গল্প বলতাম। বেড়ে উঠার গল্প বলতাম। জেনি নামের মেয়েটি বলত তার গল্প। এক জন সহকর্মীর মতই। এর বেশি কিছু না।
জেনি আমাকে মাঝে মাঝে ঘুরতে নিয়ে যেতো। উৎসাহ না থাকা সত্ত্বেও যেতাম। অ্যামেরিকায় সাধারণত ছেলেরা মেয়েদের প্রপোজ করে। হঠাৎ করে একদিন জেনি আমাকে প্রপোজ করে বসল। আমি অবাক হলাম। আমি বললাম, জেনি এভাবে হয় না। অনেক কিছু বুঝানোর চেষ্টা করলাম ঐ দিন। বুঝে নি। চোখে এত গুলো পানি নিয়ে বাসায় ফিরে গেলো। পরের দিন আর ল্যাবে আসে নি। পরে দিন ও না। এর পরের দিন ও না। আমি ফোন করি, ফোন রিসিভ করে না। একটু চিন্তিত হয়ে পড়লাম। চিন্তা করলাম এবার একটু বাসায় গিয়ে খবর নেওয়া যাক।
জেনিদের বাসায় ঐ দিনই প্রথম যাওয়া। গিয়ে দেখি ও অসুস্থ হয়ে শুয়ে আছে। আমার সাথে কথা বলবে না। আমি জোর করে ওকে নিয়ে বের হলাম। একটা রেস্টুরেন্টে গিয়ে বসলাম। মুখ ভার হয়ে ছিল। কোন কথার উত্তর দিচ্ছিল না। আমি ওর মুড ঠিক করার জন্য বললাম চল বিয়ে করি। আমার দিকে তাকালো। সত্যি? আমি বললাম হ্যাঁ, সত্যি। ও চেয়ার ছেড়ে লাপ দিয়ে এসে আমার উপর ঝাফিপে পড়ল। এত জোরে জড়িয়ে ধরল যে আমার নিঃশ্বাস নিতে কষ্ট হচ্ছিল। রেস্টুরেন্টের অন্যান্য মানুষ তাকিয়ে রইলো। জেনি যখন চিৎকার করে বলল i love you, তখন অন্য সবাই তালি দেওয়া শুরু করলো।
রেস্টুরেন্টে গিয়ে খাওয়া ছাড়াই বের হয়ে আসলাম আমরা। ঐ দিনই জেনিকে বিয়ে করলাম। নিজেকে নিজে বিশ্বাস করতে পারছিলাম না। বিয়ের পর সবই ঠিক মত চলছিল। আমাদের কিউট একটি মেয়েও হয়েছিল। তিন জনের সংসার। খুব সুন্দর ভাবে কাটছিল।
এরপর এক সময় থিসিস নিয়ে ব্যস্ত হয়ে পড়লাম। খাওয়া দাওয়া, ঘুম, ফ্যামিলিতে সময় দেওয়া সহ সব কিছুইতে অনিয়মিত হয়ে পড়লাম। জেনির সাথে দুই একবার কথা কাটা কাটি ও হতে লাগল।
একদিন জেনি আমাকে বোর, ডাল আরো কত কিছু বলে ছেড়ে চলে গেলো। যাওয়ার সময় মেয়েটিকেও নিয়ে গেলো। আমি বললাম অন্তত মেয়েটিকে রেখে যাও। সে হেনাকেও রেখে যায় নি। কষ্ট পেতে মনে হয় অব্যস্ত হয়ে গিয়েছিলাম। প্রথম রাত ঘুমুতে পারি নি। দ্বিতীয় রাত থেকে ঠিকই আবার কাজে মনোযোগ দিয়েছিলাম। তৃতীয় রাতে জেনি এসে হেনাকে দিয়ে গেলো। হেনা নাকি কান্না করছিল শুধু। মেয়েটি আমাকে দেখে শান্ত হলো।
থিসিস জমা দিয়ে দেশে ফিরলাম। তারিন জানতে পেরে ডাকল। তাই দেখা করতে আসা।
তারিন অনেক দিন পর দেখা হওয়ার পর অনেক কিছুই বলল। বলত তারা ভালো নেই। তাদের সম্পর্ক ভালো নেই। অথচ এই স্বপ্নিল তাকে অনেক ভালোবাসার কথা বলত। তাকে স্বপ্ন দেখাতো সুন্দর একটা পৃথিবীর, সারাজীবন আগলে রাখবে বলত। সারাজীবন এক সাথে কাটিয়ে দিবে বলত। কিন্তু তার ব্যবহার আস্তে আস্তে খারাপ হতে থাকে যখন ডাক্তার বলে তারিন কখনো মা হতে পারবে না।
অনেক দিন পর বন্ধুকে কাছে পেয়ে সব বলল। বলার সময় চোখ দিয়ে পানি পড়তে লাগলো। আমি টিস্যু এগিয়ে দিলাম। চোখ মুছল। মুছে আমার কথা জিজ্ঞেস করল। আমি কেমন আছি জিজ্ঞেস করল। উত্তর দিলাম ভালো আছি। অনেক ভালো। অনেক দূরে তকালাম। কাছের সব কিছু কেমন ঝাপসা লাগছিল।
অ্যামেরিকা ফিরে যাওয়ার আগে তারিনের সাথে দেখা করতে গেলাম। সাথে ছিল হেনা। তারিন হেনাকে কোলে নিয়ে আদর করতে লাগল। অনেক কথা বললাম। ফ্লাইটের সময় হচ্ছিল। স্বপ্নিলকে বললাম আমি ফিরে যাচ্ছি। হেনাকে তোমাদের কাছে রেখে যাই। তারিন লাফিয়ে উঠে জিজ্ঞেস করল সত্যি? আমি উত্তর দিতে পারি নি।
টিক টিক করে সময় যাচ্ছে। আমি বের হলাম। তারিন এগিয়ে দিল। স্বপ্নিল হেনাকে কোলে করে আরেকটি রুমে গেলো। যে রুমে বাচ্চাদের অনেক গুলো খেলনা। তারিনের চোখে আজ ও পানি। বলতে ইচ্ছে করছিল, কান্না করিস না পাগলি, আমার মেয়েটিকে ভালো রাখিস। বলি নি। বলতে পারি নি। হাঁটা দিলাম।
কিছু দূর গিয়ে পেছনে ফিরলাম, জানালা দিয়ে দেখলাম হেনা এদিকে তাকিয়ে আছে। চোখ ছল ছল করছে। স্বপ্নিল অনেক গুলো খেলনা নিয়ে তাকে আনন্দ দেওয়ার চেষ্টা করছে। অন্ধকার বলে আর আমাকে কেউ দেখছে না। চোখ দিয়ে পানি পড়তে লাগল। অন্ধকার বলে তা আর লুকাতে হয় নি। কেমন এক ধরনের কষ্ট লাগছিল। আবার সুখ ও। মনে হচ্ছিল রোবটের সাথে থেকে এখনো রোবট হয়ে যাই নি। মানুষই রয়েছি। কারণ রোবটের চোখ দিয়ে কখনো পানি বের হয় না, হবে না।
সবায় কেমন আছেন। আজকে আমি ব্লগার ভাইদের জন্য একটি SEO টিপস নিয়ে এলাম। আমরা যারা ব্লগিং করি তারা জানি যে ভিজিটর না থাকলে ব্লগিং এ কোন লাভ নাই। আর ব্লগ এ ভিজিটর আনার উপায় হল SEO .
আজকে আমি একটি প্রয়জনিয় SEO টিপস শেয়ার করব। ব্লগার ভাইদের উপকারে আসবে । তাহলে চলুন
বন্ধুরা আপনারা লক্ষ্য করবেন যে আপনার ব্লগকে যখন সার্চ ইঙ্গিন এ সার্চ দেন তখন আপনার ব্লগ এর টাইটেল আগে দেখাবে আর মূল বিষয় পরে দেখায়। এটা  SEO ফ্রেন্ডলি না। আশা করি বুজছেন না বুজলে নিচে দেখুন
আশা করি বুজছেন।
 আজ আমি আপনাদের দেখাব কিভাবে এটা পরিবর্তন করে SEO ফ্রেন্ডলি করবেন মানে কিভাবে টাইটেল কে পরে আর মূলবিষয় আগে দেখাবেন।তাহলে চলুন

কিভাবে এটিকে পরিবর্তন করবেন

  1. আপনার ব্লগ এ লগ ইন করুন। dashboard থেকে template এ ক্লিক করুন। এবার edit HTML এ ক্লিক করুন 
  2. এবার নিচের কোড বা লাইনটি খুজুন । খুজে না পেলে ctrl F চেপে সার্চ দিন পেয়ে যাবেন
                         <title><data:blog.pageTitle/></title>
  • উপরের লাইনটি খুজে পেলে তার জায়গায় নিচের কোড কপি করে পেস্ট করুন 

<b:if cond='data:blog.pageType == &quot;index&quot;'>
<title><data:blog.pageTitle/></title>
<b:else/>
<title><data:blog.pageName/> -animesh2050 </title>
</b:if>
  •  তবে হ্যাঁ animesh2050এর জায়গায় আপনার ব্লগের নাম দিন । এবার template সেইভ করুন। ব্যাস আপনার কাজ শেষ। সার্চ দিয়ে দেখুন বুজতে পারবেন 
আশা করি আমার এই টিপস সবায় বুজতে পেরেছেন। কোথাও না বুজলে কমেন্ট করবেন