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

۲ مطلب در ارديبهشت ۱۳۹۸ ثبت شده است

من و git و اندروید

حتما یه برنامه نویس خوب از git استفاده میکنه و " یه برنامه نویس بدون git یه برنامه نویس مرده است "

مطالب زیادی میشه در مورد git تو نت پیدا کرد ولی دونستن بعضی از نکات ساده خالی از لطف نیست . خصوصا که این یافته پس از کلنجار یکی دو ساعته بدست بیاد .

آقا ما اومدیم یه پروژه قدیمی رو ریفکتور کنیم و مثل همیشه از android studio مستقیم share کردیم روی github و همه چی عالی . بعد یه سری تغییرات اومدم commit کنم دیدم ، الا ماشالله فایل تغییر یافته چقدر زیاده . 

یه بررسی اولیه کردم دیدم به به git اومده همه پوشه های build و .gradle رو هم تحت کنترل خودش گرفته . یعنی هر فایلی اونجا هست رو هم خواست بریزه روی repo سرور !!

اون زمان فرصت نداشتم و مجبور شدم بزنم بره و کلی وقت ما رو گرفت تا 60 مگ فایل رو اپلود کنه . بعد از مدتی که فرصت کردم یه سرچی زدم ببینم اشکال کار کجاست و به تجربیات زیر رسیدم :

حذف کنترل git از پروژه :

باید اول از همه یه کاری میکردم که git بیخیال این پروژه بشه . راهش ساده است . برید تو پوشه پروژه و پوشه .git رو حذف کنید . 

اندروید استودیو خودش یه پیغام میده که git اشکال داره و باید config کنید 

 که میرید ( یا روی لینکش کلیک کنید خودش میره ) تو قسمت version control در تنظیمات و کافیه اونجا هم git رو حذف کنید و تمام ، git بیخیال پروژه میشه و میره خونه خودش !


اضافه کردن دوباره پروژه به git :

این که روش تو تصویر زیر مشخصه . فقط قبلش یادتون باشه repo تو github رو حذف کنید تا همه چی از اول ساخته بشه . 


انتقال فایل های اصلی پروژه :

یه فایل text ساده تو پروژه ها هست با نام  gitignore . 

این فایل به git میگه بیخیال چه فایل و پوشه هایی بشه . معمولا هم متن داخلش برای همه میتونه یکسان باشه ولی بسته به تشخیص شما میتونید چیزی روش اضافه کنید . دلیل اینکه پروژه من همه اون پوشه ها رو کنترل میکرد این بود که این فایل رو نداشتم . با اضافه کردنش همه چیز درست شد و فقط فایل اصلی پروژه تحت کنترل قرار گرفت .


*.iml
.gradle
/local.properties
/.idea/workspace.xml
/.idea/libraries
.DS_Store
/build
/captures
.externalNativeBuild

سوالی هم که باقی میمونه اینه که چرا باید git بیخیال این پوشه ها بشه ؟ چون این پوشه ها در هر سیستمی که قرار بگیرن خودشون بصورت اتوماتیک ساخته یا دانلود میشن و نیاز نیست شما همراه پروژه تون انتقالش بدید 


۲ نظر موافقین ۰ مخالفین ۰
مرتضی درزی

تغییر فونت فارسی در پروژه های اندروید

برای ما فارسی زبان های تغییر فونت اصلی اپلیکیشن هایی که مینویسیم تقریبا یه اصله . چون با فونت های جدید رابط کاربری زیباتری می تونیم بگذاریم و از حالت زمخت در میاد . میخوام روش ساده و سر راست افزودن فونت جدید به پروژه برنامه رو بگم که احتمالا جسته و گریخته آموزش هاش رو میشه پیدا کرد ولی گاهی وقت ها یه راه حل امتحان شده سر راست بهتر از توصیه های آموزشیه . با من همراه باشید

انتخاب فونت 

از نظر ما برنامه نویس ها انتخاب یه فونت درست و حسابی که به کلیت رابط کاربریمون بخوره کار سختیه ! چون ما فقط بلدیم کد بزنیم ، طراحی با دوستان دیگه است . فونت ایران یکی از سایت های تخصصی در این کاره ولی من نتونستم فونت مجانی توش پیدا کنم . برای ما که پروژه های عام المنفعه ! انجام میدیم فونت رایگان دوای درده . اینجا میتونید یه چند تا فونت فارسی رایگان پیدا کنید که من خودم از فونت شبنم استفاده میکنم

افزودن فایل به پروژه 

روی پوشه res راست کلیک کرده و New و مثل شکل زیر یه پوشه با نام font ایجاد کنید . 

حالا فایل فونت مورد نظر رو در این پوشه قرار بدید . حواستون باشه اسم فایل فونت با حروف بزرگ شروع نشه که اندروید استودیو اشکال میگیره

فونت ها اصولا از اندروید 26 به بالا میتونن استفاده بشه و برای اینکه بشه تا اندروید 16 هم از فونت استفاده کرد باید این روش رو بکار بگیرید و گرنه فونت اعمال نمیشه 

یه فایل xml با نام مثلا shabnam_font ایجاد کنید و کد زیر رو توش بنویسید :

<?xml version="1.0" encoding="utf-8"?>

<font-family

    xmlns:app="http://schemas.android.com/apk/res-auto">

    <font

        app:fontStyle="normal"

        app:fontWeight="400"

        app:font="@font/shabnam" />

</font-family>

app:font="@font/shabnam" همون آدرس فایل فونت ( ttf ) هست که قبلا اضافه کردیم . حالا فایل style در پوشه Values رو باز کنید و کد زیر رو بهش اضافه کنید :

<style name="textViewFont">
    <item name="android:fontFamily">@font/shabnam_font</item>
</style>
دیگه کار تمومه و میتونید از فونت جدید در جایی که خواستید استفاده کنید :
<TextView
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     style="@style/textViewFont" />
اگر هم بخواهید از این فونت مثلا در تمام TextView های برنامه استفاه کنید کافیه کد زیر رو به theme برنامتون اضافه کنید تا هر جا TextView داریم با این فونت تغییر کنه :
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
     <!-- Customize your theme here. -->
     <item name="colorPrimary">@color/colorPrimary</item>
     <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
     <item name="colorAccent">@color/colorAccent</item>
     <item name="preferenceTheme">@style/PreferenceThemeOverlay</item>
     <item name="android:textViewStyle">@style/creditCardText</item>
</style>
موفق باشید 
۰ نظر موافقین ۰ مخالفین ۰
مرتضی درزی