انجمن سایت کلیدستان


رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
Random کردن تصاویر در یک اکتیویتی (در برنامه نویسی اندروید)

Random کردن تصاویر در یک اکتیویتی (در برنامه نویسی اندروید)

#1
با سلام خسته نباشید خدمت شما دوستان و مدیران عزیز

یه سوال از خدمتتون داشتم که ممنون میشم جواب بدید چون خیلی لنگم

من می خواستم با کلیک روی یه دکمه چند تا تصاویر رو به صورت تصادفی تو اکتیویتی بعدی نشون بده

میشه راهنماییم کنید

با سپاس فراوان.
پاسخ

Random کردن تصاویر در یک اکتیویتی (در برنامه نویسی اندروید)

#2
سلام.
نام عکس ها را به صورت بک پیشوند ثابت و یک پسوند عددی متغیر، انتخاب می کنید، مثل نام های زیر :

کد پی‌اچ‌پی:
myImage_1.png
myImage_2
.png
.
.
.
myImage_35.png 


بعد با روش های رایج، عدد تصادفی تولید می کنید (بر اساس بازه معتبر برای پسوند عددی عکس ها).
سپس عکس ها را بر اساس آن اعداد تصادفی، نمایش می دهید (نام عکس ها را بر اساس آن اعداد تصادفی می سازید و بعد آنها را نمایش می دهید).

bookbook 
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.
پاسخ
 سپاس شده توسط داش بهروز ، onestar

Random کردن تصاویر در یک اکتیویتی (در برنامه نویسی اندروید)

#3
ممنون از پاسخ شما ولی یکم برام مبهم بود.

اینا کد های MainActivity من هستش که اینجا همان طور که مشاهده میکنید تو اکتیویتی با زدن دکمه فقط چهار تا اکتیویتی رندوم میشن 

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

کلا اکتیویتی من دوتاست و وقتی دکمه زده میشه و میره به اکتیویتی دیگه یه عکس رو نشون بده و وقتی برگشتم و دوباره رفتم به همون اکتیویتی یه عکس دیگه رو نشون بده.

با سپاس فراوان از توجهتون.
کد پی‌اچ‌پی:
package com.saeidpsl.random_activity;

import java.util.ArrayList;
import java.util.Arrays
import java.util.Random
import android.os.Bundle;
import android.app.Activity;
import android.content.Context;
import android.content.Intent
import android.view.Window;
import android.view.WindowManager;
import android.widget.Button
import android.view.View;
import android.view.View.OnClickListener;


public class 
MainActivity extends Activity {

    
    static     
ArrayList<IntegerarList;
    static 
Random randomGenerator;
    static 
Integer[] list_act;
    
    @
Override
    
protected void onCreate(Bundle savedInstanceState) {
        
super.onCreate(savedInstanceState);
        
        
           
requestWindowFeature(Window.FEATURE_NO_TITLE);
            
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
            
WindowManager.LayoutParams.FLAG_FULLSCREEN);
        
             
setContentView(R.layout.activity_main); 
      
            
list_act =new Integer[]{1,2,3,4}; 
            
arList = new ArrayList<Integer>(); 
            
arList.clear();
            
arList.addAll(Arrays.asList(list_act)); 
           
           
        
Button button = (ButtonfindViewById(R.id.start_btn);
         
button.setOnClickListener(new OnClickListener() {

            public 
void onClick(View v) {
                
                
Intents(MainActivity.this);
            }
         }); 
    }

    
    
    public static 
void Intents(final Context  cont)
    {
        
Intent myIntent = new Intent();
        
    if (
arList.size()>0){
        
int x 0;
        if (
arList.size()>1){
        
randomGenerator = new Random();
        
int index randomGenerator.nextInt(arList.size());
            
xarList.get(index);
           
        }else{
         
            
Object[] mStringArray MainActivity.arList.toArray();
            for(
int i 0mStringArray.length i++){ 
                
                 
x=Integer.valueOf(mStringArray[i].toString().trim());
            }
             
        }
        

     switch(
x){
    case 
1
      
myIntent.setClass(cont,Activity_1.class);
    break;
    case 
2
        
myIntent.setClass(cont,Activity_2.class);
    break;
    case 
3
        
myIntent.setClass(cont,Activity_3.class);
    break;
    case 
4
        
myIntent.setClass(cont,Activity_4.class);
    break;                
    }    

      
arList.remove(Integer.valueOf(x)); 
    
cont.startActivity(myIntent);
      
  
        
    }else{
        
        
myIntent.setClass(cont,MainActivity.class);
        
cont.startActivity(myIntent); 
    }
    
    
                
    }
    
     
    
    


 
پاسخ

Random کردن تصاویر در یک اکتیویتی (در برنامه نویسی اندروید)

#4
دوست عزیز یکی از بهترین روشها همونی هست که آدمین گفت..یعنی یا پیشوند ثابت بایک پسوند عددی متغییر...که میتونید برای نمایش رندوم تصاویر زیاد استفاده کنید..ولی اگه این روش بلد نیستید...ببینید فرض میکنیم شما دو اکتیویتی داره ..یک اکیتیوتی اصلی یک اکتیویتی برای نمایش عکس ...بعد با کلیک برروی یک دکمه مثلا b به اکیتویتی دوم بره و عکس به صورت رندوم نشون داده بشه...
شما ابتدا کافیه داخل اکتیوتی اصلی ،عدد رندوم رو بسازید(فرض میکنیم عمل رندوم بلدید).و اون مثلا در متغییر r ذخیره کنید. حالا این عدد رو همراه اینتنت به اکیتویتی دوم بفرستید.با دستور زیر
کد پی‌اچ‌پی:
b.setOnClickListener(new OnClickListener() {
            
            @
Override
            
public void onClick(View v) {
                
// TODO Auto-generated method stub
                
int r=//رندوم سازی و ذخیره در متغیر
                
Intent x=new Intent(MainActivity.this,Secound.class);
                
x.putExtra("random"r);
                
startActivity(x);
                        
                        
            }
        }); 
حالا کافیه توی اکیتویتی دومSecound این مقدار ارسالی رو بگیرید .با دستور زیر
کد پی‌اچ‌پی:
Intent x=getIntent();
      
int random=  x.getIntExtra("random"0); 
حالا میتونید روی متغیر random یک switch بزنید...
کد پی‌اچ‌پی:
switch (random) {
        case 
1:
            
///عکس اول نمایش بده
            
break;
        case 
2:
            
///عکس دوم نمایش بده
            
break;

        } 


 
پاسخ
 سپاس شده توسط admin ، onestar ، شماره مجازی امارات


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان