4 ارسال در این موضوع قرار دارد

سلام اساتید

بنده در حال ساخت برنامه بکاپ از دیتای اپ (صرفا دیتا ، نه خود اپ) هستم ؛ برای اینکار یه لیست ویو ساختم که اپ های نصب شده در گوشی رو نشون میده و کاربر اپ مورد نظرشو انتخاب میکنه ، حالا برای بکاپ گرفتن من نیاز به پکیج نیم و نام دیتابیس دارم ؛ پکیج نیم رو با کد زیر میگیرم

            PackageInfo packageInfo = packlist.get(i);
                String packname = packageInfo.applicationInfo.loadLabel(getPackageManager()).toString();

حالا برای بدست آوردن آدرس دیتابیس من نیاز دارم نام دیتابیس رو بدونم ولی از اونجا که خود کاربر ، برنامه رو انتخاب میکنه نام دیتابیس ثابت نیست ، من چه کدی برنم که برنامم بتونه اسم دیتابیس رو خودش بفهمه ؟

 

 

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
در 6 دقیقه قبل، mahdimm گفته است :

سلام اساتید

بنده در حال ساخت برنامه بکاپ از دیتای اپ (صرفا دیتا ، نه خود اپ) هستم ؛ برای اینکار یه لیست ویو ساختم که اپ های نصب شده در گوشی رو نشون میده و کاربر اپ مورد نظرشو انتخاب میکنه ، حالا برای بکاپ گرفتن من نیاز به پکیج نیم و نام دیتابیس دارم ؛ پکیج نیم رو با کد زیر میگیرم


            PackageInfo packageInfo = packlist.get(i);
                String packname = packageInfo.applicationInfo.loadLabel(getPackageManager()).toString();

حالا برای بدست آوردن آدرس دیتابیس من نیاز دارم نام دیتابیس رو بدونم ولی از اونجا که خود کاربر ، برنامه رو انتخاب میکنه نام دیتابیس ثابت نیست ، من چه کدی برنم که برنامم بتونه اسم دیتابیس رو خودش بفهمه ؟

 

 

این مسیر :

data/data/YOURPACKAGENAME/databases

 

1 کاربر پسند دیده است

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

ارسال شده در (ویرایش شده)

در 5 دقیقه قبل، Farzad Sarseifi گفته است :

این مسیر :


data/data/YOURPACKAGENAME/databases

 

سلام داداشم اولا بابت پاسخ سریع شما ازتون تشکر میکنم ، ولی این مسیری که گفتید مسیریه که فایل دیتابیس توش قرار گرفته و نام فایل دیتابیس رو مشخص نمیکنه ؛ در اصل مسیر دیتابیس 

data/data/YOURPACKAGENAME/databases/databasename.db

هست که ما باید نام دیتابیس که همون فایلی که با پسوند db در مسیری که شما فرمودید قرار گرفته رو بدونیم ، مسیر دیتابیس مشخصه ، نام فایل دیتابیس رو از کجا بفهمم ؟

ویرایش شده در توسط mahdimm
اشتباه تایپی

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
در 13 ساعت قبل، mahdimm گفته است :

سلام داداشم اولا بابت پاسخ سریع شما ازتون تشکر میکنم ، ولی این مسیری که گفتید مسیریه که فایل دیتابیس توش قرار گرفته و نام فایل دیتابیس رو مشخص نمیکنه ؛ در اصل مسیر دیتابیس 


data/data/YOURPACKAGENAME/databases/databasename.db

هست که ما باید نام دیتابیس که همون فایلی که با پسوند db در مسیری که شما فرمودید قرار گرفته رو بدونیم ، مسیر دیتابیس مشخصه ، نام فایل دیتابیس رو از کجا بفهمم ؟

نام دیتابیس رو خودتون تو برنامه تعیین میکنید که چی باشه. Db Name

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری

  • مطالب مشابه

    • توسط fahmide
      با سلام
      من توی پروژم یک ExpandableListView دارم و یه دیتابیس توی دیتابیس با استفاده از کد والد ، والد هرکدوم از فرزندان مشخص میشه. مسله اینه که کاربر امکان اضافه کردن والد و فرزند رو توی دیتابیس داره من هرکاری میکنم درست لود نمیشه اگه ممکنه راهنمایی کنین
    • توسط hamidreza.kh
      سلام خسته نباشید چندتا سوال و درخواست داشتم
      دستورات mysql رو کسی دقیقا میتونه بهم بده؟ مثلا سه تا فرگمنت توی یه اکتیوتی دارم ، میخوام یکیش پست هام رو به ترتیب جدیدترین پست ها بگیره از دیتابیس یا حالا سرور ، تب دوم میخوام همون اطلاعات رو بر حسب مثلا تعداد ویو(بیشترین ها) بهم بده و یه فرگمنت دیگه هم میخوام اونایی که مثلا دیده شده رو نمایش بده !  
      برای مثال اول که مشکلی ندارم همه پست هارو میتونم به ترتیب بگیرم اما برای 2 مثال دیگه اللخصوص مثال دوم یکم گیجم ! ممنون میشم راهنمایی کنید
       
      سوال بعدیم هم اینه ، مثلا کافه بازار حالا که من میخوام مثلا 3 تا فرگمنت رو توی یه اکتیویتی بسازم ، و اطلاعات درونش قرار بدم ، باید برای هر فرگمنت یه آداپتر بسازم دیگه؟که دیتا های خاص هرکدوم رو نشون بده !
      اگه این مسئله درست باشه یه اپی مثل اپ کافه بازار تو قسمت برترین ها 3 تا فرگمنت داره توی یک اکتیویتی ، خب؟ بعد این 3 تا یه عالمه آیتم گرفتن ! چرا اپ کرش نمیشه؟ یا اینکه برای کرش شدن اپ این در حد اون قسمت از اپ کافه بازار ، اون دیتا ها خیلی ناچیز اند؟ و کلا اگه مثلا عکس زیاد داشته باشیم برای بهینه سازی اپ توی فرگمنت های یه اکتیویتی چی رو پیشنهاد میکنید؟
      و سوال اخر اینکه از چه نوع ویو پیجری در مثلا همون قسمت برترین های کافه بازار استقاده شده؟!(fragment view pager یا fragment state view pager)؟ و اینکه چه موقه از این و چه موقه از اون استفاده کنیم؟(لطفا با ذکر مثال بفرمایید)
    • توسط Farzad Sarseifi
      محیط جدید برنامه نویسی اندروید Android Studio

      اندروید استودیو  یک محیط برنامه نویسی برای پلتفرم اندروید است. این برنامه در 16 می 2014 توسط مدیران گوگل در کنفرانس گوگل آی/او معرفی شد. از ماه جوئن 2014 نسخه پیش نمایش این برنامه (به صورت رایگان) برای امتحان در دسترس توسعه دهنده‌ها قرار گرفت. این محیط بر اساس نرم‌افزار محبوب جت برینز طراحی شده است، این استودیو بطور اختصاصی برای اندروید طراحی شده. هم اکنون این استودیو برای دانلود بر روی ویندوز، مک و لینوکس در دسترس می‌باشد.
      از جمله میتوان به موارد زیر اشاره کرد :
      1-کدنویسی سریع و قدرتمند(Powerful code editing) :
      Android Studio شامل ادیتور ویرایش قدرمتندی میباشد،که بر پایه intellij میباشد،همچنین شامل ویژگی های زیر میباشد
      smart editing, advanced code refactoring, , deep static code analysis
      2- UI قدرتمند و سریع :
      یکی از امکاناتی خیلی جذابی(خفنی!) که برای ساخت UI در اختیار برنامه نویسان قرار گرفته امکان مشاهده 6 نما در قسمتی از صفحه میباشد،این مسئله شاید به یکی از بزرگترین مشکلات برنامه نویسان اندروید تبدیل شده بود،با ورود این محیط برنامه نویسی قدرمتند این مشکل تا حدود زیادی حل خواهد شد.

      3-محیط متن باز(Open source development) :
      از جمله ویژگی های دیگر این محیط برنامه نویسی متن باز بودن(رایگان) میباشد که از جمله مزیت این محیط قدرتمند میباشد.

      4- دسترسی به سرویس های گوگل(Android Tools).
      برای دانلود برنامه Android Studio به آدرس زیر رفته و آن را دانلود نمایید.
       
      چندین ویژگی مهم در این نرم‌افزار برای توسعه دهندگان اندروید :
      چیدمان زنده: ویرایشگر WYSIWYG – کدنویسی زنده – رندر هم زمان برنامه کنسول توسعه دهنده: راهنمای بهینه سازی – کمک برای ترجمه – ردیابی ارجاع – طریقه استفاده پشتیبانی از ساخت مبتنی بر Gradle رفع و عیب یابی مخصوص اندروید ابزار لینت برای گرفتن عملکرد، قابلیت استفاده، نسخه سازگار با مشکلات دیگر قابلیت Proguard و امضای برنامه مبتنی بر الگوی wizard برای ایجاد طرح اندروید و اجزای مشترک ویرایشگر طرح بندی غنی که به شما اجازه کشیدن و رها کردن UI کامنت‌ها را می‌دهند. گزینه‌ای برای تنظیمات پیش نمایش طرح بندی در صفحه نمایش چندگانه  
       
    • توسط Farzad Sarseifi
       اندروید استودیو نام محیط یکپارچه‌ی توسعه (IDE) اختصاصی گوگل است که از آن برای ساخت برنامه‌های اندروید استفاده می‌شود. گوگل آخرین نسخه از اندروید استودیو با نام  Android Studio 2.3 را در ماه مارس (۲ ماه پیش) سال جاری میلادی عرضه کرده بود. با توجه به جهش شماره‌ی نسخه‌ی جدید به ۳، می‌توان انتظار تغییرات بنیادین در ابزار برنامه‌نویسی گوگل داشت. (شماره‌ی نسخه‌های بتای بیلد جدید اندروید استودیو در ابتدا ۲.۴ بود؛ اما گوگل با توجه به گستردگی تغییرات، تصمیم به افزایش شماره‌ی نسخه گرفت.)
       

       
      تغییرات و ویژگی‌های جدید نسخه‌ی جدید اندروید استودیو از این قرار است:
      زبان برنامه‌نویسی Kotlin: می‌توانید به صورت هم‌زمان از کدهای Kotlin در کنار کدهای قدیمی اپلیکیشن اندروید خود استفاده کنید. با استفاده از ابزار تبدیل به کار گرفته‌شده در نسخه‌ی جدید (از مسیر Code → Convert Java File to Kotlin File) می‌توان از کدهای Kotlin در پروژه‌های قدیمی استفاده کرد؛ یا از طریق New Project Wizard می‌توان پروژه‌ای کاملا جدید بر مبنای Kotlin آغاز کرد.
        ویژگی‌های زبان Java 8: برای به‌روزرسانی اپلیکیشن‌های خود به‌منظور پشتیبانی از ابزارهای زبان جدید جاوا 8، کافی است به سادگی سطح سازگاری سورس و تارگت خود را در پنجره‌ی Project Structure به 1.8 افزایش بدهید.
        Layout Editor: قسمت ComponentTree با قابلیت Drag-and-Drop بهبود یافته و پنل ارور جدید به‌روزرسانی شده است. علاوه بر به‌روزرسانی ConstraintLayout، قابلیت اضافه کردن جداسازها (Barriers) و گروه‌بندی نیز به Layout Editor اضافه شده است.
         Adaptive Icon Wizard: یکی از قابلیت‌های جدید اندروید O، پشتیبانی از آیکون‌های انطباق‌پذیر (Adaptive) در لانچر است. این قابلیت باعث می‌شود آیکون یک اپلیکیشن هنگام نمایش در دستگاه‌های مختلف اندرویدی ظاهر متفاوتی به خود بگیرد. از طریق Wizard اختصاص داده شده به این قابلیت در نسخه‌ی جدید اندروید استودیو می‌توانید آیکون‌های جدید و قدیمی را به پروژه‌ی خود اضافه کنید و نحوه‌ی نمایش آن‌ها در لانچرهای مختلف را از طریق ابزار Preview مشاهده کنید. برای استفاده از این قابلیت در پروژه‌ی خود روی فولدر /res راست کلیک کنید و سپس به مسیر  New → Image Asset → Launcher Icons → Adaptive and Legacy بروید.
        فونت‌های XML و فونت‌های قابل دانلود: با قابلیت جدید XML fonts preview و ابزار جدید انتخاب فونت، اضافه کردن فونت‌های اختصاصی به اپلیکیشن‌های اندروید O بسیار آسان شده است. در آپدیت جدید همچنین می‌توانید به جای گنجاندن فونت‌ها در فایل APK، آن‌ها را به صورت منابع دانلودی درون اپلیکیشن خود قرار دهید. (کاربران برای استفاده از این ویژگی به Google Play Services ورژن 11.2.63 یا بالاتر احتیاج خواهند داشت.)
        پشتیبانی از Android Things: در اندروید استودیو ۳ می‌توانید با استفاده از مجموعه‌ای از قالب‌های پیش‌فرض از طریق ویزاردِ New Project یا New Module به توسعه برای پلتفرم Android Things بپردازید.
        به‌روزرسانی پلتفرم IntelliJ: اIntelliJ 2017.1 با ویژگی‌های جدید از جمله پشتیبانی از بازسازی کدهای Java 8، برجسته‌سازی معنایی کدها، بریک‌پوینت‌های قابل درگ کردن، کنترل‌ورژن بهبودیافته و بسیاری قابلیت‌های جدید دیگر به‌روزرسانی شده است.
        پشتیبانی از Instant App: با استفاده از ماژول‌تایپ‌های جدید instant app و قابلیت جدید App Links Assistant می‌توانید از Instant App-ها در پروژه‌های خود استفاده کنید. برای این کار می‌توانید از طریق ویزاردِ New Module یا راست-کلیک روی کلاس مربوطه، به مسیر Refactor → Modularize بروید.
        افزایش سرعت بیلد: با استفاده از ماژول‌های جدید، سرعت اجرای پروژه‌ها بسیار افزایش یافته است. این بهبود به لطف استفاده از پلاگین جدید Android Gradle میسر شده است؛ بنابراین اگر برنامه‌ی شما به API-های پلاگین قدیمی وابسته است، باید قبل از مهاجرت به پلاگین جدید سازگاری برنامه‌ی خود با API-های جدید را تست کنید. برای این کار نسخه‌ی پلاگین درون فایل build.gradle باید به‌روزرسانی شود.
        ریپازیتوری Google Maven: وابستگی‌های Android Support Library قرار است از این پس خارج از Android SDK Manager و از طریق یک ریپازیتوری جدید با نام Maven در اختیار قرار بگیرند. ساخت، ادغام و مدیریت بیلدهای پیوسته با استفاده از Maven Repository بسیار آسان‌تر از گذشته خواهد بود. (برای استفاده از این منابع، آدرس https://maven.google.com را به فایل build.gradle اپ خود اضافه کنید.)
        ایمیج‌های سیستمی گوگل‌پلی: ایمیج‌های سیستمی شبیه‌ساز اندروید O از این به بعد شامل Google Play Store نیز می‌شوند. از این پس می‌توانید اپلیکیشن‌های خود را به صورت end-to-end با گوگل‌پلی تست کنید و Google Play services را درست مانند دستگاه‌های فیزیکی، در دستگاه اندروید مجازی (AVD) خود نیز به‌روزرسانی کنید.
        پشتیبانی از OpenGL ES 3.0 در Android Emulator: علاوه بر بهبودهای قابل توجه در عملکرد گرافیکی OpenGL ES 2.0 در شبیه‌سازهای قدیمی، پشتیبانی از OpenGL ES 3.0 به Android Emulator اضافه شده است. برای استفاده از این ویژگی، کارت گرافیک دستگاهی که اندروید استودیو ۳ روی آن نصب است باید از OpenGL 3.2 پشتیبانی کند. این قابلیت فعلا تنها برای ویندوز و لینوکس عرضه شده است و هنوز برای MacOS در دسترس نیست.
        App Bug Reporter: برای آسان‌تر شدن فرآیند به دست آوردن گزارش از باگ‌های اپلیکیشن، App Bug Reporter به Android Emulator اضافه شده است. همچنین لینکی برای به‌اشتراک‌گذاری باگ‌های خودِ شبیه‌ساز با تیم اندروید استودیو درون نرم‌افزار در نظر گرفته شده است. (برای این کار به مسیر Emulator Tool Bar → Extended Controls → Help → Emulator Help → File a Bug بروید.)
        پشتیبانی از پراکسی در اندروید: یک رابط کاربری برای مدیریت تنظیمات پراکسی مورد استفاده توسط امولاتور، به نسخه‌ی جدید اضافه شده است. Android Emulator به صورت پیش‌فرض از تنظیمات پراکسی اندروید استودیو استفاده می‌کند، اما از این پس می‌توانید این تنظیمات را از مسیر Extended Controls → Settings → Proxy تغییر بدهید.
        کنترل‌های Android Wear در امولاتور اندروید: کنترل‌های چرخشی اندروید ور ۲.۰ به ایمیج سیستمی امولاتور اضافه شده است. از این پس می‌توانید اپلیکیشن‌های اندورید ور خود را که شامل کنترل‌های چرخشی (برای اسکرول کردن) هستند را به‌راحتی در امولاتور اندروید تست کنید. هنگام انتخاب دستگاه اندروید ور در امولاتور، یک پنل برای شبیه‌سازی ورود کنترل‌های چرخشی در قسمت Extended controls به نمایش درمی‌آید.
        APK Debugging: در صورت داشتن نسخه‌ی قابل دیباگ یک APK، می‌توان به‌راحتی از طریق قابلیت جدید APK Debugging فایل خود را مانیتور، آنالیز و دیباگ کنید. اگر سورس فایل پروژه را نیز در اختیار دارید، می‌توانید با لینک کردن آن به فایل APK، سرعت و دقت فرآیند دیباگ را افزایش دهید. این قابلیت از مسیر File → Profile و سپس انتخاب گزینه‌ی debug APK در دسترس خواهد بود.
        Layout Inspector: قابلیت گروه‌بندی ویژگی‌ها (Properties) در دسته‌های متداول و اضافه شدن امکان جستجو در View Tree و پنل Properties، از جمله قابلیت‌های جدید Layout Inspector هستند. برای دسترسی به این ویژگی‌ها به مسیر Tools → Android → Layout Inspector بروید.
        Device File Explorer: دیوایس فایل اکسپلورر که در واقع نسخه‌ی پورت‌شده‌ی DDMS است، به شما این امکان را خواهد داد تا ساختار فایل‌ها و دایرکتوری دستگاه اندرویدی خود را در امولاتور مشاهده کنید. با استفاده از Device File Explorer می‌توان همزمان با تست اپلیکیشن، فایل‌های app data را در اندروید استودیو مشاهده و دستکاری کرد.
        Android Profiler: ابزارهای مانیتورینگ اندروید استودیو که پیش از این با نام Android Monitor در دسترس بودند، به‌طور کلی از نو نوشته شده و تحت عنوان Android Profiler جایگزین شده‌اند. هنگامی که یک اپلیکیشن را در دستگاه اندرویدی یا امولاتور اجرا می‌کنید، می‌توانید با استفاده از اندروید پروفایلر داده‌های مربوط به مصرف پردازنده، مموری و شبکه را به صورت real-time مانیتور کنید. هر کدام از عملکردهای اپلیکیشن در یک تایم‌لاین جدا به قسمت مربوطه در UI لینک شده است و با کلیک روی آن می‌توانید به جزئیات بیشتری از عملکرد اپلیکیشن خود در آن بخش دسترسی پیدا کنید.
        بهبودهای APK Analyzer: در نسخه‌ی جدید اندروید استودیو می‌توان با آنالیز فایل‌های زیپ Instant App و AAR-ها، سایز فایل APK نهایی را کاهش داد. APK Analyzer جدید امکان مشاهده‌ی بایت‌کدهای dex کلاس‌ها و متدها را نیز فراهم خواهد کرد. نسخه‌ی جدید اندروید استودیو هنوز در مرحله‌ی آزمایشی قرار دارد؛ اما خبر خوب اینکه می‌توانید همین حالا اندروید استودیو 3 را در کنار نسخه‌ی استیبل نصب، و همزمان مورد استفاده قرار دهید. ساخت اپلیکیشن‌های بهینه شده برای اندروید O، اینستنت اپ‌ها و برنامه‌نویسی به زبان Kotlin، همگی مستلزم استفاده از Android Studio 3 است.
      نسخه‌ی جدید ابزار توسعه‌ی گوگل را می‌توانید به صورت مستقیم از آدرس developer.android.com/studio برای ویندوز، لینوکس و مک دریافت کنید.
    • توسط جواد زبیدی زاده
      سلام
      دوستان اینجام  میخوام آموزشی  بدم  که  میتونه  خیلی کاربرد داشته باشه
      شاید در برخی مواقعه دیده باشید که برخی از برنامه ها همراه  با متن معمولی لینک قرار میدن اینجا میخوام آموزش  بدم که چطور این کار رو میشه انجام داد.
      برای این کار ما از کتاب خانه Linkify استفاده میکنیم
      میتونید مستندات کاملش  رو از ادرس  زیر مطالعه کنید.
      https://developer.android.com/reference/android/text/util/Linkify.html
      خوب ما اول باید یک pattern  ایجادکنیم کار این pattern  چی هستش  ما میایم متنی رو که میخوایم لینک دار کنیم رو به این pattern  میدیم
      Pattern pattern= Pattern.compile("جواد زبیدی زاده"); خب حالا اگر ما بخوایم لینک به وسیله scheme خود برنامه خودمون باز بشه یا به وسیله هر برنامه دیگه میاد متنی رو که داخل pattern  نوشتیم رو ارسال میکنه اگر بخوایم متن دلخواهی بفرستیم میاید از خاصیت TransformFilter   استفاده  میکنیم به مثل زیر توجه کنید
      مثال : اگر عنوان لینک نام و نام خانوادگی کاربر باشه(جواد زبیدی زاده) و بخوایم نام کاربری  رو بفرستیم  (Javadzobeidi) میایم به صورت زیر انجام میدیم
      Linkify.TransformFilter username = new Linkify.TransformFilter() { @Override public String transformUrl(Matcher match, String url) { return "javadzobeidi"; } }; حالا باید ویوی که متن توی اون هستش رو هم تعریف کنیم که اینجا Textview هستش
      TextView event_message = (TextView)itemView.findViewById(R.id.event_message); event_message.setText("جواد زبیدی زاده یک پیغامی برای شما ارسال کرده است"); خب حالا وقتش  شده لینک رو ایجاد کنیم  گفتیم از کلاس Linkify  استفاده میکنیم
      Linkify.addLinks(event_message,pattern,"myScheme://?username=",null,username); توی کد بالا اگر توجه کنید من یک  scheme ایجاد کردم myScheme://?username=
      این scheme  هستش که من با اون اطلاعات رو میگیرم
      خب اگر تا اینجا  درست انجام داده باشید  لینک همراه با متن نمایش داده میشه  ولی خب یک زیر خط همراه لینک به نمایش در میاد که بهش میگن  Underlines برای حذف این زیر خط باید کلاس و تابع زیر رو بنویسید
      /** * Delete Under Line From Link in Text View Class */ public static class URLSpanNoUnderline extends URLSpan { public URLSpanNoUnderline(String p_Url) { super(p_Url); } public void updateDrawState(TextPaint p_DrawState) { super.updateDrawState(p_DrawState); p_DrawState.setUnderlineText(false); } } /** * Delete Under Line From Link in Text View method * Enterd Text View Get text */ public static void removeUnderlines(Spannable p_Text) { URLSpan[] spans = p_Text.getSpans(0, p_Text.length(), URLSpan.class); for(URLSpan span:spans) { int start = p_Text.getSpanStart(span); int end = p_Text.getSpanEnd(span); p_Text.removeSpan(span); span = new URLSpanNoUnderline(span.getURL()); p_Text.setSpan(span, start, end, 0); } } و کد زیر رو کنار کد ایجاد لینک قرار بدید
      // Make sure the TextView was instantiated correctly if(event_message != null) { removeUnderlines((Spannable)event_message.getText()); }  
       
      و من الله التوفیق
       
       

  • دوره آموزشی اندروید ایران کانادا آموزش ویدئویی اندروید آموزش برنامه نویسی اندروید اندروید کاپ دوره آنلاین اندروید کتاب های آموزشی اندروید بسته آموزشی اندروید دوره برنامه نویسی اندروید آموزش Kotlin آموزش برنامه نویسی ios
  • فایل