-
تعداد ارسال ها
5,609 -
تاریخ عضویت
-
آخرین بازدید
-
روز های برد
212
نوع محتوا
نمایه ها
فروشگاه
تالارهای گفتگو
بخش دریافت
پست ها ارسال شده توسط مهدی ایزدی
-
-
سلام و درود
اگه این نکات رو رعایت کنید هیچ مشکلی پیش نمیاد:
برای SetLeftAndRight همیشه از x استفاده کنید
برای SetTopAndBottom همیشه از y استفاده کنید
سعی کنید تا جایی که امکانش هست از dip استفاده نکنید و کلا از % استفاده کنید
اگه این 3 نکته بالا رو ( مخصوصا اولی و دومی ) رعایت نشه بدون شک توی گوشی های متفاوت مکان قرارگیری اجزاء فرق میکنه.
تاکید میکنم: با دقت تمام کدهاتون رو توجه کنید. به هیچ عنوان ، به هیچ عنوان برای SetLeftAndRight از y و برای SetTopAndBottom از x استفاده نکنید.
تا حد امکان هم از dip استفاده نکنید و فقط از x% و y% استفاده کنید.
-
سلام . هم کد سینا عزیز کاملا درسته و هم کد مهران عزیز
البته سینا میتونست به جای تعیرف کردن TextChanged کد Sina = EditText1.Text رو توی همون Button1_Click هم قرار بده چون تا وقتی Button کلیک نشده Activity دوم نمایش داده نمیشه.
روش های زیادی وجود داره که مهران و سینا دو تا از روش هارو برات توضیح دادن.
من همین کد مهران رو دقیقا مطابق با پروژه شما نوشتم :
توی Main :
Sub Globals Private EditText1 As EditText End Sub Sub Activity_Create(FirstTime As Boolean) Activity.LoadLayout("Layout1") End Sub Sub Button1_Click CallSubDelayed2(Share,"ShowText",EditText1.Text) End Sub
توی Share :
Sub Globals Private Label1 As Label End Sub Sub Activity_Create(FirstTime As Boolean) Activity.LoadLayout("Layout2") End Sub Public Sub ShowText(text As String) Label1.Text = text End Sub Sub Button1_Click StartActivity(Main) End Sub
دمو :
[ATTACH=CONFIG]188[/ATTACH]
سورس کد هم پیوست شد.
پسورد: basic4android.org
موفق باشی
-
میتونستید از آموزش تصویری استفاده از چند Activity این مشکل رو حل کنی به نحو احسنت.
بخش آموزش های تصویری رو جست و جو کنید.
-
سلام
اولا که باعث خوشحالی ماست که شما توسط این سایت دارید برنامه نویسی اندروید رو یاد میگیرید.
دوست عزیز تا جایی که من متوجه شدم طبق این تصویر کوچیک شما Initialize رو انجام ندادید.
زمانی که شما Initialize رو انجام بدید دیگه لازم نیست که مثل کد نویسی الانتون Interval رو به صورت جدا تعریف کنید.
این کد رو با کد Interval اتون جایگذرین کنین مشکلتون کل میشه ان شاا...
Timer.Initialize("Timer",1000)
1000 همون Interval هست.
راستی اینجا دیگه فورم نداریم . Activity داریم .یادت نره. اسم فورم رو به کار نبر اصلا ;)
فردا یادم باشه یک نمونه جالب ترش رو توی بخش سورس کد ها براتون بزارم شاید به کارتون بیاد *DntKnow*
-
سلام و درود و تشکر از وحید عزیز بخاطر راهنماییشون.
مصطفی عزیز زحمت آموزش تصویری این مبحث رو کشیدن . توی سی شارپ و VB و VB.Net میگیم Form .
توی B4A میگیم Activity
- 1
-
سلام . در ادامه صحبت های دوستان این هم بگم که:
تمام ابزارهای مربوط به اندروید ( api 14 ) توی بخش ابزارهای b4a هستند + آموزش نصبشون و راه اندازی به صورت متنی و ویدئویی.
میتونید اندروید خودتون رو ارتقاء بدید.
موفق باشید
-
موافقم آرمین . من خودم همیشه دنبال یک Note بودم برای گوشیم که خوب باشه.
فقط سعی کن تمام حواست رو روی یک چیز خواص متمرکز نکنی.
موفق باشی عزیز
-
سلام صبح بخیر
خب جواب شما :
فرض کنید شما یک string دارید که شامل IP شما میشه که باهاش کانکت شدید.
بیایید با IP فرضی کار کنیم خب ؟
توی Sub Globals :
Sub Globals Dim lines As String End Sub
خب حالا IP فرضی رو تعریف میکنیم در Activty Create :
Sub Activity_Create(FirstTime As Boolean) Activity.LoadLayout("split") lines = "192.168.30.40" End Sub
IP چهار قسمت داره دیگه !!! توی Sub Globals اینها رو هم تعریف کن :
Dim aval As Int Dim dovom As Int Dim sevom As Int Dim chaharom As Int
خب حالا می مونه قسمت شرطمون. واسه تمرین یک Button از Desginger اضافه کن و وارد رویداد کلیک اش بشو :
Sub Button1_Click End Sub
تمام کدهایی که زیر میزارم باید داخل کلیک قرار بگیرن:
خب ما اول میاییم با یک Replace حروف های "." رو به "," تغییر میدیم :
lines = lines.Replace(".",",")
خب ؟
بعدش بعدش میریم سراغ split که دیشب بهت گفتم. از طریق Regex کار میکنیم:
Dim ip() As String = Regex.Split(",",lines)
خب ؟
حالا میریم سراغ جداسازی قسمت ها:
aval = ip(0).Trim dovom = ip(1).Trim sevom = ip(2).Trim chaharom = ip(3).Trim
خب کار ما تمومه / فقط حالا می مونه شرط هامون:
If aval > 192 Then ToastMessageShow("قسمت اول رنج آی پی بزرگه",False) Return Else If dovom > 168 Then ToastMessageShow("قسمت دوم رنج آی پی بزرگه",False) Return Else If sevom > 30 Then ToastMessageShow("قسمت سوم رنج آی پی بزرگه",False) Return Else If chaharom > 40 Then ToastMessageShow("قسمت چهارم رنج آی پی بزرگه",False) Return Else ToastMessageShow("آفرین رنج آی پی درسته",False) End If End If End If End If
تمام.
سعی کنید این تالار رو به دوستاتون هم معرفی کنید.هنوز 1 ماه هم از راه اندازی سایت نگذشته.هرچقدر کاربران سایت بیشتر باشن و تالار فعال تر باشه اطلاعات علمی همگی بالاتر میره و ما هم
با انگیزه بیشتری کار خودمون رو در کنار شما ادامه میدیم .
به امید موفقیت همگی
-
آهان . خب راه های مختلفی میتونه وجود داشته باشه. یکی از راه هاش split هست. ساده هست
صبر کن اگه کسی جوابتو نداد فردا خودم جوابت رو میدم کامل.
-
کاری نداره.
میتونی یک database تعریف کنی چه از نوع db و چه txt و چه html و توش لیست IP هایی رو که میخوای قرار بدی.
ip1
ip2
ip3
بعد از اینکه برنامه باز شد و IP گرفته شد از طریق indexOf میتونی به راحتی Search کنی که آیا IP که الان باهاش هستی توی لیست وجود داره یا نه
روش کار کن اگه مشکل داشتی بگو.
خیلی راحته این مدل چیزی که شما میخوایین.
-
سلام.
مثلا مشخص کرد که فلان رنج ip ها بتونن از این برنامه استفاده کنن ؟
-
سلام . به این تالار برنامه نویسی خوش آمدید.
شما آموزش تصویری Notification رو که در بخش آموزش های تصویری موجوده رو دانلود کنید. توش از Service Module استفاده شده.
مشکلتون حل میشه.
برای رفتن به تاپیک آموزش تصویری Notification کلیک کنید
-
سلام و درود
تعریف پنل رو توی Sub Globals انجام بدید ( طبق کدهای خودتون مثال میزنم ) :
Dim pnltest As Panel
چون روی رخداد sc تعریف کردید که:
pnltest.Initialize("pnlTest1")
پس میاییم میگیم:
Sub pnlTest1_Touch (Action As Int, X As Float, Y As Float) Select Action Case Activity.ACTION_DOWN pnltest.Color = Colors.Red Case Activity.ACTION_UP pnltest.Color = Colors.Blue End Select End Sub
رنگ بندی و اتفاقات بعدیش رو دیگه به سلیقه و نظر خودتونه.
موفق باشید
-
سلام.
عزیز میشه یک نمونه از کدنویسی از Desinger Scripts ات رو ببینیم که مشکل هم داره توی گوشی ها ؟
به صورت سورس بزار لطفا. شاید عیب از تنظیماتت باشه و قرارگیری اشیا.
-
سلام و درود
یک ضرب المثلی هست میگه که چرا عاقل کند کاری که باز آید به کنعان غم مخور ؟
اگه اگه اگه فقط منظورتون اینه که میخواهید مثلا Panel شما به این شکل باشه :
خب میتونید از حاشیه های زیباتری به صورت عکس استفاده کنید توسط طراحی حاشیه توی Photoshop . مثلا اینحوری :
الان این Panel هست ولی من خواصیت Drawable رو به BitmapDrawable تغییر دادم و عکس مورد نظرم رو بهش دادم.
خیلی هم زیبا تر میشه. با یک عکس 10-15 کیلوبایتی میتونید بهترین حاشیه رو به Panel خودتون بدید. نه فقط Panel ، بلکه بیشتر کنترل ها این ویژگی رو دارن.
اگه به جز اینه یا منظورم رو متوجه نشدید بگید سورس بزارم. اگه هم من منظورتون رو درست متوجه نشدم بیشتر توضیح بدید.
موفق باشی
-
عزیز ممکنه کد نویسیتون رو تا حدی که خودتون مشکل ندارید بزارید ؟
از روی کد نویسی بهتر میشه فهمید که مشکل از کجاست و میفهمیم که میخواهید چه کاری رو انجام بدید.
-
عزیز این رو دیده بودم من . دقیقا اون چیزی هست که شما میخواستید توی تاپیک دیروزتون.
توش از یک Service Module استفاده شده و کتابخانه WifiDirect که اومده از خواصیت Wifi Manager اون استفاده کرده.
اتفاقا من و مهران خیلی گشتیم امروز دنبال این کتابخانه ولی هنوز نتونستیم پیدا کینم.
بدون شک راه های دیگه ای هم داره که توی چند روزه آینده قدم به قدمش رو آموزش خواهیم داد.
- 1
-
ممنون دوست عزیز آرمین نه متاسفانه کارم راه نمیفته
مدیریت محترم سایت اگه این اپ اماده کنید توی کدوم قسمت قرار میدید؟
به صورت قدم به قدم و تاپیک های جدا سعی میکنم آموزش رو انجام بدم در مورد Wifi و WifiIP . توی آخرین تاپیک ها توی صفحه اصلی سایت مشخص میشن.
اما در قسمت آموزش های متنی قرار داده میشن.
-
ممنون از توضیح جامع و کاملتون اما دوست عزیز پس واکی تاکی چطور اینکارو کرده؟
ندیدم برنامه ایشون رو. شاید از طریق کدنویسی اختصاصی که خودش انجام داده این کار رو انجام داده که بدون شک کار وقت گیر و بسیار زمان بری هست.
فقط یک راه دیگه وجود داره که از طریق IP هست که ، حدودا مثل b4a bridge.
سعی میکنم سورس کدی تقریبا مشابه b4a bridge رو براتون آماده کنم.بدون شک به کار خیلی از دوستان دیگه هم میخوره.
-
سلام و خوش آمد میگم بهتون.
خب توضیحاتی رو بدم در مورد سوالتون.
شما 10 نفر دوست کنار همدیگه بشنید و به یک Modem از طریق Wifi متصل بشید. هر بار که جست و جو کنید فقط یک Wifi رو میتونید شناسایی کنید.
گوشی ها رو که شناسایی نمیکنه مگه اینه :
کاربر مورد نظر Wifi خودشو برای اشتراک گذاری باز گذاشته باشه که از 100 نفر شاید 1 نفر چنین کاری رو انجام بدن. بر فرض مثال من خط رایتل دارم و 3-4 تا از دوستان من خط همراه اول
و در جایی هستیم که اینترنت پرسرعت Wifi وجود نداره ! خب من میام Wifi خودم رو Share میکنم تا دوستام بتونن به گوشی من متصل بشن.
فکر کنم منظور شما اینه که تمام wifi های گوشی که به صورت عادی و معمولی روشن هستند رو شناسایی کنیم(در بازار ممکنه در هر 100 متر 50 کاربر Wifi گوشیشون روشن باشه)
ولی شما به هیچ کدوم از اونها نمیتونید متصل بشید یا شناساییشون کنید چون فقط استفاده کننده هستند نه Share کننده.
به صورت معمولی Share کننده ها فقط دستگاه ها و آنتن های Wifi هستند.
-
سلام و درود
البته تاپیک تکراری بود و قبلا آموزش داده شده بود در انجمن هم ذخیره و هم فراخوانی:
-
با سلام
دوست عزیز TeamViewer داری اگه داری بده تا بیام مشکلتو ببینم
در مرحله ی آخر TeamViewer رو پیشنهاد بدید خواهشا.
-
مازیار باعث افتخار ماست که تو اینجایی.
یک جورایی بنیانگذار پیشرفت و برنامه نویسی بیشتر ما تو هستی و همیشه و در همه حال مدیون لطف و زحمت های تو هستیم، مخصوصا خود من
-
سلام.
من فکر میکنم با تایمر و عکس میشه خیلی کارها رو انجام داد.
مثلا طبق آموزش تصویری که دادم واسه Button عکس بزاری ، با کلیک کردن روی اون باتن صدا ایجاد بشه ، رنگش عوض بشه
به نظر من 80% بر میگرده به خلاقیت خود شخص. میتونی از عکس های png که BackGround ندارن هم استفاده کنی واسه بعضی از متن هات به جای Label.
بازشدن خودکار فورم با تایمر
در پرسش و پاسخ (بیسیک4اندروید)
ارسال شده در
عزیز تو میتونی از Touch استفاده کنی . آموزش Touch ( لمس ) توی سایت آموزش داشته شده به صورت کامل .
میتونی یک عکس یا متن بزاری که لطفا برای ورود لمس کنید. مثل خیلی دیگه از برنامه ها که حتما همگی ما دیدیم.
الان برم یک سر بیرون کار دارم . برگردم برات حتما همون سورسی که گفتم میزارم .
×××××××××××××××××××××××××
توی کدهات: اونجا که تعریف کردی اگه st مساوی 10 شد بریم داخل Activity2 خط بعدش قبل از Else باید Timer.Enabled = False هم کنی !
نکته بعدش هم دوباره تکرار میکنم : شما Initialize نکردی تایمر رو. نیازی به اون کد Timer.Interval = 1000 هم نداری.
فقط به جای کد Interval باید این رو بزاری :
تست نکردم ولی نیازی به تست هم نداره . همین کاری رو که گفتم شما انجام بده حل میشه مشکلت