جستجو در انجمن

در حال نمایش نتایج برای برچسب های 'برنامه نویسی اندروید'.



تنظیمات بیشتر جستجو

  • جستجو بر اساس برچسب

    برچسب ها را با , از یکدیگر جدا نمایید.
  • جستجو بر اساس نویسنده

نوع محتوا


برنامه نویسی اندروید | آموزش برنامه نویسی اندروید | آموزش اندروید

  • اندروید
    • ابزار های برنامه نویسی اندروید
    • آموزش برنامه نویسی اندروید
    • رفع مشکلات و سوالات
    • امنیت در اندروید
    • پروژه های اندروید
  • پشتیبانی اندروید
    • اندروید Lollipop
    • اندروید marshmallow
    • اندروید nougat
    • اندروید Oreo
  • کاتلین (Kotlin)
    • آموزش های برنامه نویسی Kotlin
    • سوالات و رفع مشکلات Kotlin
  • مباحث مرتبط با اندروید
    • ابزارها و سایتهای مفید
    • گرافیک موبایل
    • آموزش های ویدئویی
    • برنامه نویسی جاوا
  • تکنولوژی های اندروید
    • وب موبایل
    • توسعه اندروید با #C
    • توسعه اندروید با Basic4Android
  • متفرقه
    • اپلیکیش های ایرانی
    • برنامه نویسی
    • درخواست همکاری
    • مباحث متفرقه
    • مهارتهای فروش و بازاریابی
  • پشتیبانی محصولات مارکت
    • پرسش و پاسخ مرتبط با مارکت انجمن اندروید ایران
    • پشتیبانی مارکت پروژه های اندروید
    • پشتیبانی مارکت آموزش اندروید
    • پشتیبانی مارکت گرافیک موبایل
  • انجمن اندروید ایران
    • اخبار و اعلانات
    • صندوق پيشنهادات و انتقادات
    • تازه‌های دنیای کامپیوتر و فناوری
    • قوانین انجمن تخصصی اندروید ایران

دسته ها

  • پروژه اندروید
    • سورس پروژه اندروید
    • کامپوننت های اندروید
    • کتابخانه های اندروید
  • آموزش اندروید
    • فیلم آموزشی کاربردی
    • مقالات آموزشی اندروید
  • گرافیک موبایل
    • قالب طراحی اپلیکیشن
  • اپلیکیشن های اندروید
    • کاربردی
    • کسب و کار
    • آموزش
    • کتاب‌ها و منابع
    • ویدئو و رسانه
    • بازی‌

تقویم ها

  • Community Calendar

240 نتیجه پیدا شد

  1. نگارش 1.0.0

    87 دانلود

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

    رایگان

  2. سلام دوستان یه سوال داشتم من میخوام یه نرم افزار کتابخوان یا کتابخ ونه درست کنم به این صورت که : کاربر کتاب مورد نظرش رو انتخاب میکنه ، هزینش رو پرداخت میکنه ، کتاب رو توی خود نرم افزار دریافت میکنه ،(دانلود نمیشه) میخوام توی خود نرم افزار باشه که به عبارتی هرکسی کتاب رو بخره حالا سوالم اینجاست که در این صورت اون حجم کتاب دانلود میشه ؟ یا میشه کاری کرد که کتاب به سرعت باز بشه یعنی روی سرور باز بشه و کاربر فقط مشاهده کنه حالا امکان داره که از یه کتاب خاص 1000 نفر انلاین مشاهده کنن باید چکار کنم ممنون میشم راهنمایی کنین
  3. سلام به دوستان عزیز. بعد از 2 ماهی میشه اومدم به p30DROID و خب خداییش کمی متحیر شدم . تبریک میگم که قالب جدید سایت فراهم شده تا کاربران راحت تر کار کنن . واقعا بهتر از قبله اما باز هم جای کار داره . امیدوارم روز به روز پیشرفت کنید .
  4. سلام برای برنامه نویسی اندروید با اندروید استودیو چه پکیجی خوبه؟ً سون لرن؟ uncox ؟ و یا شاپ دروید ؟ً! کسی تجربه داشته از این پکیج ها؟ کسی دیده و چیزی یاد گرفته؟! ممنون میشم راهنماییم کنید. مرسی اگه اینو ببینم میتونم چیزی یاد بگیرم!؟ http://shopdroid.ir/پرفروش-ترین-ها/product/310-android-training-a-to-z-package.html کسی اینو دیده!؟
  5. سلام دوستانیه سورس و یا یک فیلم آموزشی یا هرچیزی، برای دسترسی به دوربین جهت فیلمبرداری اگه سراغ دارید معرفی کنید یا اگه میشه خودتون توضیح بدید.من اینترنت جستجو کردن ولی فقط برای عکس گرفتن آموزش پیدا میشه، ولی من میخوام باهاش فیلم بگیرم.باتشکر
  6. لیست ویو Listview : در حالت استاندارد به صورت یک لیست متنی میباشد. که اطلاعات را بصورت آرایه ای میسازد.لیست ویو بطور وفور در بیشتر برنامه های اندرویدی یافت میشود مثلا لیست شماره تلفن ها، تماسها و غیره، قرار میگیرد. برای شروع به مثال ساده زیر توجه کنید: در این مثال قصد داریم یک لیست ساده بسازیم که لیست ماه های میلادی را نمایش دهد مرحله 1 ) ابتدا باید در فایل main.xml خود ویجت لیست ویو را قرار دهیم. <?xml version="1.0" encoding="utf-8"?> <ListView android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_height="fill_parent" android:id="@+id/mainListView"/> مرحله 2 )برای نمایش لیست باید به اکتیویتی اصلی که قرار است لیست مربوطه فراخونی شود مراجعه کنیم و لیست را بسازیم. public class ListActivity extends Activity { String[] monthsArray = { "JAN", "FEB", "MAR", "APR", "MAY", "JUNE", "JULY", "AUG", "SEPT", "OCT", "NOV", "DEC" }; private ListView monthsListView; private ArrayAdapter arrayAdapter; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_list); monthsListView = (ListView) findViewById(R.id.mainListView); arrayAdapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1, monthsArray); monthsListView.setAdapter(arrayAdapter); } } شرح کدها : 1-ابتدا باید ارایه خود را تعریف کنیم String[] monthsArray = { "JAN", "FEB", "MAR", "APR", "MAY", "JUNE", "JULY", "AUG", "SEPT", "OCT", "NOV", "DEC" }; 2-لیست ویو را تعریف کنیم : private ListView monthsListView; 3-یک متغیر سراسری از نوع Arraylist ایجاد میکنیم: private ArrayAdapter arrayAdapter; 4- در مرحله آخر لیست را میسازیم : arrayAdapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1, monthsArray); monthsListView.setAdapter(arrayAdapter);
  7. نگارش 1.0.0

    229 دانلود

    سورس اپلیکیشن whatsApp یک اپلیکیشن چت و سورس باز که بصورت رایگان در اختیار کاربران انجمن اندروید ایران قرار گرفته است. دانلود سورس اپلیکیشن واتزاپ Whatschat- Whatsapp clone نسخه 1.0 Real time chat functionality Whatsapp feel Add Friends User Profile and Status User online and offline system Create Group and add friends to group Chat in group Chat with friends Login and Registration System

    رایگان

  8. دوستان من میخوام ۱۰ تا فایل فرضا تو پوشه music هستن به یک ftp ارسال کنم اگر مثلا ۳ تا ارسال کنه اینترنت قطع بشه میخوام خودش اینترنت چک کنه تو هر چند ثانیه اگر وصل بشه بقیه فایل ها ادامه بده و ارسال کنه چطوری دستور تلاش مجدد اضافه کنم؟ [align=left]cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); wifi = cm.getNetworkInfo(ConnectivityManager.TYPE_WIFI); mobile = cm.getNetworkInfo(ConnectivityManager.TYPE_MOBILE); String str = wifi.isAvailable() + ""; String str2 = mobile.isAvailable() + ""; if (wifi.isAvailable() || mobile.isAvailable()) { new uploadToFTP().execute();[/align]
  9. ساخت لیست سفارشی در اندروید در این تاپیک به مبحث ساخت لیست سفارشی در اندروید پرداخته میشود که در هر اپلیکیشن اندروید حتما باید با این امکان برخورد کرده اید.مثلا دیده اید که در یک سطر تعدادی زیاد اطلاعات به شکلی منظم کنار هم قرار گرفته انند مانند تصویر نمونه زیر : http://p30droid.com/Uploader/do.php?img=30[/img] قبل از اینکه مبحث لیست ویو سفارشی را شروع کنیم، اگر تا الان با ساخت لیست ویو آشنا ندارید، ابتدا مقاله اول ساخت لیست ویو را مطالعه نمایید تا آشنایی کلی در این رابطه را داشته باشید.برای اینکه بتوانیم یک لیست سفارشی را بسازیم ابتدا یک پروژه جدید اندروید را ایجاد میکنیم . عنوان پروژه: در این مثال قصد داریم کاربر اطلاعاتی مانند نام و نام خانوادگی و کد را وارد نماید سپس در هر سطر لیست این اطلاعات لیست شده برای کاربران نمایش داده شود. 1-ابتدا یک کلاس برای تعریف دیتایس و ایجاد جدول مربوطه با سه فیلد را ایجاد میکنیم.اگر به مبحث دیتابیس در اندروید آشنایی ندارید لطفا مقاله اول و دوم در رابطه با دیتابیس در اندروید را مطالعه نمایید. [shcode=java] import java.util.ArrayList; import java.util.List; import android.content.ContentValues; import android.content.Context; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; import android.util.Log; public class DatabaseHelper extends SQLiteOpenHelper { public static final String DATABASE = "DATABASE_listview.db"; public static final String tbl_data = "tbl_data"; public static String id = "ID"; public static String name = "name"; public static String family = "family"; // method to create or connect to a database public DatabaseHelper(Context context) { super(context, DATABASE, null, 1); } @Override public void onCreate(SQLiteDatabase db) { db.execSQL("CREATE TABLE " + tbl_data + " (" + id + " TEXT ," + name + " TEXT," + family + " TEXT);"); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { db.execSQL("DROP TABLE IF EXISTS " + tbl_data); onCreate(db); } public void AddRowtable(String id, String name, String family) { SQLiteDatabase db = this.getWritableDatabase(); ContentValues data = new ContentValues(); data.put("ID", id); data.put("name", name); data.put("family", family); db.insert(tbl_data, null, data); } } [/shcode] در این کلاس که کدهای آن را مشاهده میکنید یک تابع نیز به نام AddRowtable وجود دارد که برای وارد کردن اطلاعات در دیتابیس مورد استفاده میشود. 2- سپس در اکتیویتی اصلی برنامه یک لیست ویو قرار گرفته است برای نمایش اطلاعات موجود ، که از یک لیست سفارشی استفاده شده است. فایل activity_main.xml که در مسیر res/layout میباشد را باز نمایید. [shcode=xml] xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity" > android:id="@+id/listView1" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" > [/shcode] 3-اکتیویتی MainActivity را باز کنید: در این اکتیویتی آن چنان که در xml ان مشاهده نموید،فقط یک لیست ویو قرار دارد، پس ابتدا آن را تعریف میکنیم و در مرحله آخر اطلاعات موجود در دیتابیس در آن قرار میگیرد.در این کلاس یک تابع به اسم FillData تعریف شده که اطلاعات موجود در جدول را میخواند و در Hashmap قرار میدهد. شرح : از خط 18 تا 21 ویجت ها و کلاس ها تعریف شده اند. خط 26: لیست ویو تعریف شده است. خط 27 : یک شی جدید از کلاس دیتابیس با Context کلاس جاری را ایجاد کردیم. خط 36 : FillData برای این در onResume فراخوانی شده است که چون قرار است به اکتیویتی افزودن برویم و بعد دوباره back میزنیم تا اطلاعات بروز رسانی شود. خط 45 : یک Cusrsor تعریف شده تا شرط مورد نظر که انتخاب همه اطلاعات است را اجرا کند خط 52 : یک حلقه تعریف شده، به اندازه تعداد رکورد های پیدا شده از شرط اجرا میشود خط 54 : cursor یک رکورد به جلو میرود: چون cursor از صفر شروع میشود برای اینکه برنامه اخطار ندهد یه خانه به جلو میرویم خط 55 : یک Hashmap را تعریف میکنیم تا اطلاعات فیلدها را در آن بطور موقت ذخیره کنیم. خطوط56 تا 58 : این خطوط اطلاعات پیدا شده از شرط که در cursor قرار دارند را ذخیره میکنند. خطوط 60 تا 62 : این خطوط نیز اطلاعات موجود در متغیرهای بالا در خود ذخیره میکنند و هر فیلد دارای اسمی خاص میباشد. خط 64: اطلاعات در شی Datalist ذخیره میشود. خط 67 : اطلاعات پیدا شده و ست شده در Datalist را به کلاس listviewAdapter میفرستد تا بصورت لیست سفارشی نمایش داده شود. 68: سرانجام اطلاعات پیدا شده در لیست ویو نمایش داده میشود. کلاس listviewAdapter : این کلاس وظیفه نمایش اطلاعات را در قالب مشخص شده را داردو خط : 56 : در این خط تعیین میکنیم که لیست ما از کدام layout باید برای نمایش استفاده کند. در این کلاس آنچنان که ملاحضه میکنید در خطوط 60 تا 64 فیلدها فایل list-row که در مسیر res/layout میباشند را تعریف میکنیم.این لایوت همان لیستی میباشد که آن را طراحی کرده ایم تا لیست مورد نیاز ما را نمایش دهد. [shcode=xml]<?xml version="1.0" encoding="utf-8"?> android:layout_width="fill_parent" android:layout_height="wrap_content" android:background="@drawable/list_selector" android:orientation="horizontal" android:padding="5dip" > android:id="@+id/thumbnail" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_marginRight="5dip" android:background="@drawable/image_bg" android:padding="3dip" > android:id="@+id/title" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignTop="@+id/thumbnail" android:layout_toRightOf="@+id/thumbnail" android:text="title" android:textColor="#040404" android:textSize="20dip" android:textStyle="bold" android:typeface="sans" /> android:id="@+id/date" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_below="@id/title" android:layout_marginTop="1dip" android:layout_toRightOf="@+id/thumbnail" android:gravity="left" android:text="family" android:textColor="#FFA500" android:textSize="14dip" /> android:id="@+id/list_list" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:layout_alignTop="@id/date" android:layout_marginRight="5dip" android:background="#E5E4E2" android:gravity="right" android:text="ID" android:textColor="#0000FF" android:textSize="12dip" android:textStyle="bold" /> [/shcode] 4-افزودن اطلاعات: برای افزودن اطلاعات ، روی دکمه منو کلیک کنید و گزینه add را انتخاب کنید ، تا وارد اکتیوتی userActivity شوید : افزودن اطلاعات : خطوط 27 تا 32 : ویجت ها را تعریف میکنند. خط 34 : وارد رویداد کلیک دکمه ثبت میشویم خط 39 این دستور،تابع موجود در کلاس دیتابیس DatabaseHelper که به اسم dbh را میباشد اجرا میشود و اطلاعات در فیلدهای موجود ذخیره میشود. دانلود مثال از آپلود سنتر انجمن پی سی دروید : http://p30droid.com/Uploader/do.php?id=36 پسورد : www.p30droid.com دانلود نسخه PDF مطلب. امیدوارم مفید واقع شود.
  10. سلام من با کمک کتابخانه https://github.com/roughike/BottomBar یک تب ساختم و با استفاده از viewpager یک اسلاید ویو ساختم چطوری این دوتا رو هماهنگ کنم مثلا با کشیدن صفحه علاوه بر تغییر ویو تب هم به تب بعدی تغییر کنه و برعکس یعنی اگر روی تب کلیک کرد ویو عوض بشه کد های main.xml [shcode=java] android:layout_width="match_parent" android:layout_height="match_parent" xmlns:app="http://schemas.android.com/apk/res-auto"> android:id="@+id/contentContainer" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_above="@+id/bottomBar" /> android:id="@+id/viewpager" android:layout_width="match_parent" android:layout_height="match_parent"/> android:id="@+id/bottomBar" android:layout_width="match_parent" android:layout_height="60dp" android:layout_alignParentBottom="true" app:bb_tabXmlResource="@xml/bottombar_tabs" /> [/shcode] کد های main.java [shcode=java] package com.sayeben.test; import android.app.Activity; import android.support.annotation.IdRes; import android.support.annotation.Nullable; import android.support.v4.view.ViewPager; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import com.roughike.bottombar.BottomBar; import com.roughike.bottombar.BottomBarTab; import com.roughike.bottombar.OnTabSelectListener; public class Main extends AppCompatActivity { protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); final ViewPager viewPager = (ViewPager) findViewById(R.id.viewpager); viewPager.setAdapter(new CustomPagerAdapter(this)); BottomBar bottomBar = (BottomBar) findViewById(R.id.bottomBar); bottomBar.setOnTabSelectListener(new OnTabSelectListener() { @Override public void onTabSelected(@IdRes int tabId) { if (tabId == R.id.bbn_item1) { } if (tabId == R.id.bbn_item1) { // The tab with id R.id.tab_favorites was selected, // change your content accordingly. } if (tabId == R.id.bbn_item2) { // The tab with id R.id.tab_favorites was selected, // change your content accordingly. } if (tabId == R.id.bbn_item3) { // The tab with id R.id.tab_favorites was selected, // change your content accordingly. } if (tabId == R.id.bbn_item4) { // The tab with id R.id.tab_favorites was selected, // change your content accordingly. } } }); } } [/shcode] کد های modelobject.java [shcode=java] package com.sayeben.test; /** * Created by Mohammad on 14/11/2016. */ public enum ModelObject { RED(R.string.red, R.layout.view_red), BLUE(R.string.blue, R.layout.view_blue), GREEN(R.string.green, R.layout.view_green); private int mTitleResId; private int mLayoutResId; ModelObject(int titleResId, int layoutResId) { mTitleResId = titleResId; mLayoutResId = layoutResId; } public int getTitleResId() { return mTitleResId; } public int getLayoutResId() { return mLayoutResId; } } [/shcode] کد های custompageAdapter [shcode=java] package com.sayeben.test; /** * Created by Mohammad on 14/11/2016. */ import android.content.Context; import android.support.v4.view.PagerAdapter; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; public class CustomPagerAdapter extends PagerAdapter { private Context mContext; public CustomPagerAdapter(Context context) { mContext = context; } @Override public Object instantiateItem(ViewGroup collection, int position) { ModelObject modelObject = ModelObject.values()[position]; LayoutInflater inflater = LayoutInflater.from(mContext); ViewGroup layout = (ViewGroup) inflater.inflate(modelObject.getLayoutResId(), collection, false); collection.addView(layout); return layout; } @Override public void destroyItem(ViewGroup collection, int position, Object view) { collection.removeView((View) view); } @Override public int getCount() { return ModelObject.values().length; } @Override public boolean isViewFromObject(View view, Object object) { return view == object; } @Override public CharSequence getPageTitle(int position) { ModelObject customPagerEnum = ModelObject.values()[position]; return mContext.getString(customPagerEnum.getTitleResId()); } } [/shcode] و سه لایه با نام های view_blue و ... ممنون
  11. کاربران گرامی انجمن اندروید ایران با توجه به نیازی که احساس میشد و برای رضایت بیشتر کاربران گرام انجمن فایل نصبی JDK 1.8 نسخه 64 بیتی برای دانلود روی سرور انجمن قرار گرفته است و میتوانید آن را دانلود نمایید.امید است براحتی بتوانید برنامه های اندروید را راه اندازی نمایید کیت توسعه جاوا (Java SE Development Kit – به اختصار JDK) شامل محیط اجرای جاوا (Java Runtime Environment – به اختصار JRE) به همراه ابزارهایی برای توسعه، دیباگ و مانیتورینگ اپلیکیشن‌های جاوا می‌باشد.کیت توسعه جاوا برای توسعه اپلیکیشن‌ها و اپلت‌های جاوا و همچنین اجرای آن‌ها ضروری است. ابزارهای JDK به پنج دسته تقسیم می‌شوند: ابزارهای پایه‌ای (Basic Tools) ابزارهای فراخوانی متد راه دور (Remote Method Invocation – به اختصار RMI) ابزارهای بین‌المللی سازی (Internationalization) ابزارهای امنیتی ابزارهای Java IDL لینک دانلود http://p30droid.com/Download/java/jdk-8u51-windows-x64.exe دوستدار شما- فرزاد سرسیفی
  12. محیط جدید برنامه نویسی اندروید 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 کامنت‌ها را می‌دهند. گزینه‌ای برای تنظیمات پیش نمایش طرح بندی در صفحه نمایش چندگانه
  13. راه های زیادی برای دانلود موجود هست که در اینجا مهم ترینشون رو می نویسم و استفاده از این روش ها بستگی به شما داره که کدوم به درد برنامه شما می خوره. 1. استفاده از AsyncTask و نمایش پیشرفت در progress // declare the dialog as a member field of your activity ProgressDialog mProgressDialog; // instantiate it within the onCreate method mProgressDialog = new ProgressDialog(YourActivity.this); mProgressDialog.setMessage("A message"); mProgressDialog.setIndeterminate(true); mProgressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL); mProgressDialog.setCancelable(true); // execute this when the downloader must be fired final DownloadTask downloadTask = new DownloadTask(YourActivity.this); downloadTask.execute("the url to the file you want to download"); mProgressDialog.setOnCancelListener(new DialogInterface.OnCancelListener() { @Override public void onCancel(DialogInterface dialog) { downloadTask.cancel(true); } }); private class DownloadTask extends AsyncTask { private Context context; private PowerManager.WakeLock mWakeLock; public DownloadTask(Context context) { this.context = context; } @Override protected String doInBackground(String... sUrl) { InputStream input = null; OutputStream output = null; HttpURLConnection connection = null; try { URL url = new URL(sUrl[0]); connection = (HttpURLConnection) url.openConnection(); connection.connect(); // expect HTTP 200 OK, so we don't mistakenly save error report // instead of the file if (connection.getResponseCode() != HttpURLConnection.HTTP_OK) { return "Server returned HTTP " + connection.getResponseCode() + " " + connection.getResponseMessage(); } // this will be useful to display download percentage // might be -1: server did not report the length int fileLength = connection.getContentLength(); // download the file input = connection.getInputStream(); output = new FileOutputStream("/sdcard/file_name.extension"); byte data[] = new byte[4096]; long total = 0; int count; while ((count = input.read(data)) != -1) { // allow canceling with back button if (isCancelled()) { input.close(); return null; } total += count; // publishing the progress.... if (fileLength > 0) // only if total length is known publishProgress((int) (total * 100 / fileLength)); output.write(data, 0, count); } } catch (Exception e) { return e.toString(); } finally { try { if (output != null) output.close(); if (input != null) input.close(); } catch (IOException ignored) { } if (connection != null) connection.disconnect(); } return null; } @Override protected void onPreExecute() { super.onPreExecute(); // take CPU lock to prevent CPU from going off if the user // presses the power button during download PowerManager pm = (PowerManager) context.getSystemService(Context.POWER_SERVICE); mWakeLock = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, getClass().getName()); mWakeLock.acquire(); mProgressDialog.show(); } @Override protected void onProgressUpdate(Integer... progress) { super.onProgressUpdate(progress); // if we get here, length is known, now set indeterminate to false mProgressDialog.setIndeterminate(false); mProgressDialog.setMax(100); mProgressDialog.setProgress(progress[0]); } @Override protected void onPostExecute(String result) { mWakeLock.release(); mProgressDialog.dismiss(); if (result != null) Toast.makeText(context,"Download error: "+result, Toast.LENGTH_LONG).show(); else Toast.makeText(context,"File downloaded", Toast.LENGTH_SHORT).show(); } و permission رو هم به برنامه اضافه کنید
  14. سلام دوستان میخواستم از محیط اکلیپس به محیط اندروید استودیو برم. فقط یک مشکلی دارم youwaveبه اندروید استودیو وصل نمیشه. کسی میتونه راهنماییم کنه هرچی گشتم مشکلم حل نشد. اینو هم امتحان کردم cd E:\android2\sdk\platform-tools adb connect 127.0.0.1:5558 pause جواب نداد!
  15. درود و خسته نباشید من یه پروژه اندروید دارم ولی نمیدونم مشکلش چیه چون خطا نمیده ولی موقع اجرا unfortunately android page has stoped باید چیکار کنم؟ کسی هست پروژه مو براش بفرستم تا یه نگاهی بهش بندازه؟؟ ممنون
  16. سلام دوستان کسی هست که ساخت drawerرو توی eclipseبرای من توضیح بده؟! میدونم که توی اندروید استودیو با navigation میشه این کار رو انجام داد اما eclipseرو نمیدونم. لطفا کمک کنید. مرسی
  17. در مقاله قبل در مورد پایگاه داده برنامه های اندروید صحبت کردیم و گفتیم پایگاه داده مورد استفاده برنامه های اندرویدی Sqlite می باشد، مولفه های مختلف Sqlite را معرفی کردیم در این مقاله یک نمونه مثال از این پایگاه داده را به همراه کدهای آن توضیح می دهیم. مثال استفاده شده ساخت یک پایگاه داده برای ذخیره مخاطبین تلفن همراه است با استفاده از این پایگاه داده می توان اطلاعات تماس تلفن همراه را درج، حذف، ویرایش کرد. برای تست این مثال می بایست آن را روی دستگاه واقعی دوربین دار تست کنید. با استفاده از اندروید استودیو یک برنامه کاربردی تحت عنوان com.example.sairamkrishna.myapplication بسازیم. برای ساخت این برنامه و پایگاه داده به ترتیب مراحل زیر را انجام می دهیم: 1.برای ساخت این پروژه مطمئن شوید که اندروید SDK از آخرین نسخه پشتیبانی کند تا با API های نسخه بالا همخوانی داشته باشند. 2.فایل SRC/MainActivity.java را می گذاریم تا توسط آن همه مولفه های XML و اخرین تماس ها را دریافت کند. Src/DBHelper.java.3 را می سازیم، که عملکرد دیتابیس را مدیریت می کند. 4.یک مولفه جدید با عنوان DisplayContact.java ایجاد می کنیم تا تماس های روی صفحه را نمایش دهد. 5.تغییر res/layout/activity_main و res/layout/activity_display_contact.xml که برای اضافه شدن مولفه های xml است. 6.تغییر فایل res/values/string.xml برای افزودن اجزای رشته ای ضروری است. 7.قرار دادن فایل res/menu/display_contact.xml برای ایجاد منوهای ضروری 8.ایجاد منو res/menu/mainmenu.xml برای قرار دادن امکان درج مخاطب 9.اجرای نرم افزار بر روی یک دستگاه اندرویدی و نصب برنامه روی آن در ادامه کدهای مربوط به مرحل بالا را قرار می دهیم. با نوشتن این کدها مرحله به مرحله دیتا بیس ما ایجاد می شود. محتوای MainActivity.java. را با استفاده از کدهای زیر ویرایش می کنیم. package com.example.sairamkrishna.myapplication; import android.content.Context; import android.content.Intent; import android.support.v7.app.ActionBarActivity; import android.os.Bundle; import android.view.KeyEvent; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget.AdapterView.OnItemClickListener; import android.widget.ListView; import java.util.ArrayList; import java.util.List; public class MainActivity extends ActionBarActivity { public final static String EXTRA_MESSAGE = "MESSAGE"; private ListView obj; DBHelper mydb; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mydb = new DBHelper(this); ArrayList array_list = mydb.getAllCotacts(); ArrayAdapter arrayAdapter=new ArrayAdapter(this,android.R.layout.simple_list_item_1, array_list); obj = (ListView)findViewById(R.id.listView1); obj.setAdapter(arrayAdapter); obj.setOnItemClickListener(new OnItemClickListener(){ @Override public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,long arg3) { // TODO Auto-generated method stub int id_To_Search = arg2 + 1; Bundle dataBundle = new Bundle(); dataBundle.putInt("id", id_To_Search); Intent intent = new Intent(getApplicationContext(),DisplayContact.class); intent.putExtras(dataBundle); startActivity(intent); } }); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.menu_main, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item){ super.onOptionsItemSelected(item); switch(item.getItemId()) { case R.id.item1:Bundle dataBundle = new Bundle(); dataBundle.putInt("id", 0); Intent intent = new Intent(getApplicationContext(),DisplayContact.class); intent.putExtras(dataBundle); startActivity(intent); return true; default: return super.onOptionsItemSelected(item); } } public boolean onKeyDown(int keycode, KeyEvent event) { if (keycode == KeyEvent.KEYCODE_BACK) { moveTaskToBack(true); } return super.onKeyDown(keycode, event); } } در زیر محتوای فایل DisplayContact.java برای تطبیق با برنامه اصلاح شده است: package com.example.addressbook; import android.os.Bundle; import android.app.Activity; import android.app.AlertDialog; import android.content.DialogInterface; import android.content.Intent; import android.database.Cursor; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.widget.Button; import android.widget.TextView; import android.widget.Toast; public class DisplayContact extends Activity { int from_Where_I_Am_Coming = 0; private DBHelper mydb ; TextView name ; TextView phone; TextView email; TextView street; TextView place; int id_To_Update = 0; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_display_contact); name = (TextView) findViewById(R.id.editTextName); phone = (TextView) findViewById(R.id.editTextPhone); email = (TextView) findViewById(R.id.editTextStreet); street = (TextView) findViewById(R.id.editTextEmail); place = (TextView) findViewById(R.id.editTextCity); mydb = new DBHelper(this); Bundle extras = getIntent().getExtras(); if(extras !=null) { int Value = extras.getInt("id"); if(Value>0){ //means this is the view part not the add contact part. Cursor rs = mydb.getData(Value); id_To_Update = Value; rs.moveToFirst(); String nam = rs.getString(rs.getColumnIndex(DBHelper.CONTACTS_COLUMN_NAME)); String phon = rs.getString(rs.getColumnIndex(DBHelper.CONTACTS_COLUMN_PHONE)); String emai = rs.getString(rs.getColumnIndex(DBHelper.CONTACTS_COLUMN_EMAIL)); String stree = rs.getString(rs.getColumnIndex(DBHelper.CONTACTS_COLUMN_STREET)); String plac = rs.getString(rs.getColumnIndex(DBHelper.CONTACTS_COLUMN_CITY)); if (!rs.isClosed()) { rs.close(); } Button b = (Button)findViewById(R.id.button1); b.setVisibility(View.INVISIBLE); name.setText((CharSequence)nam); name.setFocusable(false); name.setClickable(false); phone.setText((CharSequence)phon); phone.setFocusable(false); phone.setClickable(false); email.setText((CharSequence)emai); email.setFocusable(false); email.setClickable(false); street.setText((CharSequence)stree); street.setFocusable(false); street.setClickable(false); place.setText((CharSequence)plac); place.setFocusable(false); place.setClickable(false); } } } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. Bundle extras = getIntent().getExtras(); if(extras !=null) { int Value = extras.getInt("id"); if(Value>0){ getMenuInflater().inflate(R.menu.display_contact, menu); } else{ getMenuInflater().inflate(R.menu.main, menu); } } return true; } public boolean onOptionsItemSelected(MenuItem item) { super.onOptionsItemSelected(item); switch(item.getItemId()) { case R.id.Edit_Contact: Button b = (Button)findViewById(R.id.button1); b.setVisibility(View.VISIBLE); name.setEnabled(true); name.setFocusableInTouchMode(true); name.setClickable(true); phone.setEnabled(true); phone.setFocusableInTouchMode(true); phone.setClickable(true); email.setEnabled(true); email.setFocusableInTouchMode(true); email.setClickable(true); street.setEnabled(true); street.setFocusableInTouchMode(true); street.setClickable(true); place.setEnabled(true); place.setFocusableInTouchMode(true); place.setClickable(true); return true; case R.id.Delete_Contact: AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setMessage(R.string.deleteContact) .setPositiveButton(R.string.yes, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { mydb.deleteContact(id_To_Update); Toast.makeText(getApplicationContext(), "Deleted Successfully", Toast.LENGTH_SHORT).show(); Intent intent = new Intent(getApplicationContext(),MainActivity.class); startActivity(intent); } }) .setNegativeButton(R.string.no, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { // User cancelled the dialog } }); AlertDialog d = builder.create(); d.setTitle("Are you sure"); d.show(); return true; default: return super.onOptionsItemSelected(item); } } public void run(View view) { Bundle extras = getIntent().getExtras(); if(extras !=null) { int Value = extras.getInt("id"); if(Value>0){ if(mydb.updateContact(id_To_Update,name.getText().toString(), phone.getText().toString(), email.getText().toString(), street.getText().toString(), place.getText().toString())){ Toast.makeText(getApplicationContext(), "Updated", Toast.LENGTH_SHORT).show(); Intent intent = new Intent(getApplicationContext(),MainActivity.class); startActivity(intent); } else{ Toast.makeText(getApplicationContext(), "not Updated", Toast.LENGTH_SHORT).show(); } } else{ if(mydb.insertContact(name.getText().toString(), phone.getText().toString(), email.getText().toString(), street.getText().toString(), place.getText().toString())){ Toast.makeText(getApplicationContext(), "done", Toast.LENGTH_SHORT).show(); } else{ Toast.makeText(getApplicationContext(), "not done", Toast.LENGTH_SHORT).show(); } Intent intent = new Intent(getApplicationContext(),MainActivity.class); startActivity(intent); } } } } در مقاله بعدی می توانید ادامه آموزش را دنبال کنید.
  18. با عرض سلام خدمت دوستان گرامی چند وقتیه تصمیم گرفتم برنامه نویسی اندروید یاد بگیرم هر چقدر تو سایتا گشتم چیزه درست و حسابی پیدا نکردم.:s:s سطح خودمم در ضمینه اندرویدو جاوا صفره صفره ولی سی پلاس پلاس کار کردم. کسی از دوستان میتونه یک منبع درست و حسابی بهم معرفی کنه. واقعا کلافه شدم اگه کسی کمکم کنه واقعا ازش ممنون میشم. در ضمن تو محیط اندروید استودیو کار میکنم.
  19. سلام دوستان میشه لطفا بگید که متد های onPause, onStart توی eclipse کجا هستند؟ یه مشکلی داشتم دوستم گفت که مشکلت توی متد های onPause, onStart هست . میشه بگید که اونا کجا هستن؟ لطفا بگییییییید کمکم کنید
  20. سلام من تازه میخوام برنامه نویسی اندروید رو شروع کنم. میخوام از کسایی که برنامه نویسی اندروید رو از کتاب یاد گرفتن بپرسم که با چه کتابی و چه برنامه ای(تو اینترنت که گشتم، بیشتر از نرم افزار Android Studio صحبت میکردن!) یاد گرفتن و انجام میدن؟؟
  21. سلام دوستان من میخاستم بدونم میشه من یک سری کارهای گرافیکی رو میخام داخل برنامه ی یونیتی بدم ولی چون خیلی از کدها و دستوراتش رو نمیدونم میخام بدونم میشه من کارهای گرافیکی رو داخل یونیتی انجام بدم بعد کدهای برنامه ام رو داخل اندروید استودیو بنویسم وبهش وصل کنم ؟؟ اصلا چنین فرض و چنین چیزی ممکنه ؟؟ ممنون میشه داخل اندروید استودیو 3 بعدی کار کرد ؟ یاعلی.
  22. با سلام برای اتصال گوشی به اکلیپس به صورت وایرلس باید چند دستور را در cmd تایپ کنیم که cmd در سیستمِ من، آخرین دستور (یعنی adb connect ipAddress) را اجرا نمی کند. لطفا اگر راه حل مشکلم را میدانید، کمک کنید. با تشکر
  23. سلام برای اینکه بخواهیم از یک متغییر که در متد onCreate تعریف و مقدار دهی شده در رویدادهای onPause,onStope, onDestroy استفاده کنیم به چه صورت باید عمل کنیم ؟ چون متغییری که داخل oncreate مقدار دهی شده امکان استفاده از آن در رویدادهای دیگر نیست! لطفا راهنمایی کنید. با تشکر
  24. سلام تو این انجمن آموزش جاوا در اندروید استودیو هست؟ اگه هست لطفا لینکش رو بذارید، خودم پیدا نکردم.
  25. سلام من میخوام تازه شروع کنم به یادگیری برنامه نویسی برای ساخت برنامه های آندرویدی ولی نمیدنم از چه چیزی باید اول شروع کرد لطفا راهنمایی کنید . ممنون