نمایش عکس در یک activity ، در برنامه اندروید
در این آموزش، قصد داریم که یک برنامه اندروید، شامل یک activity بسازیم که در آن، یک عکس نمایش داده شود.
در برنامه eclipse ، ابتدا یک پروژه اندروید با نام Kelidestan.com بسازید (نام package را برابر com.example.kelidestan انتخاب کنید. نام activity اصلی را برابر Activity1 انتخاب کنید و فایل xml متناظر آن را هم، activity_activity1 انتخاب کنید.).
قبل از هر چیز، باید عکسی که می خواهیم در برنامه اندروید نمایش داده شود را به درون یکی از فولدرهای مخصوص عکس آن قرار بدهیم. برای این منظور، نیازی نیست که حتما فولدر را در خود ویندوز باز کرده و عکس را در آن کپی کنید، بلکه تنها کافی است که ابتدا عکس را انتخاب و copy کنید و سپس در همان نرم افزار eclipse و در فولدربندی پروژه اندروید، بر روی فولدر مورد نظر، با موس، کلیک سمت راست نموده و گزینه paste را انتخاب نمایید.
فولدری که باید عکس را در آن کپی کنیم را در شکل زیر نمایش داده ایم (چندین فولدر برای اندازه های مختلف وجود دارد، اما فعلا در این یکی کپی می کنیم) :
عکس با نام kelidestan.jpg را در فولدر مورد نظر کپی می کنیم. بنابراین آن را می توانیم به این صورت مشاهده کنیم :
اکنون فایل activity_activity1.xml را باز کرده و به صورت گرافیکی آن را مشاهده کنید. به صورت شکل زیر خواهد بود :
ابتدا بر روی TextView که در آن، عبارت hello world نوشته شده است، کلیک کرده و با زدن دکمه delete از کیبورد، آن را حذف کنید. سپس بر روی منوی Images and Media که در شکل نشان داده ایم، کلیک کنید تا گزینه های آن به صورت شکل زیر نمایش داده شود :
گزینه ImageView را با موس گرفته و به درون صفحه نمایش گرافیکی بکشید. پنجره ای به شکل زیر باز می شود :
در این پنجره، لیست عکس های موجود در فولدربندی پروژه اندروید نمایش داده شده است. بر روی نام kelidestan کلیک کرده و سپس بر روی گزینه OK کلیک می کنیم.
عکس مورد نظر، به صورت زیر نمایش داده می شود (فعلا برایمان موقعیت نمایش عکی اهمیتی ندارد و در مباحث بعدی، نکات مربوط به آن را بررسی می کنیم) :
بد نیست بدانید که چگونه می توان بعدا تعیین کنیم که یک تصویر دیگر را به جای این تصویر قرار بدهیم. ابتدا باید properties مربوط به این ImageView را باز می کنیم. برای این منظور، بر روی ImageView ، با موس، کلیک سمت راست نموده و گزینه Show In و سپس گزینه Properties را انتخاب کنید. به شکل زیر دقت کنید :
همان طور که مشاهده می کنید، گزینه ای با نام Src در properties وجود دارد که عکسی که باید نمایش داده شود را مشخص کرده است. بنابراین برای تغییر عکس، تنها کافی است که این گزینه را تغییر بدهید.
در ضمن، باید id این ImageView ساخته شده را نیز بدانیم. در مباحث قبلی گفتیم که id هر عنصر ساخته شده در برنامه اندروید را می توان در properties آن یافت. به شکل زیر که مربوط به properties این ImageView است دقت کنید :
بنابراین id این ImageView ، برابر imageView1 می باشد (البته می توانید آن را به دلخواه تغییر بدهید، اما اهمیت زیادی ندارد).
اکنون باید فایل مربوط به activity را باز کنیم. نام آن را قبلا برابر Activity1.java انتخاب نمودیم :
کدهای این فایل، به صورت زیر می باشند :
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
public class Activity1 extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_activity1);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity1, menu);
return true;
}
}
باید کدهای مربوط به ImageView ساخته شده را در این کدها بنویسیم. برای این منظور، کدها را به صورت زیر تکمیل می کنیم :
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.widget.ImageView;
public class Activity1 extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_activity1);
ImageView iv = (ImageView) findViewById(R.id.imageView1);
iv.setImageResource(R.drawable.kelidestan);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity1, menu);
return true;
}
}
حالا کدهایی که اضافه شده اند را بررسی می کنیم. قبل از هر چیز، یک package که مربوط به ImageView است را import کرده ایم (وارد کرده ایم) که کد مربوط به آن، به صورت زیر است :
همچنین کدهای زیر را نیز برای تعریف ImageView نوشته ایم :
iv.setImageResource(R.drawable.kelidestan);
برنامه اندروید آماده است و اکنون می توانید برنامه اندروید ساخته شده را با روشی دلخواه، تست کنید.
سلام ببخشید میخواستم بدونم چطور میشه در قسمتی از برنامه عکسی رو از کاربر بگیره و به عنوان پروفایلش نشون بده ؟؟ میشه اموزششو بذارید ؟ خیلی لارم دارم
با سلام ایا میشه به یک عکس لینک داد؟ ممنونم
سلام
می توانید در Activity فعلی، یک دکمه (Button) بسازید () که بعد از کلیک کاربر بر روی آن، یک Dialog (یا عناصر مشابه دیگر) نمایش داده شود () که در آن، توسط یک ImageView ، عکسی را نمایش داده ایم.