بستن منو
۴۶۵
تعداد کلیدهای این موضوع
لیست همه کلیدهای این موضوع
مباحث اولیه برای آشنایی با برنامه نویسی اندروید
28
کار با Activity ها ، در برنامه نویسی اندروید
21
طراحی فایل های xml متناظر با Activity ها و ... (لایه گرافیکی Activity ها و ...)، در برنامه نویسی اندروید
11
کار با برنامه Eclipse (یا همان ADT Bundle)، در برنامه نویسی اندروید
11
خطاهای رایج در برنامه Eclipse و در برنامه نویسی اندروید
10
کار با برنامه Android Studio ، در برنامه نویسی اندروید
9
خطاهای رایج در برنامه Android Studio و در برنامه نویسی اندروید
3
تبدیل متغیرها و سایر تبدیل ها، در برنامه نویسی اندروید
9
نمایش عکس و کار با ImageView ، در برنامه نویسی اندروید
22
نمایش متن و کار با رشته ها (strings) و TextView ، در برنامه نویسی اندروید
38
ساخت دکمه (Button) ، در برنامه نویسی اندروید
7
ساخت لیست (فهرست) با ListView ، در برنامه نویسی اندروید
12
ساخت EditText، در برنامه نویسی اندروید
6
مجموعه ویدئوهای آموزش طراحی متریال (Material Design)، در برنامه نویسی اندروید
12
طراحی متریال (Material Design)، در برنامه نویسی اندروید
3
پخش موسیقی، در برنامه نویسی اندروید
5
نمایش انیمیشن، در برنامه نویسی اندروید
3
تغییر ویژگی های کلی برنامه اندروید
3
ذخیره اطلاعات با SharedPreferences ، در برنامه نویسی اندروید
2
پایگاه داده (SQLite Database)، در برنامه نویسی اندروید
10
تبادل اطلاعات بین برنامه اندروید و سرور اینترنتی (اینترنت)، در برنامه نویسی اندروید
28
نمایش یک صفحه اینترنتی یا کدهای HTML (کار با WebView) و ساخت لینک، در برنامه نویسی اندروید
8
حلقه ها (for و while و ...)، در برنامه نویسی اندروید
2
نمایش پیام به کاربر (Dialog و AlertDialog و Toast و Notification و ...)، در برنامه نویسی اندروید
11
ویژگی های صفحه نمایش و چرخش آن، در برنامه نویسی اندروید
10
به دست آوردن ویژگی های کلی برنامه اندروید، در برنامه نویسی اندروید
4
به دست آوردن ویژگی های گوشی کاربر، در برنامه نویسی اندروید
5
بازی سازی، در برنامه نویسی اندروید
1
به اشتراک گذاری (share)، در برنامه نویسی اندروید
5
کار با فایل ها و فولدرها در حافظه خارجی (External Storage)، در برنامه نویسی اندروید
15
کار با پوشه های raw و assets ، در برنامه نویسی اندروید
2
عملیات های ریاضی در برنامه نویسی اندروید
12
کار با دوربین (camera) در برنامه نویسی اندروید
3
کار با action bar ، در برنامه نویسی اندروید
4
کار با کلاس ها (class) ، در برنامه نویسی اندروید
4
کار با package ها ، در برنامه نویسی اندروید
2
نرم افزارهای شبیه ساز برای اجرای برنامه های اندروید بر روی سیستم عامل کامپیوتر (مثل ویندوز)
2
امنیت در برنامه نویسی اندروید
1
Thread ها در برنامه نویسی اندروید
3
سرویس ها (Service) در برنامه نویسی اندروید
9
تاریخ و زمان و تمامی موارد مرتبط با زمان (عملیات های زمان بندی شده و ...)، در برنامه نویسی اندروید
9
AsyncTask در برنامه نویسی اندروید
2
آرایه ها (Arrays)، در برنامه نویسی اندروید
3
لیست آرایه ای (ArrayList)، در برنامه نویسی اندروید
6
رنگ ها (Colors)، در برنامه نویسی اندروید
3
Fragment ها و Tab بندی، در برنامه نویسی اندروید
8
معرفی کتابخانه ها (Libraries)، در برنامه نویسی اندروید
1
ساخت ProgressDialog یا ProgressBar برای نمایش میزان پیشرفت اجرای یک سری عملیات، در برنامه نویسی اندروید
3
نسخه اندروید (Android version) و API level (نسخه API) ، در برنامه نویسی اندروید
1
لرزاندن گوشی (vibrate)، در برنامه نویسی اندروید
2
پرداخت درون برنامه ای، در برنامه نویسی اندروید
1
پروژه های اندروید Open Source کاربران کلیدستان
13
فروشگاه اندروید کلیدستان
1
ساخت امکانات جانبی (جستجو، لیست علاقه مندی، لوگو، منو و ...) برای برنامه اندروید
9
مباحث عمومی در برنامه نویسی اندروید
47
×

دانلود فروشگاه اندروید کلیدستان

2409

نویسنده

علیرضا گلمکانی ( admin )

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

ایجاد امکان بزرگنمایی (zoom) دو انگشتی برای عکس نمایش داده شده در ImageView ، با توسعه عنصر ImageView ، در برنامه نویسی اندروید

در این مبحث، عنصر ImageView را توسعه (extend) می دهیم و یک عنصر جدید با نام TouchImageView می سازیم که ویزگی های ImageView را دارد و در عین حال، دارای قابلیت بزرگنمایی (zoom) دو انگشتی نیز می باشد.

در این پروژه اندروید، کدهای کلاس TouchImageView.java را بنده قبلا از یک سایت انگلیسی زبان گرفته بودم، اما متاسفانه آدرس آن را به خاطر ندارم که لینک منبع را ذکر کنم.

به عنوان یک مثال، پس از ساخت عنصر TouchImageView ، عکس زیر را در آن قرار می دهیم :

ایجاد امکان بزرگنمایی (zoom) دو انگشتی برای عکس نمایش داده شده در ImageView ، با توسعه عنصر ImageView ، در برنامه نویسی اندروید

گوشی را می چرخانیم تا عکس، بهتر نمایش داده شود (بخش بیشتری از عنصر را بپوشاند) :

ایجاد امکان بزرگنمایی (zoom) دو انگشتی برای عکس نمایش داده شده در ImageView ، با توسعه عنصر ImageView ، در برنامه نویسی اندروید

سپس با استفاده از قابلیت بزرگنمایی (zoom) دو انگشتی، بخشی از عکس را بزرگتر نمایش می دهیم :

ایجاد امکان بزرگنمایی (zoom) دو انگشتی برای عکس نمایش داده شده در ImageView ، با توسعه عنصر ImageView ، در برنامه نویسی اندروید

پروژه اندروید را می توانید از انتهای این مبحث، دانلود نمایید.

در ادامه، بخش های مهم پروژه اندروید را شرح می دهیم.

در برنامه eclipse ، ابتدا یک پروژه اندروید با نام ImageViewZoom می سازیم (نام package را برابر com.kelidestan.imageviewzoom انتخاب می کنیم. نام Activity اصلی را برابر MainActivity انتخاب می کنیم و فایل xml متناظر آن را هم برابر activity_main قرار می دهیم).

یک عکس با نام image.jpg را در پوشه drawable-hdpi قرار می دهیم (همان عکسی که می خواهیم نمایش داده شود) :

ایجاد امکان بزرگنمایی (zoom) دو انگشتی برای عکس نمایش داده شده در ImageView ، با توسعه عنصر ImageView ، در برنامه نویسی اندروید

همان طور که گفتیم، باید عنصر ImageView را توسعه (extend) بدهیم و یک عنصر جدید با نام دلخواه TouchImageView بسازیم. برای این منظور، یک کلاس (class) با نام TouchImageView بسازیم :

ایجاد امکان بزرگنمایی (zoom) دو انگشتی برای عکس نمایش داده شده در ImageView ، با توسعه عنصر ImageView ، در برنامه نویسی اندروید

کدهای فایل TouchImageView.java را به صورت زیر می نویسیم :


package com.kelidestan.imageviewzoom;

import android.content.Context;
import android.graphics.Matrix;
import android.graphics.PointF;
import android.graphics.drawable.Drawable;
import android.util.AttributeSet;
import android.util.Log;
import android.view.MotionEvent;
import android.view.ScaleGestureDetector;
import android.view.View;
import android.widget.ImageView;

public class TouchImageView extends ImageView {

    Matrix matrix;

    // We can be in one of these 3 states
    static final int NONE = 0;
    static final int DRAG = 1;
    static final int ZOOM = 2;
    int mode = NONE;

    // Remember some things for zooming
    PointF last = new PointF();
    PointF start = new PointF();
    float minScale = 1f;
    float maxScale = 3f;
    float[] m;


    int viewWidth, viewHeight;
    static final int CLICK = 3;
    float saveScale = 1f;
    protected float origWidth, origHeight;
    int oldMeasuredWidth, oldMeasuredHeight;


    ScaleGestureDetector mScaleDetector;

    Context context;

    public TouchImageView(Context context) {
        super(context);
        sharedConstructing(context);
    }

    public TouchImageView(Context context, AttributeSet attrs) {
        super(context, attrs);
        sharedConstructing(context);
    }
   
    private void sharedConstructing(Context context) {
        super.setClickable(true);
        this.context = context;
        mScaleDetector = new ScaleGestureDetector(context, new ScaleListener());
        matrix = new Matrix();
        m = new float[9];
        setImageMatrix(matrix);
        setScaleType(ScaleType.MATRIX);

        setOnTouchListener(new OnTouchListener() {

            @Override
            public boolean onTouch(View v, MotionEvent event) {
                mScaleDetector.onTouchEvent(event);
                PointF curr = new PointF(event.getX(), event.getY());

                switch (event.getAction()) {
                    case MotionEvent.ACTION_DOWN:
                        last.set(curr);
                        start.set(last);
                        mode = DRAG;
                        break;
                       
                    case MotionEvent.ACTION_MOVE:
                        if (mode == DRAG) {
                            float deltaX = curr.x - last.x;
                            float deltaY = curr.y - last.y;
                            float fixTransX = getFixDragTrans(deltaX, viewWidth, origWidth * saveScale);
                            float fixTransY = getFixDragTrans(deltaY, viewHeight, origHeight * saveScale);
                            matrix.postTranslate(fixTransX, fixTransY);
                            fixTrans();
                            last.set(curr.x, curr.y);
                        }
                        break;

                    case MotionEvent.ACTION_UP:
                        mode = NONE;
                        int xDiff = (int) Math.abs(curr.x - start.x);
                        int yDiff = (int) Math.abs(curr.y - start.y);
                        if (xDiff < CLICK && yDiff < CLICK)
                            performClick();
                        break;

                    case MotionEvent.ACTION_POINTER_UP:
                        mode = NONE;
                        break;
                }
               
                setImageMatrix(matrix);
                invalidate();
                return true; // indicate event was handled
            }

        });
    }

    public void setMaxZoom(float x) {
        maxScale = x;
    }

    private class ScaleListener extends ScaleGestureDetector.SimpleOnScaleGestureListener {
        @Override
        public boolean onScaleBegin(ScaleGestureDetector detector) {
            mode = ZOOM;
            return true;
        }

        @Override
        public boolean onScale(ScaleGestureDetector detector) {
            float mScaleFactor = detector.getScaleFactor();
            float origScale = saveScale;
            saveScale *= mScaleFactor;
            if (saveScale > maxScale) {
                saveScale = maxScale;
                mScaleFactor = maxScale / origScale;
            } else if (saveScale < minScale) {
                saveScale = minScale;
                mScaleFactor = minScale / origScale;
            }

            if (origWidth * saveScale <= viewWidth || origHeight * saveScale <= viewHeight)
                matrix.postScale(mScaleFactor, mScaleFactor, viewWidth / 2, viewHeight / 2);
            else
                matrix.postScale(mScaleFactor, mScaleFactor, detector.getFocusX(), detector.getFocusY());

            fixTrans();
            return true;
        }
    }

    void fixTrans() {
        matrix.getValues(m);
        float transX = m[Matrix.MTRANS_X];
        float transY = m[Matrix.MTRANS_Y];
       
        float fixTransX = getFixTrans(transX, viewWidth, origWidth * saveScale);
        float fixTransY = getFixTrans(transY, viewHeight, origHeight * saveScale);

        if (fixTransX != 0 || fixTransY != 0)
            matrix.postTranslate(fixTransX, fixTransY);
    }

    float getFixTrans(float trans, float viewSize, float contentSize) {
        float minTrans, maxTrans;

        if (contentSize <= viewSize) {
            minTrans = 0;
            maxTrans = viewSize - contentSize;
        } else {
            minTrans = viewSize - contentSize;
            maxTrans = 0;
        }

        if (trans < minTrans)
            return -trans + minTrans;
        if (trans > maxTrans)
            return -trans + maxTrans;
        return 0;
    }
   
    float getFixDragTrans(float delta, float viewSize, float contentSize) {
        if (contentSize <= viewSize) {
            return 0;
        }
        return delta;
    }

    @Override
    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
        super.onMeasure(widthMeasureSpec, heightMeasureSpec);
        viewWidth = MeasureSpec.getSize(widthMeasureSpec);
        viewHeight = MeasureSpec.getSize(heightMeasureSpec);
       
        //
        // Rescales image on rotation
        //
        if (oldMeasuredHeight == viewWidth && oldMeasuredHeight == viewHeight
                || viewWidth == 0 || viewHeight == 0)
            return;
        oldMeasuredHeight = viewHeight;
        oldMeasuredWidth = viewWidth;

        if (saveScale == 1) {
            //Fit to screen.
            float scale;

            Drawable drawable = getDrawable();
            if (drawable == null || drawable.getIntrinsicWidth() == 0 || drawable.getIntrinsicHeight() == 0)
                return;
            int bmWidth = drawable.getIntrinsicWidth();
            int bmHeight = drawable.getIntrinsicHeight();
           
            Log.d("bmSize", "bmWidth: " + bmWidth + " bmHeight : " + bmHeight);

            float scaleX = (float) viewWidth / (float) bmWidth;
            float scaleY = (float) viewHeight / (float) bmHeight;
            scale = Math.min(scaleX, scaleY);
            matrix.setScale(scale, scale);

            // Center the image
            float redundantYSpace = (float) viewHeight - (scale * (float) bmHeight);
            float redundantXSpace = (float) viewWidth - (scale * (float) bmWidth);
            redundantYSpace /= (float) 2;
            redundantXSpace /= (float) 2;

            matrix.postTranslate(redundantXSpace, redundantYSpace);

            origWidth = viewWidth - 2 * redundantXSpace;
            origHeight = viewHeight - 2 * redundantYSpace;
            setImageMatrix(matrix);
        }
        fixTrans();
    }
}

به این خط از کدها توجه کنید :


public class TouchImageView extends ImageView {

این خط از کدها بیان می کند که کلاس TouchImageView بر اساس توسعه (extend) کلاس ImageView (عنصر ImageView) ساخته شود.

چون یک عنصر جدید ساخته ایم، باید در فایل xml مربوط به Activity (یعنی فایل activity_main.xml)، عنصر TouchImageView را به جای عنصر ImageView به کار ببریم (در واقع، برای هر عکسی که می خواهیم قابلیت بزرگنمایی دو انگشتی داشته باشد) :

ایجاد امکان بزرگنمایی (zoom) دو انگشتی برای عکس نمایش داده شده در ImageView ، با توسعه عنصر ImageView ، در برنامه نویسی اندروید

بنابراین، کدهای فایل activity_main.xml را به صورت زیر می نویسیم :


<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity" >

    <com.kelidestan.imageviewzoom.TouchImageView
            android:id="@+id/touchImageView"
            android:layout_width="match_parent"
            android:layout_height="match_parent" />

</LinearLayout>

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


com.kelidestan.imageviewzoom.TouchImageView

که در آن، com.kelidestan.imageviewzoom برابر همان نام package برنامه اندروید ما می باشد، بنابراین دقت داشته باشید که در برنامه اندروید خود، ابتدا نام package برنامه خود را بنویسید و سپس نام TouchImageView را در انتهای آن قرار بدهید (اگر نام package را اشتباه بنویسید، یک خطا به وجود می آید و برنامه اندروید با Force Close روبرو می شود).

و در آخر، به سراغ فایل مربوط به Activity برنامه می رویم (یعنی فایل MainActivity.java) :

ایجاد امکان بزرگنمایی (zoom) دو انگشتی برای عکس نمایش داده شده در ImageView ، با توسعه عنصر ImageView ، در برنامه نویسی اندروید

کدهای فایل MainActivity.java را به صورت زیر می نویسیم :


package com.kelidestan.imageviewzoom;

import android.app.Activity;
import android.os.Bundle;

public class MainActivity extends Activity {

        @Override
        protected void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.activity_main);
               
                TouchImageView img = (TouchImageView) findViewById(R.id.touchImageView);
                img.setImageResource(R.drawable.image);
                img.setMaxZoom(4f);
        }


}

مشاهده می کنید که در هنگام تعریف عنصر TouchImageView در فایل java ، به صورت زیر عمل شده است :


TouchImageView img = (TouchImageView) findViewById(R.id.touchImageView);

فایل های پروژه اندروید را می توانید از لینک های زیر دانلود کنید :




کپی برداری از محتوای سایت کلیدستان، ممنوع بوده و پیگرد قانونی دارد. (تنها استفاده شخصی کاربر، مجاز است) (کپی برداری توسط سایر وب سایت ها = حرام) (بیشتر بدانید)

خوانده شد
مبحث بالا، مفید بود و سایت کلیدستان را دوست داشتم :
محبوب کردن این مبحث در گوگل :
اون چیزی که میخواستم نبود :
سوال دارم :
ارسال نظر :
نظرات 7 7 0
meysam
۱۳۹۵/۰۴/۰۶
۰۱:۳۲

با سلام خدمت شما
این کد هارو با اندکی تغییر داخل اندروید استادیو قرار دادم (مثلا پکیج رو تغیر دادم ) ولی به این دو خط ارور میده

توی مین اکتیویتی فقط یه ایمیج ویو هست و در
قسمت (
<com.application.smh.myapplication
   android:layout_width="match_parent"
   android:layout_height="wrap_content"
   android:id="@+id/touchImageView" />

)
تبدیل کردم
طبق چیزی که گفتید

ولی بازم این خط رو ارور میده

setContentView(R.layout.activity_main);



کد بالارو پاک کردم (
<com.application.smh.myapplication
   android:layout_width="match_parent"
   android:layout_height="wrap_content"
   android:id="@+id/touchImageView" />

)

و یه ایمیج ویو فقط گذاشتم با ای دی touchImageView و زمانی که برنامه رو اجرا میکنم این خط

touchImageView= (TouchImageView) findViewById(R.id.touchImageView);
ارور میگیره


لطفا راهنماییم کنید

با تشکر از سایت خوبتون که بیشتر کد هاش رو توی برنامه هام استفاده میکنم (البته از 5 تا یکیش اجرا میشه و کپی رایت رو هم رعایت میکنم )

admin
۱۳۹۵/۰۴/۰۶
۱۵:۱۹

سلام.
همان طور که در خود مبحث تذکر دادیم، باید عنصر سفارشی جدید که در برنامه اندروید ما طراحی شده است، با کدهای زیر در لایه گرافیکی (فایل xml) قرار داده شود :

کد پی‌اچ‌پی:
<com.kelidestan.imageviewzoom.TouchImageView
            android
:id="@+id/touchImageView"
 
           android:layout_width="match_parent"
 
           android:layout_height="match_parent" /> 


در کد بالا، نام تگ را به صورت زیر نوشته ایم :

کد پی‌اچ‌پی:
com.kelidestan.imageviewzoom.TouchImageView 

که در ابتدای آن، نام package برنامه اندروید (در اینجا برابر com.kelidestan.imageviewzoom) و سپس نام عنصر سفارشی (TouchImageView) ذکر شده است.
اکنون فرض کنیم که مثلا نام package برنامه اندروید شما برابر com.example.myapp باشد، آنگاه کدها به صورت زیر خواهند بود :

کد پی‌اچ‌پی:
<com.example.myapp.TouchImageView
            android
:id="@+id/touchImageView"
 
           android:layout_width="match_parent"
 
           android:layout_height="match_parent" /> 


Flower

admin
۱۳۹۵/۰۴/۰۶
۱۵:۳۹

ما یک عنصر جدید با نام TouchImageView و بر اساس گسترش (extend) عنصر ImageView ساخته ایم، بنابراین دیگر نباید تگ ImageView به کار رود، بلکه نام تگ به همان شکل که شرح دادیم باید نوشته شود.

Flower

حسن
۱۳۹۵/۰۵/۳۰
۲۲:۱۷

سلام توی این پروژه image view zoom کد ها و بدون خطا بود اما موقع اجرا عکس zoomنمیشه نه apk پروژه من نهapk پروژه  ساخته شده شما لطفا بررسی کنید ممنون 
فقط عکس رو نشون میده زوم نمیکنه

admin
۱۳۹۵/۰۵/۳۱
۱۸:۴۸

سلام.
شاید در برخی api ها کد به درستی عمل نمی کند.
قبلا یکی از کاربران در انجمن تذکر دادند که کدهای این کلید در برخی api ها (نسخه های اندروید) عمل نمی کند، اما بنده این مورد را شخصا بررسی نکردم. 
بنابراین می توانید آن را بر روی شبیه سازهایی با api های متفاوت تست کنید و ببینید مشکل از تفاوت api است یا خیر و آیا می توان با تغییر برخی کلاس ها (classes) و روش های (methods) به کار رفته در آن، کد را برای تمامی api ها به کار برد یا امکان آن وجود ندارد (در محیط برنامه نویسی، جدیدترین نسخه اندروید را به کار ببرید تا اگر کلاس یا روشی قدیمی شده است، خود محیط برنامه نویسی تذکر بدهد و بتوانید کلاس ها و روش های جایگزین را بیابید).

Flower

مریم احمدی
۱۳۹۵/۰۶/۱۹
۲۲:۲۲

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

admin
۱۳۹۵/۰۶/۲۳
۲۳:۵۵

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

کلید شماره 259

یعنی یک تگ ImageView در تگ ScrollView قرار می دهید که عکس در آن نمایش داده می شود. ارتفاع ScrollView را برابر یک مقدار مشخص تعیین می کنید (مثلا بر حسب dp). بنابراین اگر ارتفاع عکس از ارتفاع ScrollView بیشتر باشد، قابلیت اسکرول به بالا و پایین وجود خواهد داشت.
علاوه بر این، توصیه می کنم در اینترنت جستجو کنید، زیرا عناصر جدیدی مربوط به اسکرول نیز ارائه شده است و همچنین ممکن است کتابخانه های (libraries) مناسبی را در این زمینه بیابید.

Flower

*** نظر بدهید

دسترسی سریع

×

شماره کلید


کلید
×

شماره دسته کلید


دسته کلید
×

جستجو


جستجو

کلمات کلیدی

راهنمای کلمات کلیدی (کلاس ها، توابع، عناصر و ...) در برنامه نویسی اندروید، بر اساس حرف اول کلمه کلیدی :

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

developer.android.com

دسترسی به اطلاعات دامنه developer.android.com بر روی سایت کلیدستان (دور زدن تحریم گوگل) :

بستن منو
۴۶۳
تعداد کلیدهای این موضوع
لیست همه کلیدهای این موضوع
مجموعه ویدئوهای آموزشی برنامه نویسی اندروید - مجموعه Android Application Development - از thenewboston.com - بر اساس Eclipse (یا ADT Bundle)
200
مجموعه ویدئوهای آموزشی برنامه نویسی اندروید برای مبتدیان - مجموعه Android App Development for Beginners - از thenewboston.com - بر اساس Android Studio
77
مجموعه ویدئوهای آموزشی برنامه نویسی اندروید (Android) برای مبتدیان - مجموعه Android Tutorial for Beginners
107
مجموعه ویدئوهای آموزشی طراحی متریال (Material) در اندروید - مجموعه 5 Android Material Design Tutorial
59
مباحث اولیه برای آشنایی با برنامه نویسی اندروید
2
نمایش متن و کار با رشته ها (strings) و TextView ، در برنامه نویسی اندروید
6
ساخت دکمه (Button) ، در برنامه نویسی اندروید
0
ساخت لیست (فهرست) با ListView ، در برنامه نویسی اندروید
4
ذخیره اطلاعات با SharedPreferences ، در برنامه نویسی اندروید
1
پایگاه داده (SQLite Database)، در برنامه نویسی اندروید
3
نرم افزارهای شبیه ساز برای اجرای برنامه های اندروید بر روی سیستم عامل کامپیوتر (مثل ویندوز)
2
ساخت امکانات جانبی (جستجو، لیست علاقه مندی، لوگو، منو و ...) برای برنامه اندروید
1
مباحث عمومی در برنامه نویسی اندروید
1
بستن منو
۸۳
تعداد کلیدهای این موضوع
لیست همه کلیدهای این موضوع
دسترسی سریع به دسته کلیدها :

کار با Activity ها ، در برنامه نویسی اندروید طراحی فایل های xml متناظر با Activity ها و ... (لایه گرافیکی Activity ها و ...)، در برنامه نویسی اندروید عنصرهای گرافیکی مختلف، در برنامه نویسی اندروید نمایش عکس و کار بار ImageView ، در برنامه نویسی اندروید پردازش تصویر، در برنامه نویسی اندروید نمایش متن و کار با رشته ها (strings) و TextView ، در برنامه نویسی اندروید ساخت لیست (فهرست) با ListView ، در برنامه نویسی اندروید ساخت EditText، در برنامه نویسی اندروید کار با صدا و فایل های صوتی (پخش، ضبط و ...)، در برنامه نویسی اندروید نمایش انیمیشن (با متن یا عکس)، در برنامه نویسی اندروید گرافیک دو بعدی (2D) و سه بعدی (3D)، در برنامه نویسی اندروید بازی سازی، در برنامه نویسی اندروید به اشتراک گذاری (share)، در برنامه نویسی اندروید نمایش پیام به کاربر، در برنامه نویسی اندروید ویژگی های صفحه نمایش و چرخش آن، در برنامه نویسی اندروید عملیات های ریاضی در برنامه نویسی اندروید Fragment ها در برنامه نویسی اندروید Thread ها در برنامه نویسی اندروید سرویس ها (Service) در برنامه نویسی اندروید حسگرهای (سنسورهای) گوشی، در برنامه نویسی اندروید ساخت امکانات جانبی (جستجو، لیست علاقه مندی، لوگو، منو و ...) برای برنامه اندروید مباحث عمومی در برنامه نویسی اندروید
کار با Activity ها ، در برنامه نویسی اندروید
1
طراحی فایل های xml متناظر با Activity ها و ... (لایه گرافیکی Activity ها و ...)، در برنامه نویسی اندروید
5
عنصرهای گرافیکی مختلف، در برنامه نویسی اندروید
1
نمایش عکس و کار بار ImageView ، در برنامه نویسی اندروید
1
پردازش تصویر، در برنامه نویسی اندروید
1
نمایش متن و کار با رشته ها (strings) و TextView ، در برنامه نویسی اندروید
5
ساخت لیست (فهرست) با ListView ، در برنامه نویسی اندروید
2
ساخت EditText، در برنامه نویسی اندروید
1
کار با صدا و فایل های صوتی (پخش، ضبط و ...)، در برنامه نویسی اندروید
2
نمایش انیمیشن (با متن یا عکس)، در برنامه نویسی اندروید
3
گرافیک دو بعدی (2D) و سه بعدی (3D)، در برنامه نویسی اندروید
17
بازی سازی، در برنامه نویسی اندروید
16
به اشتراک گذاری (share)، در برنامه نویسی اندروید
1
نمایش پیام به کاربر، در برنامه نویسی اندروید
2
ویژگی های صفحه نمایش و چرخش آن، در برنامه نویسی اندروید
1
عملیات های ریاضی در برنامه نویسی اندروید
1
Fragment ها در برنامه نویسی اندروید
1
Thread ها در برنامه نویسی اندروید
2
سرویس ها (Service) در برنامه نویسی اندروید
1
حسگرهای (سنسورهای) گوشی، در برنامه نویسی اندروید
2
ساخت امکانات جانبی (جستجو، لیست علاقه مندی، لوگو، منو و ...) برای برنامه اندروید
1
مباحث عمومی در برنامه نویسی اندروید
16
بستن منو
۲۴
تعداد کلیدهای این موضوع
لیست همه کلیدهای این موضوع
مباحث اولیه برای آشنایی با برنامه نویسی java
14
انواع متغیرها و تبدیل متغیرها در java
2
رشته ها (string) در java
1
اعداد در java
4
مباحث عمومی در java
3
بستن منو
۲۶۲
تعداد کلیدهای این موضوع
لیست همه کلیدهای این موضوع
مجموعه ویدئوهای آموزشی برنامه نویسی Java برای مبتدیان - مجموعه Java (Beginner) Programming Tutorials - از thenewboston.com
87
مجموعه ویدئوهای آموزشی برنامه نویسی Java (سطح متوسط) - مجموعه Java (Intermediate) Tutorials - از thenewboston.com
59
مجموعه ویدئوهای آموزشی Java - مجموعه Learn Java
24
مجموعه ویدئوهای آموزشی طراحی GUI در Java ، با استفاده از JavaFX - مجموعه JavaFX Java GUI Design Tutorials - از thenewboston.com
35
مجموعه ویدئوهای آموزشی توسعه بازی با استفاده از Java - مجموعه Java Game Development Tutorials - از thenewboston.com
36
مجموعه ویدئوهای آموزشی توسعه بازی در Java ، با استفاده از Slick - مجموعه Java Game Development with Slick - از thenewboston.com
21
بستن منو
۱۹
تعداد کلیدهای این موضوع
لیست همه کلیدهای این موضوع
آموزش کامل یونیتی (Unity) (بازی سازی)
14
آموزش یونیتی (Unity) - سطح متوسط
2
پرداخت درون برنامه ای، در یونیتی (Unity)
1
یونیتی (Unity) و برنامه نویسی اندروید
1
واقعیت مجازی در یونیتی (Unity)
1

فروشگاه های اندروید ایرانی

فروشگاه های ایرانی برنامه های اندروید که می توانید برنامه های اندروید خود را در آنها بفروش بگذارید (به ترتیب نام) :



*** در صورت تاسیس یک فروشگاه ایرانی جدید، به ما اطلاع بدهید تا در لیست بالا قرار داده شود.

آخرین ارسال های انجمن (در زمینه برنامه نویسی اندروید)

آخرین ارسال های انجمن (در زمینه برنامه نویسی اندروید)
موضوع تاریخ و زمان نویسنده آخرین ارسال تعداد پاسخ انجمن
مشکل نصب اندروید استدیو
دیروز, ۱۱:۳۲ ق.ظ
mohsenfirewall
mohsenfirewall
0 مشکلات در برنامه نویسی اندروید
راهنمایی در مورد Notifications
۱۳۹۵/۰۹/۱۱, ۱۲:۳۳ ب.ظ
dibdab
dibdab
0 برنامه نویسی اندروید
کاهش در آمد توسعه دهندگان از بازار و تبلیغات عدد
۱۳۹۵/۰۹/۰۹, ۰۲:۲۶ ق.ظ
alizzz
jafari.h9574
3 فروشگاه های برنامه های اندروید (ایرانی و خارجی)
مشکل در اینتنت های بازار
۱۳۹۵/۰۹/۰۸, ۰۱:۳۶ ق.ظ
sabanetaria
dibdab
2 برنامه نویسی اندروید
ساخت ویدئو پلیر در اندروید
۱۳۹۵/۰۹/۰۷, ۰۷:۰۴ ب.ظ
ehsansalehi2001
dibdab
1 پخش فایل های صوتی و تصویری، در برنامه نویسی اندروید
پرداخت درون برنامه ای بازار در onDestroy
۱۳۹۵/۰۹/۰۶, ۰۶:۵۲ ب.ظ
Hossein8867
Hossein8867
0 مشکلات در برنامه نویسی اندروید
استخراج کننده فایل نصبی apk
۱۳۹۵/۰۹/۰۵, ۰۶:۵۰ ب.ظ
kama90
kama90
0 مشکلات در برنامه نویسی اندروید
سوال درباره surfaceView ؟
۱۳۹۵/۰۹/۰۵, ۱۱:۱۷ ق.ظ
ilalia
ilalia
0 مشکلات در برنامه نویسی اندروید
مشکل در ارسال مقدار در اکتیویتی دیگر
۱۳۹۵/۰۹/۰۵, ۰۳:۲۷ ق.ظ
af94
af94
0 مشکلات در برنامه نویسی اندروید
سیاه نشان دادن الرت دیالوگ در اندروید 6
۱۳۹۵/۰۹/۰۳, ۱۱:۰۴ ب.ظ
armin20013
armin20013
1 مشکلات در برنامه نویسی اندروید
موقعیت آیتم منو
۱۳۹۵/۰۹/۰۱, ۰۹:۳۲ ب.ظ
Hossein8867
Hossein8867
0 مشکلات در برنامه نویسی اندروید
نمایش درختی اطلاعات دیتابیس
۱۳۹۵/۰۹/۰۱, ۱۰:۲۱ ق.ظ
amard
amard
0 ساخت ListView در برنامه نویسی اندروید
کار با ریسایلکرویو
۱۳۹۵/۰۸/۳۰, ۰۲:۱۳ ق.ظ
hamidreza2000
hamidreza2000
0 مشکلات در برنامه نویسی اندروید
اعمال یک انیمیشن در زمان کلیک بر روی آیتم های یک gridview
۱۳۹۵/۰۸/۲۹, ۰۳:۵۰ ب.ظ
sonic
sonic
0 مشکلات در برنامه نویسی اندروید
همکاری در تکمیل پروژه اندروید
۱۳۹۵/۰۸/۲۹, ۰۳:۴۶ ب.ظ
seven7up
seven7up
0 مباحث عمومی در برنامه نویسی اندروید
کلیک بر روی آیتم های یک gridview
۱۳۹۵/۰۸/۲۷, ۰۵:۰۱ ب.ظ
sonic
sonic
4 مشکلات در برنامه نویسی اندروید
سوال در مورد اینتنت ها
۱۳۹۵/۰۸/۲۵, ۰۸:۰۴ ب.ظ
dibdab
dibdab
0 تبادل اطلاعات بین برنامه اندروید و سرور اینترنتی
ذخیره صدا در دیتابیس
۱۳۹۵/۰۸/۲۴, ۰۱:۵۵ ب.ظ
alizzz
alizzz
2 پایگاه داده SQLite در برنامه نویسی اندروید
ذخیره متغیر و دریافت در اکتیویتی دیگر
۱۳۹۵/۰۸/۲۴, ۱۲:۴۲ ب.ظ
sami
sami
0 مشکلات در برنامه نویسی اندروید
مشکل در اپلود برنامه در کافه بازار (بسته نباید با کلید دیباگ امضا (Sign) شده باشد)
۱۳۹۵/۰۸/۲۳, ۰۸:۴۶ ب.ظ
bisi
barmoudeh
4 برنامه نویسی اندروید
روبات من
۱۳۹۵/۰۸/۲۲, ۱۱:۵۵ ب.ظ
dost-67
dost-67
0 مباحث عمومی در برنامه نویسی اندروید
دانلود
۱۳۹۵/۰۸/۲۱, ۰۹:۲۵ ب.ظ
sabanetaria
dost-67
1 مشکلات در برنامه نویسی اندروید
لیست ویو سفارشی
۱۳۹۵/۰۸/۲۱, ۰۲:۵۳ ب.ظ
sabanetaria
sabanetaria
2 برنامه نویسی اندروید
چیدمان باتن ها (Buttons) و تغییر اندازه آنها در صفحه نمایش های مختلف (در اندروید)
۱۳۹۵/۰۸/۱۹, ۰۴:۱۶ ب.ظ
foad.pezeshkian
سورنا
15 مشکلات در برنامه نویسی اندروید
مشکل در برنامه نویسی اندروید
۱۳۹۵/۰۸/۱۷, ۱۱:۲۶ ب.ظ
pouria0713
hamidr80
2 مشکلات در برنامه نویسی اندروید
مشاهده 1000 ارسال آخر انجمن (در زمینه برنامه نویسی اندروید)

آخرین کلیدهای غیررایگان

شما هم می توانید کلیدهای غیررایگان منتشر کنید (بیشتر بدانید)