arastooms 1,046 ارسال شده در 4 شهریور، ۱۳۹۵ اشتراک گذاری ارسال شده در 4 شهریور، ۱۳۹۵ با سلام و درود و کسب اجازه از اساتید انجمن اولین آموزش خودم رو برای دوستان در این پست ارسال میکنم این آموزش با راهنمایی و کمک اسا تید عزیزم (( شهاب اسکندری در مبحث php و دیتابیس )) و استاد امین شاهدی در بحث (( کتابخانه کاربردی AriaAsynkTask )) به نتیجه رسیدو تشکر از این عزیزان توضیحات سورس : شاید به آمار دقیق همه برنامه هاتون نیاز داشته باشید و بخواهید بدونید که چنتا نصب داشته / چه قدر کاربران نرم افزار رو استفاده میکنند / در چه زمان روز بیشترین استفاده رو دارید/ تعداد استفاده کاربران نرم افزار و .....// شاید هم این پیام هایی که اول برنامه های آنلاین هست و میگه "" شما آخرین بار 50 روز پیش به برنامه سر زدید بهتر یه سر دیگه بزنید تا اطلاعات جدید رو ببینید "" و یا پوش نوتیفیکیشن های درون برنامه ای با این محتوا و .... خوب در این آموزش و سورس شما می تونید این دیتابیس رو داشته باشید و بسازید و اطلاعات رو جمع آوری کنید تا هر استفاده ای که به ذهن بشر هم نمیرسه از این دیتابیس انجام بدید که به نظرم لازمه هر توسعه دهنده ای داشتن دیتابیسی از مشتریانش هست سطح : پیشرفته ( حرفه ای ) موضوع : ثبت اطلاعات دستگاه ( گوشی کاربر ) در دیتابیس آنلاین و هاست شخصی ( بدون موارد تکراری ) هدف : 0-این دیتابیس شامل همه مشخصات برنامه و دستگاه است که به توسعه دهنده در داشتن آمار نصب آمار استفاده از برنامه آمارنوع سیستم عامل و ... کمک میکند 1-ثبت اطلاعات دستگاه هر کاربر به محض بازکردن برنامه در صورت اتصال به اینترنت برای استفاده در پوش شخصی یا آمار نرم افزار ها و ..... 2-گرفتن تمام مشخصات گوشی و دستگاه های کار بران برنامه 3-ارایه آمار بازدید کاربران از برنامه و گرفتن زمان آخرین استفاده از برنامه 4-گرفتن تعداد دفعات استفاده از برنامه و نمایش در بیسیک 4 به کاربرویا جهت استفاده در برنامه پیش نیاز های این موضوع: 1-داشتن هاست و دامنه ( برای ایجاد دیتابیس و ثبت و ذخیره اطلاعات) 2- آشنایی با( ایجاد دیتابیس / یوزر دیتابیس / اتصال یوزر و دیتابیس / انتقال فایل ها به پوشه ای خاص در دیتابیس) در هاست مربوطه 3-اطلاعات لازم در مبحث php لایک فراموش نشه تا در پست بعد قسمت دیتابیس رو شرح بدم لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
arastooms 1,046 ارسال شده در 4 شهریور، ۱۳۹۵ سازنده اشتراک گذاری ارسال شده در 4 شهریور، ۱۳۹۵ در این پست به شرح قسمت php و هاست خواهیم پرداخت شما برای ادامه این آموزش باید یک هاست داشته باشید (( میتونه خریداری شده باشد یا رایگان ))در داخل هاست یک دیتابیس ایجاد کنید در هاست یک یوزر برای دیتابیس ایجاد کنید یوزر و دیتابیس را به یک دیگر متصل کنیدو در این دیتابیس یک جدول ایجاد کنید و در این جدول 14 ستون به نامهای زیر قرار دهید دقت کنید ستونid و ستون use_counters مقادیر عددی به خود اختصاص میدهند البته دیتابیس شما خالی خواهد بود و عکس زیر از آخرین مرحله دیتابیس است که سه دستگاه در آن ثبت شده است http://s1.picofile.com/file/8265094734/%D8%AF%DB%8C%D8%AA%D8%A7%D8%A8%DB%8C%D8%B34.png لایک فراموش نشه تا در پست ادامه رو شرح بدم لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
arastooms 1,046 ارسال شده در 4 شهریور، ۱۳۹۵ سازنده اشتراک گذاری ارسال شده در 4 شهریور، ۱۳۹۵ با توجه به فرضیات شما باید حالا مشخصات زیر رو داشته باشید برای وارد کردن به فایل php servername = localhost username = xxxxxxxx password = yyyyyyyyyyy databasename = zzzzzzzzzzzzz اسم جدول ما در این آموزش = app_information هست شما مشخصات رو در فایل php زیر وارد کنید و همه مراحل گام به گام در این فایل php به فارسی شرح داده شده کد های php <?php //♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥ //مشخصات دیتابی درون هاست///////////////////////////////////////////// $servername = "localhost"; $username = "xxxxxxxxx"; $password = "yyyyyyyyyyy"; $dbname = "zzzzzzzzzzzz"; //♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥ //♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥ // داده های ارسال از طرف بیسیک 4 اندروید ///////////////////////// $date = $_POST['date']; $time = $_POST['time']; $appname = $_POST['appname']; $package_name = $_POST['package_name']; $app_ver = $_POST['app_ver']; $store_seller = $_POST['store_seller']; $phone_manufacturer = $_POST['phone_manufacturer']; $phone_model = $_POST['phone_model']; $phone_product = $_POST['phone_product']; $phone_id = $_POST['phone_id']; $phone_sdkversion = $_POST['phone_sdkversion']; $version_android = $_POST['version_android']; //♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥ // Create connection $conn = new mysqli($servername, $username, $password, $dbname); //♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥ //برای تشخیص حروف فارسی در دیتابیس آنلاین این گزینه رو اضافه میکنیم mysqli_set_charset($conn,"utf8"); //♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥ // Check connection if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } //♥echo "Connected successfully"; //اینجا میایم کنترل میکنیم اگر دستگاه شماره سریالش تکراری بود // مقدار تاریخ وساعت قدیمی که آخرین اتصالش بوده رو به بیسیک برگردون // و بعد // تاریخ و ساعت جدید رو جایگزین کنترل //در صورتی که شماره سریال تکراری نبود یعنی دستگاه جدید هست و بیا همه مشخصات رو در دیتابیس ثبت کن ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// $sql = "SELECT * FROM app_information WHERE phone_id = '$phone_id'"; $result = $conn->query($sql); if ($result->num_rows > 0) { //♥echo "این دستگاه از قبل نصب شده است"; //کد زیر مقدار اولین رکورد که سریال تکراری داره رو میگیره و مقادیرش تاریخ و ساعت رو بر میگردونهبه بیسیک 4 برای ما $myResult = $conn->query("SELECT * FROM app_information WHERE phone_id = '$phone_id' ORDER BY id DESC LIMIT 1")->fetch_assoc(); //♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥ // اینجا میایم چون برنامه قبلا ثبت شده // مقادیر تاریخ و ساعت قدیمی رو میفرستیم به بیسیک // که در بیسیک به کاربر گزارش کنیم که شما آخرین بار در تاریخ فلان وارد برنامه شدید // رو هم ارسال میکنیم که بگیم به مثلا 15 بار از این برنامه اتفاده شدهuse_counters و مقدار echo $myResult["date"]. "#" .$myResult["time"]. "#" .$myResult["use_counters"]; //♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥ // اینجا مقدار $new_use_counters رو تعریف میکنیم // میایم use_counters میگیریم // $new_use_counters بهش یکی اضافه میکنیم و میدیم به پارامتر $new_use_counters = $myResult["use_counters"] + 1; //♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥ //در کد پایین تاریخ و ساعت جدید که از بیسیک رسیده و مقدار جدید //$new_use_counters //رو در دیتابیس آپدیت میکنه و اطلاعات برای استفاده بعدی به روز خواهد شد $sql = "UPDATE app_information SET date='$date' , time='$time' , use_counters=' $new_use_counters' WHERE phone_id='$phone_id'"; if (mysqli_query($conn, $sql)) { //♥echo "Record updated successfully"; } else { //♥echo "Error updating record: " . mysqli_error($conn); } } else { $sql = "INSERT INTO app_information (date,time,appname,package_name,app_ver,store_seller,phone_manufacturer,phone_model,phone_product,phone_id,phone_sdkversion,version_android) VALUES ('$date','$time','$appname','$package_name','$app_ver','$store_seller','$phone_manufacturer','$phone_model','$phone_Product','$phone_id','$phone_sdkversion','$version_android')"; if ($conn->query($sql) === TRUE) { //♥echo "دستگاه جدید به دیتابیس افزوده شد"; } else { //♥echo "Error: " . $sql . "<br>" . $conn->error; } } $conn->close(); ?> لایک فراموش نشه لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
arastooms 1,046 ارسال شده در 4 شهریور، ۱۳۹۵ سازنده اشتراک گذاری ارسال شده در 4 شهریور، ۱۳۹۵ خوب در این پست برنامه رو ضمیمه میکنم که روی هاست خود من هست و کد ها با توضیحات فارسی در اختیار شما هست در این برنامه فقط از کتابخانه استاد شاهدی عزیز استفاده شده و نیاز به هیچ کتابخانه دیگری نیست تنها اکتیویتی برنامه رو در زیر می بینیدبرای عزیزانی که تمایل به دریافت فایل ندارند و فقط قصد مطالعه سورس رو دارند #Region Project Attributes #ApplicationLabel: ارسال اطلاعات دستگاه #VersionCode: 1 #VersionName: 1.arastooms 'SupportedOrientations possible values: unspecified, landscape or portrait. #SupportedOrientations: unspecified #CanInstallToExternalStorage: False #End Region #Region Activity Attributes #FullScreen: False #IncludeTitle: True #End Region Sub Process_Globals Dim phone1 As Phone 'پیش فرض در بیسیک موجود است Dim phon_id As PhoneId ' پیش فرض در بیسیک موجود است 'این مقادیر به صورت مثال هست و شما می توانید در برنامه مقدار دهی کنید Dim version As String ' نیازی نیست به مقدار دهی Dim date As String ' نیازی نیست به مقدار دهی Dim time As String ' نیازی نیست به مقدار دهی Dim phone_manufacturer As String ' نیازی نیست به مقدار دهی Dim phone_model As String ' نیازی نیست به مقدار دهی Dim phone_product As String ' نیازی نیست به مقدار دهی Dim phone_id As String ' نیازی نیست به مقدار دهی Dim phone_sdkversion As String ' نیازی نیست به مقدار دهی Dim version_android As String ' نیازی نیست به مقدار دهی Dim app_ver As Int Dim package_name As String Dim appname As String Dim store_seller As String End Sub Sub Globals '//////////////////////////////////////////////////////////////////////// Dim AriaAsyncTask1 As AriaAsyncTask Dim AriaAsyncTaskDownloader1 As AriaAsyncTaskDownloader '////////////////////////////////////////////////////////////////////// 'این مقادیر رو برای برگشت 'php 'تعریف میکنیم Dim mydate As String Dim mytime As String Dim use_counters As String '////////////////////////////////////////////////////////////////////// Private Button1 As Button End Sub '/////////// arastoo.ms /////// 2016/25/8 '//////////// کپی و انتشار این سورس به هر نحوی و در هر انجمن و سایتی آزاد است '// زیرا من فکر میکنم که با انتشار رایگان علم است که پیشرفت حاصل می شود Sub Activity_Create(FirstTime As Boolean) Activity.LoadLayout("layout_test") ' 'یه لایه تعریف کردیم با یک دکمه ساده 'که ساب دکمه همون سابی که باید 'در ابتدای برنامه آنلاین شما اجرا بشه 'هر بار که برنامه باز میشه در صورت اتصال به اینترنت 'بیاد و اطلاعات گوشی رو آپدیت میکنه در دیتابیس شما End Sub '//////////////////////// Sub AriaAsyncTask1_DoInBackground(Params() As Object) As Object Try Dim result As String = AriaAsyncTaskDownloader1.Get(Params(0)).POST(Params(1)).String 'ما در فایل php اومدیم مقادیر ارسال شده تاریخ و ساعت و تعداد اتصال به اینترنت برنامه رو با # از هم جداکردیم و فرستادین اینجا 'خوب حالا باید با دستور ریجکس اون ها رو جدا کنیم 'چون سه مقدار فرستاده شده بود دستور به شکل زیر خواهد بود Dim str() As String = Regex.Split("#",result) mydate=str(0 ) mytime=str(1) use_counters=str(2) Return "done/موفق" Catch Log(LastException) Return "error/نــــاموفق" End Try End Sub Sub AriaAsyncTask1_OnPostExecute(Result As Object) 'Log(LastException) 'Log("-----------------") 'Log(Result) 'Log("-----------------") 'Log(mydate) 'Log(mytime) 'Log(use_counters) 'Log("-----------------") 'اینجا مقادیر که از فایل 'php 'برگشت داده شده و در ریجکس جداشده 'را در یک مسیج نمایش می دهیم Msgbox("تاریخ : "&mydate&CRLF&"ساعت :"&mytime&CRLF&"تعداد اتصال به اینترنت : "&use_counters,"آخرین اطلاعات تماس") End Sub '//////////////////////// Sub AriaAsyncTask1_OnCancelled End Sub Sub AriaAsyncTask1_OnPreExecute End Sub Sub AriaAsyncTask1_OnProgressUpdate(Progress As Int) End Sub Sub Button1_Click '////// مقادیر رو در برنامه با مشخصات دستگاه پُر میکنه /////////////////////////////////////////////////////////////////////// all_string '////////////////////////////////////////////////////////////////////////////////////////// AriaAsyncTask1.Initialize("AriaAsyncTask1") AriaAsyncTaskDownloader1.Initialize(AriaAsyncTask1) '////////////////////////////////////////////////////////////////////////////////////////// If AriaAsyncTaskDownloader1.IsConnected Then '//// در خط زیر فقط آدرس فایل php '////که در سایت و هاست خودتون قرار دادید رو بدیید '/// آدرس زیر مربوط به هاست شخصی من هست و فعال نیست فقط برای تست استفاده میشه '////http://tablet-group.ir/test_arastoo_login/ '/// information8.php هست php و اسم فایل AriaAsyncTask1.Run(Array As String("http://tablet-group.ir/test_arastoo_login/information8.php","date="&date&"&time="&time&"&appname="&appname&"&package_name="&package_name&"&app_ver="&app_ver&"&store_seller="&store_seller&"&phone_manufacturer="&phone_manufacturer&"&phone_model="&phone_model&"&phone_product="&phone_product&"&phone_id="&phone_id&"&phone_sdkversion="&phone_sdkversion&"&version_android="&version_android)) Else ToastMessageShow("disconnected",False) End If '////////////////////////////////////////////////////////////////////////////////////////////// End Sub '//////////////////////// #Region تنظیمات و اختصاص مقادیر و داده ها ی دستگاه به پارامتر ها Sub all_string app_ver = 6 package_name = "arastoo.m.s.ir" store_seller = "google play" appname = "ارسال اطلاعات" phone_manufacturer = phone1.Manufacturer phone_model = phone1.Model phone_product = phone1.Product phone_id = phon_id.GetDeviceId phone_sdkversion = phone1.SdkVersion Version1 version_android = version date = DateTime.Date(DateTime.Now) time = DateTime.Time(DateTime.Now) ' '♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥ '♥♥♥♥ log کنترل مقادیر در ♥♥♥♥♥♥♥♥ '♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥ Log ("date="&date ) '♥ Log ("time="&time ) '♥ '♥ Log ("appname="&appname ) '♥ Log ("package_name="&package_name ) '♥ Log ("app_ver="&app_ver ) '♥ Log ("store_seller="&store_seller ) '♥ '♥ Log ("phone_manufacturer="&phone_manufacturer ) '♥ Log ("phone_model="&phone_model ) '♥ Log ("phone_product="&phone_product ) '♥ Log ("phone_id="&phone_id ) '♥ Log ("phone_sdkversion="& phone_sdkversion) '♥ Log ("version_android="&version_android ) '♥ '♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥ End Sub Sub Version1 If phone1.SdkVersion="19" Then version="4.4.2" else If phone1.SdkVersion="18" Then version="4.3" else If phone1.SdkVersion="17" Then version="4.2.2" else If phone1.SdkVersion="16" Then version="4.1.2" else If phone1.SdkVersion="15" Then version="4.0.3" else If phone1.SdkVersion="14" Then version="4.0" else If phone1.SdkVersion="13" Then version="3.2" else If phone1.SdkVersion="12" Then version="3.1" else If phone1.SdkVersion="11" Then version="3.0" else If phone1.SdkVersion="10" Then version="2.3" else If phone1.SdkVersion="9" Then version="2.3.3" else If phone1.SdkVersion="8" Then version="2.2" else If phone1.SdkVersion="7" Then version="2.1" else If phone1.SdkVersion="4" Then version="1.6" else If phone1.SdkVersion="3" Then version="1.5" else If phone1.SdkVersion="21" Then version="5.0" else If phone1.SdkVersion="20" Then version="4.4.4" else If phone1.SdkVersion="22" Then version="5.1.1" else If phone1.SdkVersion="23" Then version="6.0-6.0.1" else If phone1.SdkVersion>"23" Then version="bozorgtar-az-6" else If phone1.SdkVersion<"3" Then version="kuchektar-az-1.5" End If End Sub #End Region '/////////////////////////// Sub Activity_Resume End Sub Sub Activity_Pause (UserClosed As Boolean) End Sub لایک فراموش نشه لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
arastooms 1,046 ارسال شده در 4 شهریور، ۱۳۹۵ سازنده اشتراک گذاری ارسال شده در 4 شهریور، ۱۳۹۵ امید وارم از اولین آموزش من خوشتون اومده باشه این هم فایل های برنامه فایل php http://s2.picofile.com/file/8265098926/information.php.html فایل بیسیک برنامه http://s1.picofile.com/file/8265099076/information_user_b4a_php.zip.html فیل apk سورس http://s2.picofile.com/file/8265099318/information_user.apk.html لایک قشنگه یادتون نره لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
PooyaDe 73 ارسال شده در 5 شهریور، ۱۳۹۵ اشتراک گذاری ارسال شده در 5 شهریور، ۱۳۹۵ واقعا عالی اموزش دادی اسطو خان معلومه با حوصله و با دقت اموزشو تهیه کردی دمت گرم لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
viki0028 19 ارسال شده در 29 مهر، ۱۳۹۵ اشتراک گذاری ارسال شده در 29 مهر، ۱۳۹۵ درود بر شما برای من ایراد میگیره تیبل رو درست کردم و طبق توضیحات رفتم جلو.... ادرس فایل php رو هم به برنامه دادم..... ولی ایراد گرفت لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
arastooms 1,046 ارسال شده در 29 مهر، ۱۳۹۵ سازنده اشتراک گذاری ارسال شده در 29 مهر، ۱۳۹۵ سلام من دیتابیس رو از روی سایتم حذف کردم پس مطمعناً باید آدرس دیتابیس خودتون رو بدید به برنامه اگر مشکل داشتید هنوز قسمت آدرس دیتابیس خودتون رو به برنامه کنترل کنید و یا کد هاتون رو قرار بدید تا راهنمایی کنم موفق باشید این آدرس رو باید نسبت به هاست خودتون و به اسم فایل php قرار داده شده در هاست خودتون عوض کنید http://tablet-group.ir/test_arastoo_login/information8.php" لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
ارسالهای توصیه شده
بایگانی شده
این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.