সহজ - Android এ পাইথন চালানোর উপায় আছে কি?




সহজ ভাষায় পাইথন ৩ pdf (17)

আমরা একটি S60 সংস্করণে কাজ করছি এবং এই প্ল্যাটফর্মটিতে একটি চমৎকার পাইথন API রয়েছে।

যাইহোক, অ্যান্ড্রয়েডের পাইথন সম্পর্কে কোনও সরকারী কর্মকর্তা নেই, কিন্তু Jython বিদ্যমান থাকলে সাপ এবং রোবটকে একসঙ্গে কাজ করার উপায় আছে ??


Kivy

আমি এই পোস্টটি প্রকাশ করতে চাই @ জন মউড ইতিমধ্যে উত্তর দিয়েছেন ( তবে দয়া করে আমার সাথে সহ্য করুন যেমন ইংরেজি আমার প্রথম ভাষা নয় )

তারপর থেকে বছর হয়েছে, এবং Kivy v1.9 dev devolved হয়েছে। আমার মতে, Kivy বৃহত্তম বিক্রয় বিন্দু, তার ক্রস প্ল্যাটফর্ম সামঞ্জস্য। আপনি আপনার স্থানীয় পরিবেশ (উইন্ডোজ / * নিক্স প্রভৃতি) এর অধীনে কোড এবং পরীক্ষা করতে পারেন, আপনি আপনার Android / iOS / Mac / Windows ডিভাইসগুলিতে চালানোর জন্য আপনার অ্যাপ্লিকেশনটি বিল্ড, ডিবাগ এবং প্যাকেজ করতে পারেন।

কিভির নিজস্ব KV ভাষা দিয়ে, আপনি সহজেই জিআইআই ইন্টারফেস কোড এবং বানাতে পারেন (এটি জাভা এক্সএমএল এর মতই, বরং ui.widgets ইত্যাদি।), কেভির অনুরূপ অনুবাদের জন্য নিজস্ব ui.widgets ) যা আমার মতে খুব সহজ অবলম্বন।

বর্তমানে Buildozer এবং python-for-android আপনার অ্যাপ্লিকেশনগুলি তৈরি / প্যাকেজ করার জন্য সর্বাধিক প্রস্তাবিত সরঞ্জাম। আমি তাদের উভয় চেষ্টা করেছি এবং দৃঢ়ভাবে বলতে পারি যে তারা পাইথন একটি বায়ু সঙ্গে অ্যান্ড্রয়েড অ্যাপ্লিকেশন বিল্ডিং করতে। ব্যবহারকারীরা তাদের কনসোল / টার্মিনাল / কমান্ড প্রম্পটে আরামদায়ক বোধ করে তাদের ব্যবহার করা কোনও সমস্যা হতে পারে না এবং তাদের গাইডগুলিও ভালভাবে নথিভুক্ত।

তাছাড়া, আইওএস কিভির আরেকটি বড় বিক্রয় বিন্দু, যদি আপনি একই kivy-ios বেস ব্যবহার করতে পারেন তবে আপনার kivy-ios ডিভাইসে kivy-ios আইওএস হোমব্রু সরঞ্জামগুলির মাধ্যমে পরীক্ষা-চালনার জন্য প্রয়োজনীয় প্রয়োজনীয় পরিবর্তনগুলি ব্যবহার করতে পারে, যদিও Xcode এর জন্য চালানোর আগে এটি নির্মাণের জন্য প্রয়োজন। তাদের ডিভাইসগুলি (XAIK এ X সিম সিমুলেটরটি বর্তমানে x86- আর্কিটেকচার নির্মাণের জন্য কাজ করে না)। কিছু নির্ভরতা বিষয়ও রয়েছে যা ম্যানুয়ালি কম্পাইল করা উচিত এবং সফলভাবে বিল্ড করার জন্য এক্সকোড-এর সাথে প্রায়শ্চিত্ত করা উচিত তবে এটি সমাধান করা খুব কঠিন হবে না এবং কেভি গোষ্ঠীর লোকেরাও সত্যিই সহায়ক।

সবাইকে বলা হচ্ছে, ভাল পাইথন জ্ঞান ব্যবহারকারীরা কয়েকটি সহজ অ্যাপ্লিকেশন তৈরি করতে সপ্তাহে (যদি দিন না থাকে) বুনিয়াদি বাছাই করা উচিত নয়।

এছাড়াও উল্লেখযোগ্য যে আপনি আপনার পাইথন মডিউলগুলি বান্ডল (বিল্ড তৈরি করতে পারেন) নির্মাণের সাথে তৈরি করতে পারেন যাতে ব্যবহারকারীরা প্রকৃতপক্ষে অনেকগুলি বিদ্যমান লাইব্রেরি ব্যবহার করতে পারে। পাইথন আমাদের কেভি এর এক্সটেনশান সহায়তার মাধ্যমে Requests এবং PIL ইত্যাদি নিয়ে আসতে পারে।

কখনও কখনও আপনার অ্যাপ্লিকেশন কার্যকারিতা প্রয়োজন যা কিভি প্রদান করতে পারেন এর সুযোগ অতিক্রম করে। এই ক্ষেত্রে, বহিরাগত সফ্টওয়্যার লাইব্রেরি অবলম্বন করা প্রয়োজন। পাইথন ইকোসিস্টেমের সমৃদ্ধি দেওয়া, ইতিমধ্যে অনেকগুলি সফটওয়্যার লাইব্রেরি রয়েছে যা আপনি কেবলমাত্র আমদানি করতে এবং সরাসরি ব্যবহার করতে পারেন।

সর্বশেষ কিন্তু অন্তত নয়, যদি আপনি আরও গুরুতর / বাণিজ্যিক প্রকল্পগুলির জন্য কিভি ব্যবহার করতে চলেছেন তবে আপনি বিদ্যমান মডিউলগুলি সন্তোষজনক নাও পেতে পারেন। যদিও কিছু কার্যকর সমাধান আছে, Android এর জন্য pyjnius "অগ্রগতির কাজ" এবং pyobjus । ব্যবহারকারীরা কিছু স্থানীয় API গুলি নিয়ন্ত্রণ করতে এই মডিউলগুলির মাধ্যমে জাভা / উদ্দেশ্য-সি ক্লাসগুলি অ্যাক্সেস করতে পারেন।

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

আমি আশা করি কিছু পাইথন অ্যাপ্লিকেশন প্রোগ্রামার এই তথ্যটিকে উপকারী মনে করে এবং কীভিতে একবার নজর দিতে শুরু করে। সম্প্রদায় থেকে মহান আগ্রহ থাকলে এটি আরও ভাল হয়ে যেতে পারে (আরো সমর্থন সহ এবং লাইব্রেরি / মডিউলগুলি পোর্ট করা হবে)।

PS আমি যে কোনও কিভির সাথে কোন সম্পর্ক নেই, আমি কেবল একজন প্রোগ্রামার, যিনি পাইথন কোডিং মজাটি মোবাইল / ক্রস প্ল্যাটফর্ম ডেভেলপমেন্টে আনতে আসলেই পছন্দ করেন।


অ্যান্ড্রয়েড জন্য স্ক্রিপ্টিং স্তর

SL4A আপনি চান কি না। আপনি সহজেই আপনার ডিভাইস থেকে সরাসরি আপনার ডিভাইসে এটি ইনস্টল করতে পারেন এবং রুট প্রয়োজন হয় না।

এটি ভাষার একটি পরিসীমা সমর্থন করে। পাইথন সবচেয়ে পরিপক্ক। ডিফল্টরূপে, এটি পাইথন 2.6 ব্যবহার করে, তবে এর পরিবর্তে একটি 3.2 পোর্ট রয়েছে যা আপনি ব্যবহার করতে পারেন। আমি গ্যালাক্সি এস 2 এ সব ধরনের জিনিসের জন্য পোর্ট ব্যবহার করেছি এবং এটি জরিমানা করেছে।

এপিআই

SL4A প্রতিটি সমর্থিত ভাষার জন্য তাদের android লাইব্রেরির একটি পোর্ট সরবরাহ করে। লাইব্রেরী একটি Android অ্যানিমেটেডের মাধ্যমে অন্তর্নিহিত Android API এ একটি ইন্টারফেস সরবরাহ করে।

from android import Android

droid = Android()
droid.ttsSpeak('hello world') # example using the text to speech facade

প্রতিটি ভাষা বেশিরভাগ একই API আছে। আপনি এমনকি ওয়েবউইভের ভিতরে জাভাস্ক্রিপ্ট API ব্যবহার করতে পারেন।

let droid = new Android();
droid.ttsSpeak("hello from js");

ব্যবহারকারী ইন্টারফেস

ব্যবহারকারী ইন্টারফেসের জন্য আপনার তিনটি বিকল্প রয়েছে:

  • আপনি API এর মাধ্যমে জেনেরিক, নেটিভ সংলাপ এবং মেনুগুলি সহজেই ব্যবহার করতে পারেন। এই নিশ্চিতকরণ সংলাপ এবং অন্যান্য মৌলিক ব্যবহারকারী ইনপুট জন্য ভাল।
  • আপনি একটি পাইথন স্ক্রিপ্টের ভিতর থেকে একটি ওয়েবউইউ খুলতে পারেন, তারপর ব্যবহারকারীর ইন্টারফেসের জন্য HTML5 ব্যবহার করতে পারেন। যখন আপনি পাইথন থেকে ওয়েবউইউগুলি ব্যবহার করেন, তখন আপনি ওয়েবউইউউ এবং পাইথন প্রক্রিয়ার মধ্যে এটি প্রেরণ করে বার্তাগুলি প্রেরণ করতে পারেন। ইউআই নেটিভ হবে না, কিন্তু এটি এখনও একটি ভাল বিকল্প।
  • নেটিভ Android ব্যবহারকারীর ইন্টারফেসগুলির জন্য কিছু সমর্থন আছে, তবে আমি নিশ্চিত নই এটি কতটা ভাল কাজ করে; আমি শুধু এটা ব্যবহার করা হয় না।

আপনি বিকল্পগুলি মিশ্রিত করতে পারেন, তাই আপনি প্রধান ইন্টারফেসের জন্য ওয়েবউইভ থাকতে পারেন এবং এখনও স্থানীয় সংলাপ ব্যবহার করতে পারেন।

QPython

http://qpython.com/ নামের একটি তৃতীয় পক্ষের প্রকল্প http://qpython.com/ । এটি SL4A এ তৈরি করে এবং অন্য কিছু দরকারী উপাদানগুলিতে ফেলে দেয়।

QPython আপনাকে আপনার ইনস্টলেশন পরিচালনা করার জন্য একটি নিকৃষ্ট UI দেয় এবং এতে সামান্য, টাচস্ক্রীন কোড সম্পাদক, পাইথন শেল এবং প্যাকেজ পরিচালনার জন্য একটি PIP শেল রয়েছে। তারা একটি পাইথন 3 পোর্ট আছে। উভয় সংস্করণ বিনামূল্যে প্লে স্টোর থেকে পাওয়া যায়। কিপিথন কিভি সহ Android প্রকল্পগুলিতে পাইথনের গুচ্ছ থেকে লাইব্রেরিগুলিও বান্ডিল করে, তাই এটি কেবল SL4A নয়।

নোট করুন যে QPython এখনও SL4A এর তাদের ফর্ক বিকাশ করে (যদিও, সৎ হতে বেশি নয়)। প্রধান SL4A প্রকল্প নিজেই বেশ অনেক মৃত।

উপকারী সংজুক


PlayStore এ QPython3 নামে একটি অ্যাপ্লিকেশন রয়েছে যা সম্পাদনা এবং চলমান পাইথন স্ক্রিপ্ট উভয়ের জন্য ব্যবহার করা যেতে পারে।

Playstore লিঙ্ক

আরেকটি অ্যাপ টার্মাক্স যা আপনি কমান্ড ব্যবহার করে পাইথন ইনস্টল করতে পারেন

pkg install python

Playstore লিঙ্ক


SL4A ব্যবহার করে (যা ইতিমধ্যে অন্য উত্তরগুলিতে নিজের দ্বারা উল্লেখ করা হয়েছে) আপনি একটি সম্পূর্ণ ফুটো ওয়েব web2py ইনস্ট্যান্স run পারেন (অন্যান্য পাইথন ওয়েব ফ্রেমওয়ার্কগুলিও সম্ভবত প্রার্থী হিসাবে ভাল)। SL4A আপনাকে নেটিভ UI উপাদানগুলি (বোতাম, স্ক্রোল বার এবং অনুরূপ) করতে দেয় না, তবে এটি ওয়েব WebViews সমর্থন WebViews । একটি WebView মূলত একটি নির্দিষ্ট ঠিকানা এ নির্দেশিত একটি ক্লিপ ডাউন ওয়েব ব্রাউজার আর কিছুই নয়। আমি বিশ্বাস করি নেটিভ জিমেইল অ্যাপ্লিকেশন নিয়মিত উইজেট রুট করার পরিবর্তে ওয়েব ভিউ ব্যবহার করে।

এই রুট কিছু আকর্ষণীয় বৈশিষ্ট্য হবে:

  • বেশিরভাগ পাইথন ওয়েব ফ্রেমওয়ার্কের ক্ষেত্রে, আপনি আসলেই অ্যান্ড্রয়েড ডিভাইস বা Android এমুলেটর ব্যবহার না করেই বিকাশ এবং পরীক্ষা করতে পারেন।
  • আপনি যে কোনও পাইথন কোডটি ফোনের জন্য লিখিতভাবে লিখতে পারেন তা খুব কম (যদি থাকে) সংশোধন সহ একটি পাবলিক ওয়েবসার্ভারেও রাখা যেতে পারে।
  • আপনি সেখানে সব পাগল ওয়েব স্টাফ সুবিধা নিতে পারে: প্রশ্ন, HTML5, CSS3, ইত্যাদি

আপনি sl4a ব্যবহার করে আপনার পাইথন কোড চালাতে পারেন। sl4a পাইথন, Perl , JRuby , Lua , বীনশেল, জাভাস্ক্রিপ্ট, Tcl , এবং শেল স্ক্রিপ্ট সমর্থন করে।

আপনি sl4a পাইথন উদাহরণ শিখতে পারেন।


আপনি Termux অ্যাপ্লিকেশন ব্যবহার করতে পারেন:

নোট করুন যে পিটন ইন্সটল পাইথন ইন্সটল করুন 3. পাইথন 2 এর জন্য আপনি shoud call ptthon2 ইনস্টল করুন।

এখানে কিছু জনসাধারণ: https://www.youtube.com/watch?v=fqqsl72mASE

এবং github পৃষ্ঠাটি: https://github.com/termux


আমি QPython অ্যাপ্লিকেশন ব্যবহার করুন। এটি একটি সম্পাদক, কনসোল, এবং আপনি এটির সাথে আপনার পাইথন প্রোগ্রাম চালাতে পারেন। আবেদন বিনামূল্যে, এবং লিঙ্কটি http://qpython.com/


আমি অ্যান্ড্রয়েডের জন্য পাইথন 2.7.2 ক্রস সংকলনের জন্য নির্দেশাবলী এবং একটি প্যাচ পোস্ট করেছি, আপনি এখানে আমার ব্লগে এটি পেতে পারেন: http://mdqinc.com/blog/2011/09/cross-compiling-python-for-android/

সম্পাদনা করুন: আমি আমার 2 ডি গেম ইঞ্জিন ইগনিফগা খোলা করেছি, এটি পাইথন / এসডিএল ভিত্তিক এবং এটি Android এর জন্য ক্রসগুলিকে ক্রস করে। এমনকি যদি আপনি গেমগুলির জন্য এটি ব্যবহার না করেন তবেও আপনি কোড এবং বিল্ডার ইউটিলিটি থেকে কার্যকর ধারনা পেতে পারেন (শ্যাফার নামে, টিমের পরে ... আপনি কে জানেন)।


এখনো অন্য একটি প্রচেষ্টা: https://code.google.com/p/android-python27/

এই এক আপনার অ্যাপ্লিকেশন apk সরাসরি পাইথন ব্যাখ্যাকারী এমবেড।


এখানে পোস্ট করা হয়নি দেখেছেন, কিন্তু আপনি Pyside এবং Qt এর সাথে এটি করতে পারেন যে Qt এড্রয়েডগুলিতে কাজ করে Necessitas এর জন্য ধন্যবাদ।

এই মুহুর্তে এটি বেশ কদাকার মত মনে হচ্ছে তবে অবশেষে এটি একটি কার্যকর পথ হতে পারে ...

http://qt-project.org/wiki/PySide_for_Android_guide


ডক্সগুলিকে উদ্ধৃত করে আরও একটি বিকল্প pyqtdeploy বলে মনে হচ্ছে:

একটি টুল যা QT দিয়ে সরবরাহ করা অন্যান্য সরঞ্জামগুলির সাথে যুক্ত, পাইথন v2.7 বা পাইথন v3.3 বা পরবর্তীতে লিখিত PyQt4 এবং PyQt5 অ্যাপ্লিকেশনগুলির স্থাপনার সক্ষম করে। এটি ডেস্কটপ প্ল্যাটফর্মগুলিতে (লিনাক্স, উইন্ডোজ এবং ওএস এক্স) এবং মোবাইল প্ল্যাটফর্মগুলিতে (iOS এবং Android) স্থাপনার সমর্থন করে।

পাইকিটি 5 অ্যাপ্লিকেশনটি অ্যান্ড্রয়েডকে পিকুইডিয়েল এবং QT5 এর মাধ্যমে Android এ পিকুটি 5 অ্যাপ্লিকেশন স্থাপনের মতে এটি সক্রিয়ভাবে উন্নত, যদিও এটি অ্যান্ড্রয়েডগুলির সমস্ত প্রয়োজনীয় লাইব্রেরিগুলি কীভাবে ক্রস-সংকলন করা যায় সে বিষয়ে টিউটোরিয়ালগুলি কাজ করা কঠিন। এটা মজার রাখা যদিও একটি আকর্ষণীয় প্রকল্প!


নতুন অ্যান্ড্রয়েড স্ক্রিপ্টিং এনভায়রনমেন্ট (ASE / SL4A) প্রকল্প রয়েছে। এটা দুর্দান্ত দেখাচ্ছে, এবং এটি নেটিভ Android উপাদানগুলির সাথে কিছু ইন্টিগ্রেশন আছে।

দ্রষ্টব্য: আর "সক্রিয় উন্নয়ন" এর অধীনে আর কিছু ফর্ক হতে পারে না।


মুহূর্তে না এবং আপনি ভাগ্যবান হবেন জিতনকে শীঘ্রই কাজ করতে। আপনি যদি এখন আপনার বিকাশ শুরু করার পরিকল্পনা করছেন তবে আপনি এখন জাভাতে আটকে থাকা আরও ভাল হয়ে উঠবেন।


google-opensource.blogspot.com/2009/06/…

SL4A এর মাধ্যমে ম্যাট Cutts এর মাধ্যমে একটি উদাহরণ - "এখানে পাইথন কোডের ছয় লাইনগুলিতে লেখা একটি বারকোড স্ক্যানার রয়েছে:

import android
droid = android.Android()
code = droid.scanBarcode()
isbn = int(code['result']['SCAN_RESULT'])
url = "http://books.google.com?q=%d" % isbn
droid.startActivity('android.intent.action.VIEW', url)

github.com/kivy/python-for-android সাইটের github.com/kivy/python-for-android থেকে:

অ্যান্ড্রয়েডের জন্য পাইথন আপনার নিজস্ব পাইথন বন্টন তৈরি করার একটি প্রকল্প যা আপনার পছন্দের মডিউলগুলি সহ তৈরি করে এবং পাইপন, libs এবং আপনার অ্যাপ্লিকেশন সহ একটি APK তৈরি করে।


BeeWare । এই প্রশ্নের উত্তর দেওয়ার মুহূর্তে এটি এখনও প্রাথমিক উন্নয়ন। অ্যান্ড্রয়েড সহ সমস্ত সমর্থিত অপারেটিং সিস্টেমের জন্য পাইথনের সাথে নেটিভ অ্যাপস তৈরি করতে সক্ষম হওয়া এটির উদ্দেশ্য।


এক উপায় Kivy ব্যবহার করা হয়:

বহু-স্পর্শ অ্যাপ্লিকেশানগুলির মতো উদ্ভাবনী ব্যবহারকারীর ইন্টারফেসগুলি ব্যবহার করার জন্য অ্যাপ্লিকেশনগুলির দ্রুত বিকাশের জন্য ওপেন সোর্স পাইথন লাইব্রেরী।

কিউই লিনাক্স, উইন্ডোজ, ওএস এক্স, অ্যান্ড্রয়েড এবং আইওএস চালায়। আপনি সমস্ত সমর্থিত প্ল্যাটফর্মে একই [পাইথন] কোড চালাতে পারেন।

কিভি শোকেস অ্যাপ্লিকেশন





android-scripting