Welcome to اسکریپتستان

برای استفاده از تمامی امکانات، ثبت نام کنید. یکبار ثبت نام کنید و وارد شوید، سپس خواهید توانست مطالب خود را ارسال کنید به مطالب دیگر کاربران پاسخ دهید، امتیاز دریافت کنید، پیام خصوصی ارسال کنید و ..

Scriptestan

مدیریت کل
  • تعداد ارسال ها

    10
  • تاریخ عضویت

  • آخرین بازدید

  • روز های برد

    2

اعتبار در سایت

1 Neutral

درباره Scriptestan

  • درجه
    All iz well
  • تاریخ تولد 7 دی 1372

Mood

  • Giddy
  • Currently Feeling Giddy
  1. اعمال فونت های سفارشی روی تمامی ویو ها یا ویو های خاص اپ به" راحت ترین روش " . آیا شما هم از اعمال کردن فونت روی تک تک ویو ها خسته شدید ؟ منم همینطور با این کتابخانه میتوانید تنها با چند خط کد فونت پیشفرض اپلیکیشنتون رو تغییر بدید. و همچنین میتوانید در کد های xml به صورت مستقیم به ویو خاص فونتی رو اعمال کنید. روش استفاده 1. اپتدا کتابخانه را به پروژه اضافه کنید . دانلود aar: calligraphy-2.2.0.aar یا از طریق گریدل: compile 'uk.co.chrisjenx:calligraphy:2.3.0' 2. فونت های خود را به پوشه assets اضافه کنید. 3. اگر شما فونت های خود را در پوشه fonts در assets ریخته باشید به این صورت در xml استفاده میکنیم: <TextView fontPath="fonts/MyFont.ttf"/> 4. برای تغییر فونت پیشفرش کد زیر را باید به onCreate کلاس Application اضافه کنید : @Override public void onCreate() { super.onCreate(); CalligraphyConfig.initDefault(new CalligraphyConfig.Builder() .setDefaultFontPath("fonts/scriptestan.ttf") .setFontAttrId(R.attr.fontPath) .build() ); //.... } و این متد را به Activity اضافه کنید : @Override protected void attachBaseContext(Context newBase) { super.attachBaseContext(CalligraphyContextWrapper.wrap(newBase)); } آدرس گیتهاب: https://github.com/chrisjenx/Calligraphy موفق باشید.
  2. SugarORM

    SugarORM SugarORM یک کتابخانه با ساختار Orm است که برای اندروید ساخته شده که کار با دیتابیس را بسیار راحت میکند . از ویژگی های این کتابخونه: یکسری api ها رو فراهم میکنه که یادگیری و به خاطر سپردنشون راحته . جداول مورد نیاز رو خودش به صورت خودکار میسازه متد های ساده ای برای برقراری ارتباط یک به یک ، یک به چند و چند به چند در اختیارتون میزاره عملیات CRUD رو با متد های save(), delete() and find() (or findById()). میتونین به راحتی انجام بدین. 1. برای شروع با گرندل دستور زیر رو به پروژه اضافه کنید یا فایل aar رو دانلود کنید: sugar-1.3.aar sugar-1.5.aar compile 'com.github.satyan:sugar:1.*' 2. برای استفاده از این کتابخانه لازمه این متا هارو به منیفست اضافه کنید(مقادیر را به دلخواه تغییر دهید) : <meta-data android:name="DATABASE" android:value="sugar_scriptestan.db" /> <meta-data android:name="VERSION" android:value="2" /> <meta-data android:name="QUERY_LOG" android:value="true" /> <meta-data android:name="DOMAIN_PACKAGE_NAME" android:value="ir.scriptestan" /> 3.موجودیت ها خب حالا لازمه موجودیت های اپلیکیشنتون رو به صورت یک کلاس تعریف کنین و کلاس SugarRecord رو مادر قرار بدید. public class Book extends SugarRecord<Book> { String title; String edition; public Book(){ } public Book(String title, String edition){ this.title = title; this.edition = edition; } } همین !! حالا پس از کامپایل خود کتابخانه جدولی از این شی (Book) برای شما در دیتابیس میسازد و نیاز به کار اضافی دیگری نیست. 4. نحوه استفاده نحوه استفاده بسیار ساده است . کافیست فقط کد های زیر را نگاه کنید : ذخیره کردن : Book book = new Book(ctx, "Title here", "2nd edition") book.save(); پیدا کردن یک ردیف (انتخاب کردن): Book book = Book.findById(Book.class, 1); آپدیت کردن(بروزرسانی): Book book = Book.findById(Book.class, 1); book.title = "updated title here"; // modify the values book.edition = "3rd edition"; book.save(); // updates the previous entry with new values. حذف: Book book = Book.findById(Book.class, 1); book.delete(); انتخاب یک لیست (لیست کردن): List<Book> books = Book.listAll(Book.class); Book.deleteAll(Book.class); صفحه کتابخانه در گیتهاب: http://satyan.github.io/sugar/index.html در صورت وجود هرگونه مشکل در همین برگه مطرح کنید. موفق باشید.
  3. درود در بوتسترپ 4 کلاسی به نام form-row اضافه شده که پدینگ ستون ها را کم میکند تا به کامپونت های فورم شما جلوه ی بهتری دهد . نمونه: <form> <div class="form-row"> <div class="col"> <input type="text" class="form-control" placeholder="First name"> </div> <div class="col"> <input type="text" class="form-control" placeholder="Last name"> </div> </div> </form> لینک رفرنس: https://getbootstrap.com/docs/4.0/components/forms/#form-row این کلاس در بوتسترپ 3 وجود نداشت که با این کلاس میتونید این قابلیت رو به بوتسترپ 3 هم اضافه کنید: @media only screen and (min-width : 768px) { .my-form-col > div { padding-left: 5px !important; padding-right: 5px !important; } .my-form-col > div:first-child{ padding-left: 0 !important; } .my-form-col > div:last-child{ padding-right: 0 !important; } } <div class="container"> <h1>With Awesome Padding</h1> <form class="form-horizontal"> <div class="form-group my-form-col"> <div class="col-sm-2"> <select class="form-control"> <option>1</option> <option>2</option> <option>3</option> <option>4</option> <option>5</option> </select> </div> <div class="col-sm-10"> <input type="password" class="form-control" id="inputPassword" placeholder="Password"> </div> </div> <div class="form-group my-form-col"> <div class="col-sm-4"> <input type="text" class="form-control" placeholder="test"> </div> <div class="col-sm-4"> <input type="text" class="form-control" placeholder="test"> </div> <div class="col-sm-4"> <input type="text" class="form-control" placeholder="test"> </div> </div> </form> <h1>Original Column</h1> <form class="form-horizontal"> <div class="form-group "> <div class="col-sm-2"> <select class="form-control"> <option>1</option> <option>2</option> <option>3</option> <option>4</option> <option>5</option> </select> </div> <div class="col-sm-10"> <input type="password" class="form-control" id="inputPassword" placeholder="Password"> </div> </div> <div class="form-group "> <div class="col-sm-4"> <input type="text" class="form-control" placeholder="test"> </div> <div class="col-sm-4"> <input type="text" class="form-control" placeholder="test"> </div> <div class="col-sm-4"> <input type="text" class="form-control" placeholder="test"> </div> </div> </form> </div>
  4. مدیریت متغیر های تعریف نشده (undefined)

    درود، گاهی نیاز هست که ما بررسی کنیم که آیا یک متغییر تعریف شده یا نه تا کار هایی رو بر اساس اون انجام بدیم. در جاوااسکریپت متغییر های تعریف نشده از نوع undefined هستند . بنابر این ما فقط کافیست نوع متغییر را نگاه کنیم. به این ترتیب : if (typeof(myVariable) !== "undefined"){ // do something ! } در شرط بالا اگر متغییر myVariable تعریف شده باشد دستورات داخل بلاک اجرا می شوند.
  5. کامپوننت bootstrap multiselect

    با استفاده از این کامپوننت پیشرفته کار کاربر رو برای انتخاب گذینه ها راحت کنین و تجربه کاربریتون رو بهبود ببخشین! توجه: وابسته به کتابخانه جی کوئری و بوتسترپ مستند ها و نمونه های بیشتر: http://davidstutz.github.io/bootstrap-multiselect/ نصب با استفاده از بوور: bower install bootstrap-multiselect دانلود زیپ از گیتهاب: https://github.com/davidstutz/bootstrap-multiselect/archive/master.zip
  6. Fast Android Networking

    یکی از بهترین کتابخونه ها برای انجام کارهای نتورکی و شبکه ای خصوصیات این کتابخونه: امکان شخصی سازی هر رکوئست به راحتی مانند timeout سفارشی سرعت زیاد و بهینه درخواست ها یک پکیج برای انواع کار های شبکه ای مانند دانلود، آپلود، مولتی پارت پشتیبانی از JSON Parsing به جاوا آبجکت و Jackson Parser کش کردن رسپانس ها برای کاهش استفاده از پهنای باند آنالیز کامل رکوئست ها بررسی کاکشن اینترنت برای نوشتن بهتر کد های منطقی تر - دانلود عکس با کیفیت بالا در ارتباط های پرسرعت و دانلود با کیفیت کم در ارتباط های کم سرعت اجرا کننده میتونه به هر رکوئستی پاس داده بشه برای گرفتن رسپانس در یک ترد(نخ) دیگه امکان ایجاد هر شخصی سازی ممکن امکان لغو درخواست ها رابط کاربری ساده برای ایجاد هر کانکشنی پشتیبانی از RxJava برای شروع این خط رو به build.gradle اضافه و سینک کنید: compile 'com.amitshekhar.android:android-networking:1.0.1' یا فایل aar رو به پروژه اضافه کنید : android-networking-1.0.0.aar android-networking-1.0.1.aar برای ارتباط با اینترنت باید مجوز این کار رو به منیفست AndroidManifest اضافه کنید : <uses-permission android:name="android.permission.INTERNET" /> و در آخر قبل از ایجاد هر ارتباط این خط رو به onCreate اکتیویتی اضافه کنید : AndroidNetworking.initialize(getApplicationContext()); و تمام. نمونه در خواست post و گرفتن رسپانس به صورت Json : AndroidNetworking.post("https://fierce-cove-29863.herokuapp.com/createAnUser") .addBodyParameter("firstname", "Amit") .addBodyParameter("lastname", "Shekhar") .setPriority(Priority.MEDIUM) .build() .getAsJSONArray(new JSONArrayRequestListener() { @Override public void onResponse(JSONArray response) { // do anything with response } @Override public void onError(ANError error) { // handle error } }); نمونه درخواست دانلود فایل : AndroidNetworking.download(url,dirPath,fileName) .setTag("downloadTest") .setPriority(Priority.MEDIUM) .build() .setDownloadProgressListener(new DownloadProgressListener() { @Override public void onProgress(long bytesDownloaded, long totalBytes) { // do anything with progress } }) .startDownload(new DownloadListener() { @Override public void onDownloadComplete() { // do anything after completion } @Override public void onError(ANError error) { // handle error } }); نمونه گرفتن عکس : AndroidNetworking.get(imageUrl) .setTag("imageRequestTag") .setPriority(Priority.MEDIUM) .setBitmapMaxHeight(100) .setBitmapMaxWidth(100) .setBitmapConfig(Bitmap.Config.ARGB_8888) .build() .getAsBitmap(new BitmapRequestListener() { @Override public void onResponse(Bitmap bitmap) { // do anything with bitmap } @Override public void onError(ANError error) { // handle error } }); نمونه های بیشتر : https://amitshekhariitbhu.github.io/Fast-Android-Networking/get_request.html
  7. Butter Knife

    با تعریف سریع ویو ها در یک خط در کمترین زمان به راحتی میتونین به اونها دسترسی داشته باشین . نمونه دسترسی به TextView با دستور BindView class ExampleActivity extends Activity { @BindView(R.id.title) TextView title; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.simple_activity); ButterKnife.bind(this); // TODO Use fields... title.setText("Scriptestan"); } } مثال ها و اطلاعات بیشتر : http://jakewharton.github.io/butterknife/ نصب با گریدل: compile 'com.jakewharton:butterknife:8.8.1' annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1' فایل aar پیوست شد . butterknife-8.8.1.aar