مهران محمودی 778 ارسال شده در 10 شهریور، ۱۳۹۳ اشتراک گذاری ارسال شده در 10 شهریور، ۱۳۹۳ با عرض سلام خدمت تمامی کاربران محترم، در این آموزش قصد دارم نحوه مسدود سازی (Block) اپلیکشن اندروید رو توسط اینترنت یاد بدم. شرح کار اینطوره که برنامه در هر اجرا در صورتی که ارتباط با اینترنت برقرار بود، محتویات موجود در آدرسی که شما تعیین کردید رو بررسی میکنه. شما باید شرط تعیین کنید اگه اطلاعات برابر با کلمات خاصی بود برنامه اعلام کنه که مسدود شده ! این نکته رو بگم که به یک هاست نیاز داریم که بتونیم فایل آپلود کنیم و اون رو ملاک قرار بدیم برای انجام اینکار ! من خیلی سریع کدها رو قرار میدم توضیحات بیشتر در پست دوم : در قسمت Acitivty_Create : If FirstTime = True Then If isNetAvailable = True Then CheckBlock End If متد isNetAvailable که برای بررسی ارتباط با اینترنت استفاده کردیم: Sub isNetAvailable As Boolean Dim ss As ServerSocket ss.Initialize(0,"") Dim ip As String : ip = ss.GetMyIP If ip = "127.0.0.1" Then Return False Else Return True End If End Sub و متد CheckBlock که در صورت برقراری ارتباط با نت اجرا میشه : Sub CheckBlock Dim client As HttpClient client.Initialize("Client1") Dim request As HttpRequest request.InitializeGet("http://answercenter.ir/mehran/block.txt") client.Execute(request,1) End Sub دو رویداد برای HttpClient وجود داره که برای آموزش بیشتر هر دو رو مورد استفاده قرار میدم؛ رویداد اول در صورت مواجه با خطا هنگام دریافت اطلاعات: Sub Client1_ResponseError (Response As HttpResponse, Reason As String, StatusCode As Int, TaskId As Int) If TaskId = 1 Then ToastMessageShow("خطا در دریافت اطلاعات."+CRLF+Reason,False) End Sub و رویداد دوم در صورت دریافت اطلاعات بدون مشکل : Sub Client1_ResponseSuccess (Response As HttpResponse, TaskId As Int) If TaskId = 1 Then Response.GetAsynchronously("Res1",File.OpenOutput(File.DirInternalCache,fileName,False),True,TaskId) End If End Sub و برای HttpResponse هم یک رویداد وجود داره که در واقع کار اصلی ما در این قسمت انجام میشه که همون بررسی اطلاعات دریافتی هستش : Sub Res1_StreamFinish (Success As Boolean, TaskId As Int) If Success=True Then If File.Exists(File.DirInternalCache,fileName) Then Dim reader As TextReader reader.Initialize(File.OpenInput(File.DirInternalCache,fileName)) Dim data As String : data = reader.ReadAll If data = "blocked" Then Msgbox("برنامه مسدود شده است.","مسدود شده") ExitApplication End If File.Delete(File.DirInternalCache,fileName) End If End If End Sub تموم ! تا یادم نرفته بگم به دو کتابخانه HTTP و Network نیاز داریم که بطور پیشفرض در لیست کتابخانه های Basic4Android قرار دارن. در ضمن انجام اینکار با JavaScript خیلی ساده تر و با کدنویسی کوتاه تر امکان پذیر هستش که به امید خدا در آموزش های بعدی خدمت شما عرض خواهیم کرد. آموزش اختصاصی از انجمن برنامه نویسان Basic4Android کتابخانه ها پیوست شدند. ادامه آموزش در پست بعـدی. موفق باشید. HTTP.rar Network.rar لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
aririkateki 11 ارسال شده در 26 آذر، ۱۳۹۳ اشتراک گذاری ارسال شده در 26 آذر، ۱۳۹۳ سلام من تازه کار با B4a را شروع کردم میشه بگید چطور میتونم با استفاده از چک کردن تاریخ دستگاه عمل مسدود کردن برنامه را انجام بدم؟! ممنون از راهنماییتون لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
mohsen-star 37 ارسال شده در 4 فروردین، ۱۳۹۴ اشتراک گذاری ارسال شده در 4 فروردین، ۱۳۹۴ Response.GetAsynchronously("Res1",File.OpenOutput(File.DirInternalCache,fileName,False),True,TaskId) دقیقا تویه filename باید چی بنویسیم؟ اسم چه فایلی؟ لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
مهدی ایزدی 9,203 ارسال شده در 4 فروردین، ۱۳۹۴ اشتراک گذاری ارسال شده در 4 فروردین، ۱۳۹۴ Response.GetAsynchronously("Res1",File.OpenOutput(File.DirInternalCache,fileName,False),True,TaskId) دقیقا تویه filename باید چی بنویسیم؟ اسم چه فایلی؟ اسم فایلی که قراره ساخته بشه . بسته به خودتون داره. هر اسمی دوست دارید بزارید. مثلا mohsen.txt *خواب* لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
ارسالهای توصیه شده
بایگانی شده
این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.