آموزش جاوا و اندروید

یادداشت های یک برنامه نویس معمولی

آموزش جاوا و اندروید

یادداشت های یک برنامه نویس معمولی

طبقه بندی موضوعی

انیمیشن در فلاتر توسط ویجت Transform انجام میشه و انواع مختلفی داره.

 

لینک خوب برای انیمیشن 1

لینک خوب برای انیمیشن 2

لینک خوب برای انیمیشن 3 (فارسی)

 

۰ نظر موافقین ۰ مخالفین ۰ ۰۵ تیر ۰۲ ، ۱۱:۲۸
میم دال

فاصله ها در فایل yaml باید به صورت زیر باشه. وگرنه ارور میده.

 

yaml

 

 

۰ نظر موافقین ۰ مخالفین ۰ ۰۳ تیر ۰۲ ، ۰۴:۳۸
میم دال

برای طراحی های ریسپانسیو در فلاتر، یه کلاس از نوع StatelessWidget مینویسیم که در ورودی سه تا پارامتر میگیره از جنس Widget.

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

 

Widget mobile

Widget tab

Widget desktop

 

توی این کلاس توسط layoutBuilder چک میشه که اندازه اسکرین چقدر هست. با توجه به اندازه اسکرین، ویجت مورد نظر return میشه.

 

در قسمت body از این کلاس نیو کرده و به ازای هر کدام از فیلدها مثلا یک coloumn پاس میدهیم.

 

در این ویدیو مطلب فوق به صورت کامل توضیح داده شده.

۰ نظر موافقین ۰ مخالفین ۰ ۳۰ خرداد ۰۲ ، ۱۶:۲۸
میم دال

اگر بخواهیم با زدن یک دکمه در وب دیتا به اپلیکیشن ارسال شود؛ باید متد addJavascriptInterface برای وب ویو ست گردد. در ورودی این متد یک کلاس از جنس آبجکت و یک name پاس داده میشود.

binding.webView.addJavascriptInterface(new JavaScriptInterface(), "Android");

 

 

۰ نظر موافقین ۰ مخالفین ۰ ۳۱ مرداد ۰۱ ، ۱۸:۵۲
میم دال

برای اپلیکیشن هایی که بیش از 64K متد دارن (K یعنی 1024) به عبارتی دیگر، اپ هایی که بیش از 65,536 متد دارن، باید multidex فعال بشه در غیر این صورت ارور میده.

نحوه فعال سازی در sdkهای پایین تر از 20:

۰ نظر موافقین ۰ مخالفین ۰ ۱۵ تیر ۰۰ ، ۲۰:۵۳
میم دال

گریدل productFlavor هایی که dimension مشابه دارن رو باهم ادغام نمیکنه. مثال زیر به خوبی این قضیه رو نشون میده:

flavorDimensions "dev", "test"
productFlavors{
    free {
        dimension "dev"
        applicationIdSuffix ".free"
        buildConfigField "String", "BASE_URL", "\"https://freeversion.com\""
    }

    paid {
        dimension "dev"
        applicationIdSuffix ".paid"
        buildConfigField "String", "BASE_URL", '"https://paidversion.com"'
    }
    qa{
        dimension "test"
    }
}

۰ نظر موافقین ۰ مخالفین ۰ ۱۲ تیر ۰۰ ، ۰۱:۵۰
میم دال

اگر بخواهیم از یک سورس کد دو تا خروجی با ویژگی های متفاوت بگیریم (مثلا نسخه free و paid) از productFlavor استفاده میکنیم. توی هر نسخه میشه ریسورس های مختلفی داد که در ادامه توضیح میدم.

۰ نظر موافقین ۰ مخالفین ۰ ۱۲ تیر ۰۰ ، ۰۱:۱۶
میم دال

برای این کار api key رو توی فایل gradle.properties تعریف کرده و در لیست gitignore اون رو به صورت زیر اضافه میکنیم:

/gradle.properties

۰ نظر موافقین ۰ مخالفین ۰ ۱۱ تیر ۰۰ ، ۲۱:۲۳
میم دال

به صورت پیش فرض دو نسخه از اپلیکیشن میتونه بیلد بشه، نسخه دیباگ و نسخه release. میتونیم نسخه های دیگه با ویژگی های کاستوم هم اضافه کنیم که این کار در بلوک buildTypes انجام میشه. حالا به چه دردی میخوره؟

میشه به هر variant یک سری buildConfigField اضافه کرد و مثلا URL یا apiKey رو توی نسخه های مختلف مدیریت کرد. مثلا:

۰ نظر موافقین ۰ مخالفین ۰ ۱۱ تیر ۰۰ ، ۱۰:۲۳
میم دال