+2 امتیاز
قبل در برنامه نویسی توسط (281 امتیاز)
ویرایش شده قبل توسط

آیا در یک GWT application  میتوان یک برنامه آندرویید را صدا کرد ؟

از طریق خود آندرویید این کار یسیار ساده و با کد ذیل انجام میشود , برای GWT چیزی پیدا نکردم

Intent intent = new Intent(Intent.ACTION_MAIN);
intent.setClassName("com.example.package", "com.example.package.ActivityToStart");
startActivity(intent);
قبل توسط (1.1هزار امتیاز)
شما از چه کتابخانه اي براي توليد برنامه هاي اندرويد با gwt استفاده مي کنيد ?
قبل توسط (281 امتیاز)
gwtphonegap-2.0.0.0.jar
android-support-v4.jar

1 پاسخ

+1 امتیاز
قبل توسط (475 امتیاز)
انتخاب شده قبل توسط
 
بهترین پاسخ

GWT application پلتفرم است که کدهای جاوا را به کد های HTML و JavaScript تبدیل میکند و در نهایت روی مرورگر کدهای جاوایی وجود نخواهند داشت که از طریق آنها بتوان یک برنامه android  را روی گوشی صدا زد

پس اگر منظور شما صدا زدن یک برنامه android در مرورگر گوشی است پلتفرم وب مورد استفاده اهمیتی ندارد و باید به دنبال راهکاری در HTML و javaScript  و خود برنامه اندروید بود

برای این منظور ابتدا در برنامه اندرویدی که می خواهیم توسط مرورگر صدا زده شود این فیلتر ها را در manifest قرار می دهیم

<intent-filter>
    <data android:scheme="http" android:host="javabyab.com"/>
    <action android:name="android.intent.action.VIEW" />
</intent-filter>

در این مثال بعد از نصب برنامه اگر کسی در مرورگر بر روی لینک javabyab.com کلیک کرد صفحه ای باز شده و پرسیده میشود که از لیست برنامه هایی که می توانند این لینک را نمایش دهند انتخاب کنید که برنامه شما نیز در لیست خواهد بود

اگر به صورت خاص می خواهید فقط یک اپشن برای لینک مورد نظر وجود داشته باشد به این صورت عمل کنید

<intent-filter>
    <data android:scheme="my.special.scheme" />
    <action android:name="android.intent.action.VIEW" />
</intent-filter>

و در صفحه تولیدی توسط GWT  و یا هر پلتفرم دیگر این تگ را قرار دهید

<a href="my.special.scheme://other/parameters/here">

و این my.special.scheme  میتواند هر نامی باشد که شما می خواهید ولی باید در لینک و فیلتر یکسان باشند

پارامتر های ارسالی را نیز به این صورت می توان در برنامه اندروید لود کرد

Uri data = getIntent().getData();
String scheme = data.getScheme(); // "http"
String host = data.getHost(); // "javabyab.com"
List<String> params = data.getPathSegments();
String first = params.get(0); // "status"
String second = params.get(1); // "1234"

 

قبل توسط (281 امتیاز)
فرض کنید که در برنامه gwt  من یک  button  وجود دارد که با کلیک کردن آن قرار است یک برنامه آندروییدی اجرا شود , با روش شما صدا کردن برنامه مثل اجرای یک url  است که این کار به راحتی در gwt با دستور Window.Location.assign("Http...اجرا میشود
ولی وقتی در قسمت url  آدرسی که در manifest  آندرویید گذاشته ام را صدا میکنم هیچ خروجی ندارم
قبل توسط (475 امتیاز)
بله button در GWT یک فرایند اکشن Ajax Post ایجاد می کند که برای مرورگر با لینک خیلی فرق دارد
این راهکار فقط برای لینک های http  قابل استفاده است پس بهتر است یک link button  در GWT بسازید
قبل توسط (281 امتیاز)
با تشکر همه چیز درست کار میکنه فقط این دوخط هم باید اضافه بشه :
 <intent-filter>
                    <data android:scheme="my.special.scheme" />
                 <action android:name="android.intent.action.VIEW" />
                 <category android:name="android.intent.category.DEFAULT" />
                 <category android:name="android.intent.category.BROWSABLE" />
            </intent-filter>
قبل توسط (1.1هزار امتیاز)
لطفا اگر مشکلتون برطرف شد جواب را بعنوان بهترین انتختب کنید و رای بدهید.
قبل توسط (281 امتیاز)
نمیتونم رای بدم آقای زرین فام, پیغام میده"این گزینه برای بعضی از کاربران فعال است"
قبل توسط (1.1هزار امتیاز)
این لینک رو ببینید: http://www.javabyab.com/66
قبل توسط (281 امتیاز)
آیا امکان این که این دو برنامه gwt  و آندرویید با یکدیگر به ردو بدل اططلاعات بپردازند نیز وجود دارد؟
قبل توسط (1.1هزار امتیاز)
لطفا این مورد را بعنوان یک سوال جدید مطرح کنید.
قبل توسط (475 امتیاز)
اگر منظور ارسال پارامتر در هنگام صدا زدن برنامه است جواب را در بالا داده ام اما اگر منظور در هنگام کار برنامه است ، بهتر است که برنامه اندروید از طریق وب سرویس با برنامه GWT  ارتباط برقرار کند
قبل توسط (1.1هزار امتیاز)
لطفا جواب خود را در این سوال مطرح کنید: http://www.javabyab.com/225

سوالات مشابه

0 امتیاز
2 پاسخ 1.3هزار بازدید
+1 امتیاز
2 پاسخ 814 بازدید
+1 امتیاز
2 پاسخ 1.3هزار بازدید
0 امتیاز
0 پاسخ 501 بازدید
...