اندرویدستان 90 ارسال شده در 21 مرداد، ۱۳۹۵ اشتراک گذاری ارسال شده در 21 مرداد، ۱۳۹۵ کسی هست که بداند چطوری میشود برای اپلیکیشن اینتنت ( Intent ) طراحی کرد؟ برای بیسیک4اندروید. مثلا بوسیله اپلیکیشن شماره یک ، یک اکتیویتی در اپلیکیشن شماره دو را نمایش دهد. لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
پژمان نیکروان 6,055 ارسال شده در 22 مرداد، ۱۳۹۵ اشتراک گذاری ارسال شده در 22 مرداد، ۱۳۹۵ ممنون از راهنمایی. همه چیز درست بود فقط چون من تازه کارم هر راهی که بگی رفتم ولی نتونستم مقدار value را دریافت کنم ممنون میشم اگه راهنمایی را کامل کنید خواهش میکنم. برای گرفتن اون مقدار ها یه متد خاصی داره اینتنت ولی این اینتنت بیسیک نداره. منم یادم رفته دقیقا... باید از SMIntent، کتابخانه ای که یکی از بچه ها زحمتشو کشیده و کامل از جاوا رپ کرده استفاده کنید. حالا اون به کنار یک روش دیگه ای میگم که یه اینتنت اختصاصی بسازید و با برادکست صداش بزنید. خیلی بهتره. هم اون روش رو پس یاد گرفتیم هم این یکی رو یاد میگیریم که هردو بکار میاد. برای اولی مثل ساخت قسمت نظرات و... بازار. روش دومی هم که میخوام بگم مثل برنامه MXPlayer که اینطوری اینتنت ساخته. داخل پروژه اپ 2 که قراره اینتنت رو دریافت کنه یه سرویس میسازیم و یه اسم براش میذاریم، مثلا: receiver بعد به منیفست اش اینو اضافه میکنیم: AddReceiverText(receiver, <intent-filter> <action android:name="b4a.example.dooo.MY_ACTION" /> </intent-filter> ) receiver که اسم همون سرویسه، بعدش قسمت اول اون اکشن هم که پکیج نیم برنامه هست، MY_ACTION هم یه اکشنی که تعریف کردیم تا اپ ما این رو بپذیره. میتونید هرچندتا که میخواین اضافه کنید به همین ترتیب با نام های مختلف. بعد توی رویداد StartService این سرویس اون اکشن مورد نظر که صدا زده شده رو نمایش میدیم: Sub Service_Start (StartingIntent As Intent) ToastMessageShow(StartingIntent.Action,True) End Sub دیدید خیلی راحت اکشن رو گرفتیم و Toast دادیم. حالا همینجا میتونید شرط بذارید اگه اکشن b4a.example.dooo.MY_ACTION بود بیاد فلان اکتیویتی رو استارت کنه و چیز دیگه ای بود کار دیگه انجام بده... حالا میریم جلوتر میگم که چطور مقدار هم بدیم و با مقدار هاش بازی کنیم. حالا میریم سراغ اپ 1 و با اون اپ2 رو صدا میزنیم: Sub Activity_Create(FirstTime As Boolean) Dim j As JavaObject : j.InitializeContext Dim intent1 As Intent intent1.Initialize("b4a.example.dooo.MY_ACTION","") j.RunMethod("send",Array As Object(intent1)) End Sub #if java import android.content.Intent; public void send(Intent intent){ sendBroadcast(intent); } #end if این کدهارو میبینید تعجب نکنید. چون بیسیک متد sendBroadcast نداشت من با جاوا ایجادش کردم با با این کد اجراش کردم: Dim j As JavaObject : j.InitializeContext Dim intent1 As Intent intent1.Initialize("b4a.example.dooo.MY_ACTION","") j.RunMethod("send",Array As Object(intent1)) دیدید خیلی راحت اکشن b4a.example.dooo.MY_ACTION رو صدا زدم و اون اپ هم که روی اون دستگاه نصبه بهم ToastMessage میده. حالا میتونید بازهم مثل مورد قبلی اختصاصیش کنید و یک مقدار هایی رو تعیین بکنید موقع صدا زدن: Dim j As JavaObject : j.InitializeContext Dim intent1 As Intent intent1.Initialize("b4a.example.dooo.MY_ACTION","") intent1.PutExtra("name","pejman") 'اضافه کردن مقدار' intent1.PutExtra("family","nikravan") 'اضافه کردن مقدار' j.RunMethod("send",Array As Object(intent1)) بعد کافیه توی سرویس اپ 2 این مقدار هارو از اینتنت بگیریم: Sub Service_Start (StartingIntent As Intent) Dim name As String=StartingIntent.GetExtra("name") Dim family As String=StartingIntent.GetExtra("family") If name="pejman" Then StartActivity(Main) End If End Sub من هم name و هم family رو گرفتم و یه شرط گذاشتم الکی برای تست... به همین راحتی. لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
اندرویدستان 90 ارسال شده در 22 مرداد، ۱۳۹۵ سازنده اشتراک گذاری ارسال شده در 22 مرداد، ۱۳۹۵ سلام. قطعا اگه میخواید به وسیله ی اپ1 و یا حالا هر اپی که اینتنت شمارو داشته باشه باهاش صداش بزنه و یک اکتیویتی از اپ2 اجرا بشه. باید این امکان رو به منیفست اپ2 بدید. میشه تقریبا مثل بازار که یک لینک داره و با استفاده از اون و اکشن ACTION_VIEW قسمت نظرات رو باز میکنیم. اگه همینو میخواین... میتونید به منیفست اپ 2 اینو اضافه کنید تا یک اینتنت یا لینک اختصاصی ساخته بشه با پروتکل pejman مثلا... AddActivityText(Main,"<intent-filter> <action android:name="android.intent.action.VIEW"/> <category android:name="android.intent.category.DEFAULT"/> <category android:name="android.intent.category.BROWSABLE"/> <data android:scheme="pejman"/> </intent-filter>") دیدین برای بازار میذاریم bazaar:// ، اینجا هم باید بذاریم pejman:// اکتیویتی هم اسمشو مشخص کردیم Main، یعنی به محض استارت شدن اینتنت از یک اپ دیگه، اکتیویتی Main اپ 2 باز بشه. حالا میریم مثلا توی اپ 1 و میخوایم باهاش اکتیویتی Main اپ 2 رو باز کنیم، کافیه این کد رو بنویسیم: Dim intent1 As Intent intent1.Initialize(intent1.ACTION_VIEW,"pejman://value?=test") StartActivity(intent1) به این صورت خیلی راحت باز میشه. ولی حالا میشه اینو اختصاصی ترش کرد و کارای جالب تری انجام داد. جاوا یه رویدادی داره به نام activity_Result. توی بیسیک یادم رفته ولی اگه خواستین روش کار میکنم. میشه مثلا تعیین کرد که اینتنت دریافتی اگه ACTION_EDIT بود بیاد مثلا صفحه نظرات رو باز کنه یا اگه VIEW بود کار دیگه ای بکنه. (البته اینو هم بگم که باید تو منیفست هم تعریف بشه که اینتنت ما EDIT یا اکشن های دیگه رو بپذیره وگرنه اررور میده) اون value=?test هم که میبینید همینطوری گذاشتم. اونا هم استفاده های خودشون رو دارن که بازهم باید با دریافت StartingIntent از اکتیویتی اونارو از اینتنت استخراج کنیم و مقدار هاشو بیرون بیاریم. مثلا میتونیم شرط بذاریم اگه value=فلان بود یکاری انجام بده. یا مثل بازار که مقدار خودش رو پکیج نیم برنامه قرار داده. ممنون از راهنمایی. همه چیز درست بود فقط چون من تازه کارم هر راهی که بگی رفتم ولی نتونستم مقدار value را دریافت کنم ممنون میشم اگه راهنمایی را کامل کنید لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
پژمان نیکروان 6,055 ارسال شده در 15 شهریور، ۱۳۹۶ اشتراک گذاری ارسال شده در 15 شهریور، ۱۳۹۶ در در 1395/10/13, 15:49:26، rasul23 گفته است : من اگه بخام زمانی که روی یک لینک که با http یا https شروع شده کلیک میشه برنامه ام باز بشه در بخش مشخص کردن schme بجای pejman عبارت https و http رو بدید: <data android:scheme="http"/> <data android:scheme="https"/> در در 1395/10/13, 15:49:26، rasul23 گفته است : مقدار اون لینک رو توی یک تست مسیج نشون بده باید چکار کنم در رویداد activity_create اکتیویتی ای که مشخص کردین به محض کلیک روی لینک اجرا بشه به این صورت میتونید آدرس لینک رو بگیرید: Sub Activity_Create(FirstTime As Boolean) Log( Activity.GetStartingIntent.GetData ) End Sub لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
rasul23 40 ارسال شده در 13 دی، ۱۳۹۵ اشتراک گذاری ارسال شده در 13 دی، ۱۳۹۵ سلام من اگه بخام زمانی که روی یک لینک که با http یا https شروع شده کلیک میشه برنامه ام باز بشه و مقدار اون لینک رو توی یک تست مسیج نشون بده باید چکار کنم لطفا راهنماییم کنید لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
اندرویدستان 90 ارسال شده در 21 مرداد، ۱۳۹۵ سازنده اشتراک گذاری ارسال شده در 21 مرداد، ۱۳۹۵ یعنی کسی بلد نیست. لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
پژمان نیکروان 6,055 ارسال شده در 22 مرداد، ۱۳۹۵ اشتراک گذاری ارسال شده در 22 مرداد، ۱۳۹۵ سلام. قطعا اگه میخواید به وسیله ی اپ1 و یا حالا هر اپی که اینتنت شمارو داشته باشه باهاش صداش بزنه و یک اکتیویتی از اپ2 اجرا بشه. باید این امکان رو به منیفست اپ2 بدید. میشه تقریبا مثل بازار که یک لینک داره و با استفاده از اون و اکشن ACTION_VIEW قسمت نظرات رو باز میکنیم. اگه همینو میخواین... میتونید به منیفست اپ 2 اینو اضافه کنید تا یک اینتنت یا لینک اختصاصی ساخته بشه با پروتکل pejman مثلا... AddActivityText(Main,"<intent-filter> <action android:name="android.intent.action.VIEW"/> <category android:name="android.intent.category.DEFAULT"/> <category android:name="android.intent.category.BROWSABLE"/> <data android:scheme="pejman"/> </intent-filter>") دیدین برای بازار میذاریم bazaar:// ، اینجا هم باید بذاریم pejman:// اکتیویتی هم اسمشو مشخص کردیم Main، یعنی به محض استارت شدن اینتنت از یک اپ دیگه، اکتیویتی Main اپ 2 باز بشه. حالا میریم مثلا توی اپ 1 و میخوایم باهاش اکتیویتی Main اپ 2 رو باز کنیم، کافیه این کد رو بنویسیم: Dim intent1 As Intent intent1.Initialize(intent1.ACTION_VIEW,"pejman://value?=test") StartActivity(intent1) به این صورت خیلی راحت باز میشه. ولی حالا میشه اینو اختصاصی ترش کرد و کارای جالب تری انجام داد. جاوا یه رویدادی داره به نام activity_Result. توی بیسیک یادم رفته ولی اگه خواستین روش کار میکنم. میشه مثلا تعیین کرد که اینتنت دریافتی اگه ACTION_EDIT بود بیاد مثلا صفحه نظرات رو باز کنه یا اگه VIEW بود کار دیگه ای بکنه. (البته اینو هم بگم که باید تو منیفست هم تعریف بشه که اینتنت ما EDIT یا اکشن های دیگه رو بپذیره وگرنه اررور میده) اون value=?test هم که میبینید همینطوری گذاشتم. اونا هم استفاده های خودشون رو دارن که بازهم باید با دریافت StartingIntent از اکتیویتی اونارو از اینتنت استخراج کنیم و مقدار هاشو بیرون بیاریم. مثلا میتونیم شرط بذاریم اگه value=فلان بود یکاری انجام بده. یا مثل بازار که مقدار خودش رو پکیج نیم برنامه قرار داده. لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
سوال
اندرویدستان 90
کسی هست که بداند چطوری میشود برای اپلیکیشن اینتنت ( Intent ) طراحی کرد؟
برای بیسیک4اندروید.
مثلا بوسیله اپلیکیشن شماره یک ،
یک اکتیویتی در اپلیکیشن شماره دو را نمایش دهد.
لینک ارسال
به اشتراک گذاری در سایت های دیگر
6 پاسخ به این سوال تاکنون داده شده است
ارسالهای توصیه شده
بایگانی شده
این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.