رفتن به مطلب
انجمن اندروید ایران | آموزش برنامه نویسی اندروید و موبایل
  • android.png.1fab383bc8500cd93127cebc65b1dcab.png

پست های پیشنهاد شده

 اندروید استودیو نام محیط یکپارچه‌ی توسعه (IDE) اختصاصی گوگل است که از آن برای ساخت برنامه‌های اندروید استفاده می‌شود. گوگل آخرین نسخه از اندروید استودیو با نام  Android Studio 2.3 را در ماه مارس (۲ ماه پیش) سال جاری میلادی عرضه کرده بود. با توجه به جهش شماره‌ی نسخه‌ی جدید به ۳، می‌توان انتظار تغییرات بنیادین در ابزار برنامه‌نویسی گوگل داشت. (شماره‌ی نسخه‌های بتای بیلد جدید اندروید استودیو در ابتدا ۲.۴ بود؛ اما گوگل با توجه به گستردگی تغییرات، تصمیم به افزایش شماره‌ی نسخه گرفت.)

 

studio-hero.jpg.ef17de20790d05934549c574fb0983a2.jpg

 

تغییرات و ویژگی‌های جدید نسخه‌ی جدید اندروید استودیو از این قرار است:

  • زبان برنامه‌نویسی 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 برای ویندوز، لینوکس و مک دریافت کنید.

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

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

  • مطالب مشابه

    • توسط 3245
      سلام
      من درحال اموزش اندروید هستم،
      برای این کار، ویدیوهای ساخت کتاب رو خریدم، اما چون اطلاعاتم خیلی کمه،درک مطالب توی این ویدئو سخته برام
      میخواستم اگرممکنه دوستان کلیپی پیشنهاد بدن که سبک تر باشه و بیشتر به مباحث پایه بپردازه، البته خیلی هم نخواد از صفر شروع کنه که خسته کننده میشه...
      طوری باشه پروژه محور باشه اما پروژه سبکی باشه.
       
      ممنون.
       
       
    • توسط aliazmoodeh
      سلام من یه آپی دارم یه قسمت وجود داره که اطلاعات رو از سرور میگیره و تو ریسایکلرویو نمایش میده من میخوام این اطلاعات رو تو حالت افلاین هم داشته باشم یعنی چی یعنی بتونم اطلاعاتی که از سرور گرفتم قبلا رو وقتی کاربر اینترنت بهش نمایش بدم دقیقن مثله تلگرام میگم ولی نمیدونم باید چیکار کنم اگر اموزشی در این رابط دارید بهم بگید یا سورسی دارید بهم بگید پولی یا رایگان باشه برام فرقی نمیکنه فقط میخوام مشکلمو حل کنه
    • توسط Zeynab Tri
      سلام. دوستان بنده یک عدد تازه کار در برنامه نویسی اندروید هستم و نمیدونم این ارور رو چطور حل کنم. ممنون میشم اگر کسی میتونه من رو راهنمایی کنه.عکسش رو گذاشتم.

    • توسط moein123
      سلام دوستان خوبین؟
      من برای آپ خودم ثبتنام و لاگین دارم میسازم
      ثبتنام کاربر به خوبی کار میکنه و مشکلی نداره
      ولی برای لاگین کردن نمیدونم چرا کار نمیکنه
      پیغام خطا هم نمیده
      ببینین این کد سمت سروری که نوشتم
      <?php if($_SERVER['REQUEST_METHOD']=='POST'){ $mail2=$_POST['mail']; $password=$_POST['pass']; require_once 'connect.php'; $sql = "SELECT * FROM register WHERE mail='$mail2' "; $response=mysqli_query($conn,$sql); $result=array(); $result['login']=array(); if(mysqli_num_rows($response)===1){ $row=mysqli_fetch_assoc($response); if(password_verify($password,$row['pass'])){ $index['name']=$row['name']; $index['mail']=$row['mail']; array_push($result['login'],$index); $result['okk']='1'; $result['message']='okk'; echo json_encode($result); mysqli_close($conn); }else{ $result['okk']='0'; $result['message']='error'; echo json_encode($result); mysqli_close($conn); } } } ?> و اینم کد های جاوای اندروید که نوشتم
      package com.android.register1; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.print.PageRange; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.LinearLayout; import android.widget.ProgressBar; import android.widget.Toast; import com.android.volley.AuthFailureError; import com.android.volley.Request; import com.android.volley.RequestQueue; import com.android.volley.Response; import com.android.volley.VolleyError; import com.android.volley.toolbox.StringRequest; import com.android.volley.toolbox.Volley; import com.google.android.material.snackbar.Snackbar; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; import java.util.HashMap; import java.util.Map; public class loginn extends AppCompatActivity { EditText edt_username,edt_password_login; Button btn_login; ProgressBar my_progcess; static String url_login="http://192.168.1.103/register2/login.php"; LinearLayout my_manager; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_loginn); find_all(); } private void find_all() { edt_username=findViewById(R.id.edt_username); edt_password_login=findViewById(R.id.edt_pass_login); my_progcess=findViewById(R.id.my_progcess_login); btn_login=findViewById(R.id.btn_login); my_manager=findViewById(R.id.my_manager); btn_login.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { String musername=edt_username.getText().toString().trim(); String mpassword=edt_password_login.getText().toString().trim(); if(!musername.isEmpty() || !mpassword.isEmpty()){ my_login(musername,mpassword); }else { edt_username.setError("username"); edt_password_login.setError("password"); } } }); } public void my_login(final String mail,final String pass){ my_progcess.setVisibility(View.VISIBLE); btn_login.setVisibility(View.GONE); StringRequest request=new StringRequest(Request.Method.POST, url_login, new Response.Listener<String>() { @Override public void onResponse(String response) { try { JSONObject jsonObject=new JSONObject(response); String message=jsonObject.getString("okk"); JSONArray jsonArray=jsonObject.getJSONArray("login"); if(message.equals("1")){ for (int i = 0; i <jsonArray.length() ; i++) { JSONObject jsonObject1=jsonArray.getJSONObject(i); String name=jsonObject1.getString("name").trim(); String mail=jsonObject1.getString("mail").trim(); Snackbar snackbar=Snackbar.make(my_manager, name+mail+"لاگین شدید",Snackbar.LENGTH_LONG); snackbar.getView().setTranslationY(-100); snackbar.show(); } } } catch (JSONException e) { e.printStackTrace(); Toast.makeText(loginn.this, "error1"+e.toString(), Toast.LENGTH_SHORT).show(); my_progcess.setVisibility(View.GONE); btn_login.setVisibility(View.VISIBLE); } } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { Toast.makeText(loginn.this, "error2"+error.toString(), Toast.LENGTH_SHORT).show(); my_progcess.setVisibility(View.GONE); btn_login.setVisibility(View.VISIBLE); } }){ @Override protected Map<String, String> getParams() throws AuthFailureError { Map<String,String>params=new HashMap<>(); params.put("mail",mail); params.put("pass",pass); return params; } }; RequestQueue requestQueue= Volley.newRequestQueue(this); requestQueue.add(request); } } ممنون میشم کمکم کنید 
    • توسط hossein1212
      سلام 
      من در اجرا شبیه ساز به مشکل زیر خورده ام راه حلی داره
      اینترنتم اوکیه ولی دانلود نمیکنه


  • فایل

×
×
  • اضافه کردن...