رفتن به مطلب
برای استفاده از انجمن و عضـویت کلیک کنید.
جستجو در
  • تنظیمات بیشتر ...
نمایش نتایجی که شامل ...
جستجو در ...

AnswerCenter

مرکز پاسخگویی به سوالات برنامه نویسی

  • مرجع پاسخگویی
  • تولید آموزش
  • سفارش پروژه

درخواست سفارش پروژه

اطلاعیه

کاربر گرامی

به انجمن برنامه نویسی AnswerCenter.ir خوش آمدید

 برای استفاده از تمامی امکانات سایت لطفا در انجمن عضو شوید


تخته امتیازات


مطالب محبوب

در حال نمایش مطالب دارای بیشترین امتیاز در ۱۹/۰۱/۳۰ در همه بخش ها

  1. 1 امتیاز
    سلام و درود. فقط کافیه کد زیر رو به فایل xml اضافه کنید. حتما فایلها رو read-only کنید که موقه کامپایل حذف نشه android:previewImage="@drawable/youricon"
  2. 1 امتیاز
    سلام. دوست عزیز اولا کدهاتون رو توی قسمت کد بزارید که خوانا بشه. ثانیا. شما اومدین و با دستور AddTwoLinesAndBitmap به لیست ویو آیتم دادین. و باید تغییرات لیبل رو با TwoLinesLayout بدین نه SingleLineLayout
  3. 1 امتیاز
    مشکلم حل شد از کد زیر استفاده کردم Sub Activity_Create(FirstTime As Boolean) 'Do not forget to load the layout file created with the visual designer. For example: #if java import android.widget.*; import android.webkit.*; public void SetWebChrome(WebView wv) { wv.setWebChromeClient(new WebChromeClient() { @Override public void onPermissionRequest(PermissionRequest request) { BA.Log("onPermissionRequest"); request.grant(request.getResources()); } }); } #End If Activity.LoadLayout("a") Dim jme As JavaObject jme.InitializeContext jme.RunMethod("SetWebChrome", Array(WebView1)) End Sub
  4. 1 امتیاز
    برای ارسال به هاست شما فقط میتونی فایل ارسال کنی نه فایلی رو تغییرات بدی که داخل انجمن سرچ کنی تاپیک های زیادی در مورد آپلود فایل وجود داره دوست عزیز
  5. 1 امتیاز
    خوب تو هاست فایل txt رو باز میکنید ویرایش میکنید سمت بیسیک هم ویرایش میشه دیگه شما تو ساب کریت اکتیویتی بگو هر سری برنامه باز شد فایل رو دانلود کنه . ولی استاندارد این کار با دیتابیس آنلاین هست
  6. 1 امتیاز
    از داخل بیسیک فور اندروید چیکار کنید متوجه نشدم ؟
  7. 1 امتیاز
    هر هاستی رایگان هم میتونید مثلا گیگ فا یا هر هاست دیگه ای
  8. 1 امتیاز
    وقتی ایمیل ارسال نمیشه یا درست کانفیگ نشده نیاز به کانفیگ فایل php.ini هست یا پورت اتصال به ایمیل تو سرور باز نیست یا یچیز دیگس یا .... اگه نشد از PHPMailer استفاده کنید.
  9. 1 امتیاز
    یه txt رو هاست آپلود کن بعد بیا تو بیسیک دانلود کن بعد با دستور به این تاپیک سر بزن
  10. 1 امتیاز
    نمونه رو ندیم ولی شما قبل از تست حتما اپ رو پاک کن و مجددا نصب کنید و فایلی رو که تغییر دادین روش کلیک کنید و در properties حتما Read-Only رو تیک بزنید
  11. 1 امتیاز
    خیلی هم عالی.. شاید خیلی از دوستان هم همین مشکل رو داشته باشن: تا وقتی تبلیغات اینشیالایز نشده هیچ تبلیغی دریافت نمیشه تبلیغات معمولا اینشیالایز میشن تا اپ کاربر با توجه به توکنی که میفرسته به سرور، متمایز بشه و تبلیغات آماده ارسال بشن قبل از اینشیالایز هر دستوری برای چک کردن خرید کاربر و... میشه انجام بشه و در صورت خریداری نشدن تبلیغات اینشیالایز و دریافت تبلیغات انجام بشه این قانون برای همه سرویس های تبلیغاتی آنلاین صدق می کنه، مگنت، گوگل، و... فرقی نمی کنن
  12. 1 امتیاز
    به تعداد اپ ها راه هست برای رسیدن به خدا درباره کد کردن encrypt و دیکد کردن decrypt می تونید تو انجمن جستجو کنید مطالب آموزشی و کتابخانه هستش مثل این پست رمزنگاری و تبادل اطلاعات بین سرور و اندروید با PersianEncryption - مرتبط با فروشگاه - مرکز پاسخگویی به سوالات برنامه نویسی و یه کتابخونه هم خود b4a داره به اسم: StringFunctions اینم نمونه کدش Dim Text As String = "http://mr-media.ir" Dim ed As StringFunctions ed.Initialize Text = ed.Encrypt(Text) Msgbox(Text,"Encode") Text = ed.Decrypt(Text) Msgbox(Text,"Decode") کار خوبیه میکنی ولی بزار کارتو راحت تر کنم تا بعدها به مشکل بر نخوری اول از همه کتابخونه زیر رو بخر ویژه: کتابخانه جامع PersianFastNetwork - مرتبط با فروشگاه - مرکز پاسخگویی به سوالات برنامه نویسی به چند دلیل حتما خرید کن 1. من نویسنده کتابخونه نیستم و از کسانی هستم که دارم استفاده میکنم و از روی تجربه میگم و قصد تبلیغ ندارم 2. مشکلاتی در استفاده از کتابخونه های b4a هستش که در این کتابخونه رفع شده 3. و از همه مهم تر ssl که میخوایید استفاده کنید معمولا هاست هایی که خریداری می کنید و ssl رایگان ارائه میدن با کتابخونه های b4a مشکل دارن (همه رو چک کردم و تقریبا موارد دوستان دیگه رو هم چک کرد) در این کتابخونه این مشکل با دستور withTLS حل شده و البته امکانات دیگه ای مثال مدیریت کوکی که در سمت سرور من نیاز شد و... یکبار برای همیشه خودت رو راحت کن و این کتابخونه رو بگیر، آقای محمدرضا شاهپیری نویسنده کتابخونه معاون انجمن هم هستن خب شما با header کلی کار می تونی بکنی ارسال پسورد یوزر یا ایجاد یک شناسه برای تشخیص ارتباط صحیح اپ با سرور (که اگه اشتباه باشه یعنی یکی از همون راه های ارتباط رسیده به خدا) با کتابخونه پرشین نتورک با دستور .addHeder به ریکوئستمون یه متن میدم که در سمت سرور بگیریم، من سادش و میگم Dim pr As PersianFastNetwork pr.initialize("con").WithSSL.WithTLS.Build Dim Get As GetRequest=pr.BuildGetQuery("https://your-site.com/api.php","Event") Get.addHeder("User-Agent", "App: InstaDownloader Version: 1.7 Secret: 5787").executRequesAsString سمت سرور در ابتدای فایل php این کد رو میزاری برای چک کردن User-Agent که در بالا دادیم if(strlen(strstr($_SERVER['HTTP_USER_AGENT'],"Secret: 5787")) <= 0 Or strlen(strstr($_SERVER['HTTP_USER_AGENT'],"InstaDownloader")) <= 0){ die("کابر مجاز نیست!!!"); } اگه هدر اشتباه ست بشه مابقی کد های php اجرا نمیشه... حالا خلاقیت انجام کار و نحوه استفاده و تغییر کد با خودتون
  13. 1 امتیاز
    با کلاس پیشفرض mail نیاز به وارد کردن پسورد نیست فقط ، آدرس فرستنده وارد بشه (آدرس ایمیل ساخته شده تو سی پنل یا دایرکت ادمین) با کلاس PHPMailer از طریق پروتکل SMTP نیاز به وارد کردن مشخصات لازم هست.
  14. 1 امتیاز
    Dim PH As Phone PH.SetScreenBrightness(0.5) ' 0 ~ 1 Log(PH.GetSettings("screen_brightness"))
  15. 1 امتیاز
    سلام، همونطور که میدونید از اندروید نسخه 6 به بعد بعضی از دسترسی ها نیازمند این هستند که در زمان اجرا از کاربر درخواست بشن. مطلب زیر، در سایت B4X.COM وجود داره که بنده ترجمه و بعضی توضیحات تکمیلی رو بهش اضافه کردم تا کاملا قابل فهم باشه. پیشنهاد میکنم که مطالعه کنید، نکات خوبی ارائه شده. ------------- موضوع: دسترسی های زمان اجرا این یک امکان اختیاری است. تنها در صورتی اجباری محسوب میشود که (مشخصه) android:targetSdkVersion (در Manifest) برابر با 23 یا بالاتر باشد. اگر targetSdkVersion پایینتر از 23 باشد، فرایند استاندارد دسترسی ها روی دستگاه اجرا میشود. (حتی اگر اندروید بالای 6 داشته باشند) نسخه 6.0 نرم افزار B4A (و بالاتر) از "دسترسی های زمان اجرا" پشتیبانی میکند. نکته زیبای "دسترسی های زمان اجرا" این است که هنگام نصب نرم افزارِ شما از Play Store هیچ دسترسی ای از کاربر درخواست نمیشود و در عوض، هنگام اجرای برنامه از آنها درخواست تایید دسترسی های حساس میشود. خوشبختانه بسیاری از دسترسی ها به عنوان دسترسی حساس محسوب نمیشوند. شما میتوانید لیست دسترسی های حساس را در لینک زیر ببینید: https://developer.android.com/guide/topics/permissions/requesting.html#perm-groups (به دلیل تحریم ایران، لیست دسترسی های حساس در زیر آورده شده است) READ_CALENDAR WRITE_CALENDAR CAMERA READ_CONTACTS WRITE_CONTACTS GET_ACCOUNTS ACCESS_FINE_LOCATION ACCESS_COARSE_LOCATION RECORD_AUDIO READ_PHONE_STATE CALL_PHONE READ_CALL_LOG WRITE_CALL_LOG ADD_VOICEMAIL USE_SIP PROCESS_OUTGOING_CALLS BODY_SENSORS SEND_SMS RECEIVE_SMS READ_SMS RECEIVE_WAP_PUSH RECEIVE_MMS READ_EXTERNAL_STORAGE WRITE_EXTERNAL_STORAGE درخواست دسترسی در زمان اجرای برنامه مثال: Sub Process_Globals Private rp As RuntimePermissions End Sub Sub Globals Private gmap As GoogleMap Private MapFragment1 As MapFragment End Sub Sub Activity_Create(FirstTime As Boolean) Activity.LoadLayout("1") End Sub Sub MapFragment1_Ready gmap = MapFragment1.GetMap rp.CheckAndRequest(rp.PERMISSION_ACCESS_FINE_LOCATION) End Sub Sub Activity_PermissionResult (Permission As String, Result As Boolean) If Permission = rp.PERMISSION_ACCESS_FINE_LOCATION Then gmap.MyLocationEnabled = Result End If End Sub بخش کلیدی این فرایند، متد RuntimePermissions.CheckAndRequest میباشد. منطق (الگوریتم) این متد (ساده شده): If <user has already approved> Or <older device> Then Activity_PermissionResult (Permission, True) Else ShowDialog Activity_PermissionsResult (Permission, Dialog result) End If ( توضیحات تکمیلی: شرط اول به این شکل عمل میکنه که اگه کاربر قبلا درخواست این دسترسی رو تایید کرده بود یا نسخه اندروید پایینتر از 6 داشت، در واقع برنامه دسترسی انجامِ اون کار رو داره و بدون مشکل میتونه به کارش ادامه بده، در غیر اینصورت دسترسی رو از کاربر درخواست میکنه و به برنامه اعلام میکنه که هنوز دسترسی لازم رو نداره ) متد CheckAndRequest یک متد مسدود کننده (ایجاد کننده تاخیر در برنامه، بلا استفاده شدن برنامه با اجرای آن) نیست. روند اجرای نرم افزار ادامه پیدا میکند و بعد از آن رویداد Activity_PermissionResult به اجرا در می آید. متد CheckAndRequest تنها میتواند از درون یک Activity صدا زده شود. متد دیگری به نام Check وجود دارد که تنها بررسی میکند آیا دسترسی مورد نظر قبلا تایید شده است یا خیر. این متد میتواند از هر ماژولی در برنامه صدا زده شود. شاید وسوسه انگیز باشد که در ابتدا بررسی کنیم آیا دسترسی مورد نیاز داده شده است یا نه و اگر وجود نداشت، آن را درخواست کنیم! در حالی که این کار فقط روند اجرای نرم افزار را پیچیده میکند به شکلی که شما مجبور به سر و کار داشتن با تمام این موارد میشوید. به عنوان یک قاعده کلی، شما نباید متد RuntimePermissions.Check را از یک Activity صدا بزنید (و استفاده کنید)، همواره ساده ترین راه استفاده از CheckAndRequest میباشد. لیست کردن دسترسی های برنامه بسیاری از این موضوع آگاه نیستند که میتوان دسترسی های پروژه را با کلیک کردن برروی دکمه List Permissions در زبانه Logs مشاهده کرد: در B4A نسخه های بالاتر از 6، دسترسی های حساس با * مشخص شده اند. شما نیازی به درخواست مجوز (در زمان اجرای برنامه) برای دسترسی های غیرحساس (معمولی) ندارید. READ_EXTERNAL_STORAGE / WRITE_EXTERNAL_STORAGE این رایج ترین دسترسی حساس میباشد. هنگامی که از File.DirDefaultExternal یا File.DirRootExternal استفاده میکنید، به شکل خودکار به پروژه اضافه میشود. در حالی که یک راه حل ساده برای اینکار وجود دارد. 1- از RuntimePermissions.GetSafeDirDefaultExternal("") به جای File.DirDefaultExternal استفاده کنید. پارامتری که به آن داده میشود، نامِ یک پوشه داخل پوشه پیشفرض (DirDefaultExternal) میباشد. 2- کد زیر را به فایل Manifest خود اضافه کنید: AddManifestText( <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" android:maxSdkVersion="18" /> ) توضیحی که میتوان برای کد بالا ارائه کرد، این است که RuntimePermissions.GetSafeDirDefaultExternal هیچ دسترسی خاصی را در دستگاه هایی با اندروید بالای 4.4 (API 18) نیاز ندارد و در دستگاه های پایین 4.4 به دسترسی WRITE_EXTERNAL_STORAGE نیازمند است. کدِ بالا این دسترسی را برای دستگاه های قدیمی اضافه میکند. شما در زمان اجرای برنامه تنها باید با WRITE_EXTERNAL_STORAGE سر و کار داشته باشید اگر نیازمند دسترسی به پوشه ای به جز پوشه پیشفرض خارجی اپلیکیشن خود (File.DirDefaultExternal) دارید. نکات مهم: - شما تنها میتوانید دسترسی هایی را در زمان اجرا درخواست کنید که در Manifest برنامه خود آنها را تعریف کرده باشید (معمولا توسط کامپایلر مورد بررسی قرار میگیرد). - تست و بررسی دسترسی ها میتواند گیج کننده باشد، چرا که کاربر تنها یکبار نیاز به تایید مجوز دسترسی دارد. راه حل، حذف کردن اپلیکیشن از روی دستگاه است. دکمه های Ctrl + P را در محیط برنامه نویسی B4A بفشارید (Clean Project) و دوباره نرم افزار را اجرا کنید. - کاربر مجوز دسترسی گروهی از دسترسی ها را تایید میکند. بنابراین اگر کاربر درخواست مجوز خواندن مخاطبین را تایید کند، دوباره از او درخواست مجوز دسترسی نوشتن در مخاطبین نمیشود (چرا که با تایید دسترسی خواندن مخاطبین، دسترسی نوشتن در آنها نیز به برنامه داده میشود). - دفعه اول که شما نرم افزار خود را با targetSdkVersion برابر با 23 به Google Play بارگذاری کنید، دیگر نمیتوانید مقدار targetSdkVersion را کاهش دهید. * لینک مطلب در سایت مرجع: Android Tutorial - Runtime Permissions (Android 6.0+ Permissions) | B4X Community - Android, iOS, desktop, server and IoT programming tools ------------ نکته: کتابخانه ی مورد نیاز اینکار در لیست کتابخانه های پیشفرض نسخه های اخیر B4A قرار داره و میتونید از اون لیست انتخابش کرده و به برنامه تون اضافه کنید. دوستانِ عزیزی که فرصتش رو دارند، ممنون میشیم اگه سورس کد آموزشی اینکار رو برای بنده بفرستن یا همینجا بذارن که اگه خوب بود پیوست همین پست بکنم! در غیر اینصورت خودم در اولین فرصت اینکار رو انجام و با توضیحات کامل خدمتتون ارائه میدم. ترجمه اختصاصی فارسی و ارائه آموزش از AnswerCenter.IR (مرکز پاسخگویی به سوالات برنامه نویسی) موفق باشید.
  16. 1 امتیاز
    بفرما این شاید به دردت بخوره هم سورس و هم کتابخونه هستش Manam-Persian-Date.rar
×
×
  • جدید...