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

دیتا بیس ساختم ... ادرس عکس هم توش زدم .تو فایل پی اچ پی هم ستون دیتابیس تعریف کردم مثل ستون لوگو ... حالا باید چیکار کنم که تو برنامم نمایش بده ...یه چند تا کد نوشتم ولی هر کاری کردم درست نشد ..ایا راه بهتری دارین؟
دوست عزیز به نظرم خیلی مساله رو پیچیده کردی . من نفهمیدم کجا رو مشکل داری! الان توی لود کردن اون عکس های زیریش مشکل داری؟ اونا قراره از اینترنت دانلود بشن درسته؟ این کار ترکیب 2 تا از آموزشهاست. اونا رو ببینی 100% خودت میتونی بسازیش.
ListView و تصاویر پرحجم آنلاین!
درضمن نمیشه که عکس دانلود نشه ولی نشون داده بشه! ولی میشه یه عکس با کیفیت پایین تر و سایز کوچیکتری رو ابتدا دانلود کنی و نشون بدی. بعد اگه کاربر خواست، اون عکس با کیفیت رو دانلود کنه
کلاس StrucApplication رو به صورت زیر در نظر بگیر
public class StrucApplication {
public String name;
public String tarikh;
public String logoUrl;
public float ratingValue;
public String author;
public int votes;
public long filesize;
public String versionName;
public int installs;
public String description;
public String phoneNumber;
public String email;
public String file;
public String img1_small;
public String img2_small;
public String img3_small;
public String img4_small;
public String img1_large;
public String img2_large;
public String img3_large;
public String img4_large;
}
تابعی برای ست کردن عکس ایجاد کن
private void setImage(ImageView iv, String filePath) {
String filename = HelperString.getFileName(filePath);
final File imageFile = new File(G.DIR_FINAL + "/" + filename);
if (!imageFile.exists()) {
iv.setImageBitmap(null);
DownloadManager.addToDownloadList(filePath, iv);
}
BitmapFactory.Options options = new BitmapFactory.Options();
// options.inSampleSize = 8;
Bitmap bitmap = BitmapFactory.decodeFile(imageFile.getAbsolutePath(),
options);
iv.setImageBitmap(bitmap);
}
متد onCreate :
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.starqeshm_4);
txtName = (TextView) findViewById(R.id.textName);
textAuthor = (TextView) findViewById(R.id.textAuthor);
textVotes = (TextView) findViewById(R.id.textVotes);
rating = (RatingBar) findViewById(R.id.rating);
imgLogo = (ImageView) findViewById(R.id.imgLogo);
butInstall = (Button) findViewById(R.id.butInstall);
texttarikh = (TextView) findViewById(R.id.texttarikh);
TextFilesize = (TextView) findViewById(R.id.TextFilesize);
textVersionName = (TextView) findViewById(R.id.textVersionName);
txtInstalls = (TextView) findViewById(R.id.txtInstalls);
TextDescription = (TextView) findViewById(R.id.TextDescription);
TextPhoneNumber = (TextView) findViewById(R.id.TextPhoneNumber);
TextEmail = (TextView) findViewById(R.id.TextEmail);
txtName.setText(G.selectedApplication.name);
textAuthor.setText(G.selectedApplication.author);
textVotes.setText(G.selectedApplication.votes + "");
rating.setRating(G.selectedApplication.ratingValue);
// imgLogo
texttarikh.setText(G.selectedApplication.tarikh + " "
+ getString(R.string.starqeshm_4_tooman));
TextFilesize.setText(getString(R.string.starqeshm_4_filesize) + " "
+ convertKBtoMB(G.selectedApplication.filesize) + "MB");
textVersionName.setText(getString(R.string.starqeshm_4_version) + " "
+ G.selectedApplication.versionName);
txtInstalls.setText(getString(R.string.starqeshm_4_installs) + " "
+ G.selectedApplication.installs + "");
TextDescription.setText(G.selectedApplication.description);
TextPhoneNumber.setText(getString(R.string.starqeshm_4_phone_number)
+ " " + G.selectedApplication.phoneNumber);
TextEmail.setText(getString(R.string.starqeshm_4_email) + " "
+ G.selectedApplication.email);
Button butInstall = (Button) findViewById(R.id.butInstall);
butInstall.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
Intent i = new Intent();
i.setAction(android.content.Intent.ACTION_SEND);
i.setType("text/plain");
i.putExtra(Intent.EXTRA_TEXT, txtName.getText().toString()
+ "\n" + TextDescription.getText().toString() + "\n"
+ texttarikh.getText().toString());
i.putExtra(android.content.Intent.EXTRA_SUBJECT, "ستاره قشم");
arg0.getContext().startActivity(
i.createChooser(i, "به اشتراک بزارید"));
}
});
imgto4 = (ImageView) findViewById(R.id.imgto4);
imgto3 = (ImageView) findViewById(R.id.imgto3);
imgto2 = (ImageView) findViewById(R.id.imgto2);
imgto1 = (ImageView) findViewById(R.id.imgto1);
setImage(imgLogo, G.selectedApplication.logoUrl);
setImage(imgto1, G.selectedApplication.img1_small);
setImage(imgto2, G.selectedApplication.img2_small);
setImage(imgto3, G.selectedApplication.img3_small);
setImage(imgto4, G.selectedApplication.img4_small);
imgto1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(G.context, "First image clicked ...",
Toast.LENGTH_SHORT).show();
}
});
imgto2.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(G.context, "Second image clicked ...",
Toast.LENGTH_SHORT).show();
}
});
imgto3.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(G.context, "Third image clicked ...",
Toast.LENGTH_SHORT).show();
}
});
imgto4.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(G.context, "Fourth image clicked ...",
Toast.LENGTH_SHORT).show();
}
});
}
تا اینجای کار عکس ها رو از دیتا بیس خوندی . تغییرات مورد نیاز برای کلاس StrucApplication رو هم باید تو مراحل خوندن دیتا از سرور اعمال کنی
Activity بعدی هم عینا همین اکتیویتی 4 هستش با این تفاوت که فقط حاوی 1 کنترل ImageView هست و صرفا عکس بزرگ رو نشون میده
بجای Toast که من نوشتم شما 2 تا پارامتر ارسال میکنی : اولیش شماره عکس دومیش هم اطلاعات رکورد.
کد کامل اکتیویتی
package ir.starqeshm.starqeshm;
import java.io.File;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.RatingBar;
import android.widget.TextView;
import android.widget.Toast;
public class starqeshm4 extends EnhancedActivity {
private TextView txtName;
private TextView textAuthor;
private TextView textVotes;
private RatingBar rating;
private ImageView imgLogo;
private Button butInstall;
private TextView texttarikh;
private TextView TextFilesize;
private TextView textVersionName;
private TextView txtInstalls;
private TextView TextDescription;
private TextView TextPhoneNumber;
private TextView TextEmail;
private ImageView imgto1;
private ImageView imgto2;
private ImageView imgto3;
private ImageView imgto4;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.starqeshm_4);
txtName = (TextView) findViewById(R.id.textName);
textAuthor = (TextView) findViewById(R.id.textAuthor);
textVotes = (TextView) findViewById(R.id.textVotes);
rating = (RatingBar) findViewById(R.id.rating);
imgLogo = (ImageView) findViewById(R.id.imgLogo);
butInstall = (Button) findViewById(R.id.butInstall);
texttarikh = (TextView) findViewById(R.id.texttarikh);
TextFilesize = (TextView) findViewById(R.id.TextFilesize);
textVersionName = (TextView) findViewById(R.id.textVersionName);
txtInstalls = (TextView) findViewById(R.id.txtInstalls);
TextDescription = (TextView) findViewById(R.id.TextDescription);
TextPhoneNumber = (TextView) findViewById(R.id.TextPhoneNumber);
TextEmail = (TextView) findViewById(R.id.TextEmail);
txtName.setText(G.selectedApplication.name);
textAuthor.setText(G.selectedApplication.author);
textVotes.setText(G.selectedApplication.votes + "");
rating.setRating(G.selectedApplication.ratingValue);
// imgLogo
texttarikh.setText(G.selectedApplication.tarikh + " "
+ getString(R.string.starqeshm_4_tooman));
TextFilesize.setText(getString(R.string.starqeshm_4_filesize) + " "
+ convertKBtoMB(G.selectedApplication.filesize) + "MB");
textVersionName.setText(getString(R.string.starqeshm_4_version) + " "
+ G.selectedApplication.versionName);
txtInstalls.setText(getString(R.string.starqeshm_4_installs) + " "
+ G.selectedApplication.installs + "");
TextDescription.setText(G.selectedApplication.description);
TextPhoneNumber.setText(getString(R.string.starqeshm_4_phone_number)
+ " " + G.selectedApplication.phoneNumber);
TextEmail.setText(getString(R.string.starqeshm_4_email) + " "
+ G.selectedApplication.email);
Button butInstall = (Button) findViewById(R.id.butInstall);
butInstall.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
Intent i = new Intent();
i.setAction(android.content.Intent.ACTION_SEND);
i.setType("text/plain");
i.putExtra(Intent.EXTRA_TEXT, txtName.getText().toString()
+ "\n" + TextDescription.getText().toString() + "\n"
+ texttarikh.getText().toString());
i.putExtra(android.content.Intent.EXTRA_SUBJECT, "ستاره قشم");
arg0.getContext().startActivity(
i.createChooser(i, "به اشتراک بزارید"));
}
});
imgto4 = (ImageView) findViewById(R.id.imgto4);
imgto3 = (ImageView) findViewById(R.id.imgto3);
imgto2 = (ImageView) findViewById(R.id.imgto2);
imgto1 = (ImageView) findViewById(R.id.imgto1);
setImage(imgLogo, G.selectedApplication.logoUrl);
setImage(imgto1, G.selectedApplication.img1_small);
setImage(imgto2, G.selectedApplication.img2_small);
setImage(imgto3, G.selectedApplication.img3_small);
setImage(imgto4, G.selectedApplication.img4_small);
imgto1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(G.context, "First image clicked ...",
Toast.LENGTH_SHORT).show();
}
});
imgto2.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(G.context, "Second image clicked ...",
Toast.LENGTH_SHORT).show();
}
});
imgto3.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(G.context, "Third image clicked ...",
Toast.LENGTH_SHORT).show();
}
});
imgto4.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(G.context, "Fourth image clicked ...",
Toast.LENGTH_SHORT).show();
}
});
}
private void setImage(ImageView iv, String filePath) {
String filename = HelperString.getFileName(filePath);
final File imageFile = new File(G.DIR_FINAL + "/" + filename);
if (!imageFile.exists()) {
iv.setImageBitmap(null);
DownloadManager.addToDownloadList(filePath, iv);
}
BitmapFactory.Options options = new BitmapFactory.Options();
// options.inSampleSize = 8;
Bitmap bitmap = BitmapFactory.decodeFile(imageFile.getAbsolutePath(),
options);
iv.setImageBitmap(bitmap);
}
// options.inSampleSize = 8;
private float convertKBtoMB(long value) {
return (value / 1024);
}
}
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .