مشکل با دکمه

تعرفه تبلیغات در سایت
عنوان عکس
عنوان عکس
عنوان عکس
عنوان عکس
عنوان عکس

آرشیو مطالب

جستجوگر

یافته ها در جستجو

    امکانات وب

    برچسب ها

    import java.io.File;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.InputStream;
    import java.net.HttpURLConnection;
    import java.net.URL;
    import java.util.List;
    import com.android.waller.R;
    import com.google.android.gms.ads.AdRequest;
    import com.google.android.gms.ads.AdView;
    import com.nostra13.universalimageloader.core.DisplayImageOptions;
    import com.nostra13.universalimageloader.core.ImageLoader;
    import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;
    import com.nostra13.universalimageloader.core.assist.FailReason;
    import com.nostra13.universalimageloader.core.assist.ImageScaleType;
    import com.nostra13.universalimageloader.core.assist.SimpleImageLoadingListener;
    import com.nostra13.universalimageloader.core.display.FadeInBitmapDisplayer;
    import com.solodroid.materialwallpaper.DatabaseHandler.DatabaseManager;

    import android.app.ProgressDialog;
    import android.content.Context;
    import android.content.Intent;
    import android.graphics.Bitmap;
    import android.graphics.Bitmap.CompressFormat;
    import android.graphics.BitmapFactory;
    import android.hardware.Sensor;
    import android.hardware.SensorEvent;
    import android.hardware.SensorEventListener;
    import android.hardware.SensorManager;
    import android.net.Uri;
    import android.os.AsyncTask;
    import android.os.Bundle;
    import android.os.Environment;
    import android.os.Handler;
    import android.support.v4.view.PagerAdapter;
    import android.support.v4.view.ViewPager;
    import android.support.v4.view.ViewPager.OnPageChangeListener;
    import android.support.v7.app.ActionBarActivity;
    import android.support.v7.widget.Toolbar;
    import android.view.LayoutInflater;
    import android.view.Menu;
    import android.view.MenuInflater;
    import android.view.MenuItem;
    import android.view.View;
    import android.view.ViewGroup;
    import android.widget.ImageView;
    import android.widget.ProgressBar;
    import android.widget.Toast;

    public class SlideImageActivity extends ActionBarActivity implements SensorEventListener {
        
        int position;
        String[] mAllImages,mAllImageCatName,mAllItemId;
        
        public DatabaseHandler db;
        ImageView vp_imageview;
        ViewPager viewpager;
        int TOTAL_IMAGE;
         private SensorManager sensorManager;
        private boolean checkImage = false;
        private long lastUpdate;
        Handler handler;
        Runnable Update;
        boolean Play_Flag=false;
        private Menu menu;
        private DatabaseManager dbManager;
        String  Image_catName,Image_Url;
        Bitmap bgr;
        DisplayImageOptions options;
        private AdView mAdView;
        Toolbar toolbar;
         
        @Override
        public void onCreate(Bundle savedInstanceState) {
            // TODO Auto-generated method stub
            super.onCreate(savedInstanceState);
            setContentView(R.layout.image_slider);

            toolbar = (Toolbar) findViewById(R.id.toolbar);
            setSupportActionBar(toolbar);
            getSupportActionBar().setDisplayHomeAsUpEnabled(true);
            getSupportActionBar().setHomeButtonEnabled(true);
            getSupportActionBar().setTitle("Gallery");

            db = new DatabaseHandler(this);
            dbManager = DatabaseManager.INSTANCE;
            dbManager.init(getApplicationContext());

            options = new DisplayImageOptions.Builder()
            .showImageForEmptyUri(R.drawable.ic_launcher)
            .showImageOnFail(R.drawable.ic_launcher)
            .resetViewBeforeLoading(true)
            .cacheOnDisc(true)
            .imageScaleType(ImageScaleType.EXACTLY)
            .bitmapConfig(Bitmap.Config.RGB_565)
            .considerExifParams(true)
            .displayer(new FadeInBitmapDisplayer(300))
            .build();
         
            //setTitle(Constant.CATEGORY_TITLE);
              // Look up the AdView as a resource and load a request.
             mAdView = (AdView) findViewById(R.id.adView);
             mAdView.loadAd(new AdRequest.Builder().build());
             
            Intent i=getIntent();
            position=i.getIntExtra("POSITION_ID", 0);
            mAllImages=i.getStringArrayExtra("IMAGE_ARRAY");
             mAllImageCatName=i.getStringArrayExtra("IMAGE_CATNAME");
             mAllItemId=i.getStringArrayExtra("ITEMID");
              
            TOTAL_IMAGE=mAllImages.length-1;
            viewpager=(ViewPager)findViewById(R.id.image_slider);
            handler=new Handler();

             ImagePagerAdapter adapter = new ImagePagerAdapter();
             viewpager.setAdapter(adapter);
             viewpager.setCurrentItem(position);
             
             sensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);
             lastUpdate = System.currentTimeMillis();
             
              viewpager.setOnPageChangeListener(new OnPageChangeListener() {
                
                @Override
                public void onPageSelected(int position) {
                    // TODO Auto-generated method stub
                    
                    position=viewpager.getCurrentItem();
                    Image_Url=mAllImages[position];
                    
                    List<Pojo> pojolist=db.getFavRow(Image_Url);
                    if(pojolist.size()==0)
                    {
                         menu.getItem(0).setIcon(getResources().getDrawable(R.drawable.ic_star_outline));​
                    }
                    else
                    {    
                        if(pojolist.get(0).getImageurl().equals(Image_Url))
                        {
                             menu.getItem(0).setIcon(getResources().getDrawable(R.drawable.ic_star_white));
                        }
                        
                    }
                     
                }
                
                @Override
                public void onPageScrolled(int arg0, float arg1, int position) {
                    // TODO Auto-generated method stub
                     
                 }
                
                @Override
                public void onPageScrollStateChanged(int position) {
                    // TODO Auto-generated method stub
                    
                 }
            });
              
        }
         
        @Override
        public boolean onCreateOptionsMenu(Menu menu) {
            MenuInflater inflater = getMenuInflater();
            inflater.inflate(R.menu.photo_menu, menu);
            this.menu = menu;
            //for when 1st item of view pager is favorite mode
            FirstFav();
            return super.onCreateOptionsMenu(menu);
        }
         
        @Override
        public boolean onOptionsItemSelected(MenuItem menuItem)
        {       
            switch (menuItem.getItemId()) 
            {
            case android.R.id.home: 
                onBackPressed();
                return true;
            
            case R.id.menu_back:
                
                position=viewpager.getCurrentItem();
                position--;
                if (position < 0) {
                    position = 0;
                }
                viewpager.setCurrentItem(position);
                     
                return true;
                
            case R.id.menu_next:
                
                position=viewpager.getCurrentItem();
                  position++;
                if (position == TOTAL_IMAGE) {
                    position = TOTAL_IMAGE;
                }
                viewpager.setCurrentItem(position);
               
               return true;    
               
            
                
            case R.id.menu_fav:
                
                position=viewpager.getCurrentItem();
                
                Image_Url=mAllImages[position];
            
                List<Pojo> pojolist=db.getFavRow(Image_Url);
                if(pojolist.size()==0)
                {
                    AddtoFav(position);//if size is zero i.e means that record not in database show add to favorite 
                }
                else
                {    
                    if(pojolist.get(0).getImageurl().equals(Image_Url))
                    {
                        RemoveFav(position);
                    }
                    
                }

                return true;    

            case R.id.menu_share:
                
                position=viewpager.getCurrentItem();
                
                (new ShareTask(SlideImageActivity.this)).execute(Constant.SERVER_IMAGE_DETAILS+mAllIm​ages[position]);
                    
                 
                return true;    
                
            case R.id.menu_save:
                
                position=viewpager.getCurrentItem();
                
                (new SaveTask(SlideImageActivity.this)).execute(Constant.SERVER_IMAGE_DETAILS+mAllIma​ges[position]);
                
                return true;
                
            case R.id.menu_setaswallaper:
                
                position=viewpager.getCurrentItem();
                Intent intwall=new Intent(getApplicationContext(),SetAsWallpaperActivity.class);
                intwall.putExtra("WALLPAPER_IMAGE_URL", mAllImages);
                intwall.putExtra("WALLPAPER_IMAGE_CATEGORY", mAllImageCatName);
                intwall.putExtra("POSITION_ID", position);
                startActivity(intwall);
       
                return true;
          
            case R.id.menu_zoom:
                position=viewpager.getCurrentItem();
                Intent intzoom=new Intent(getApplicationContext(),PinchZoom.class);
                intzoom.putExtra("ZOOM_IMAGE_URL", mAllImages);
                intzoom.putExtra("ZOOM_IMAGE_CATEGORY", mAllImageCatName);
                intzoom.putExtra("POSITION_ID", position);
                startActivity(intzoom);
                
                return true;
                
            default:
                return super.onOptionsItemSelected(menuItem);
            }
            
        }
        
        //add to favorite 
         public void AddtoFav(int position)
        {
             
            Image_catName=mAllImageCatName[position];
            Image_Url=mAllImages[position];
     
            db.AddtoFavorite(new Pojo(Image_catName, Image_Url));
            Toast.makeText(getApplicationContext(), "Added to Favorite", Toast.LENGTH_SHORT).show();
            menu.getItem(0).setIcon(getResources().getDrawable(R.drawable.ic_star_white​));
        }
        
        //remove from favorite
        public void RemoveFav(int position)
        {
            Image_Url=mAllImages[position];
            db.RemoveFav(new Pojo(Image_Url));
            Toast.makeText(getApplicationContext(), "Removed from Favorite", Toast.LENGTH_SHORT).show();
            menu.getItem(0).setIcon(getResources().getDrawable(R.drawable.ic_star_outli​ne));
            
        }
        
        
        //auto play slide show
        
        public void AutoPlay()
        {
            Update=new Runnable() {
                
                @Override
                public void run() {
                    AutoPlay();
                    // TODO Auto-generated method stub
                     position=viewpager.getCurrentItem();
                      position++;
                    if (position == TOTAL_IMAGE) {
                        position = TOTAL_IMAGE;
                         handler.removeCallbacks(Update);//when last image play mode goes to Stop
                         Toast.makeText(getApplicationContext(), "Last Image Auto Play Stoped", Toast.LENGTH_SHORT).show();
                         menu.getItem(0).setIcon(getResources().getDrawable(R.drawable.ic_play));
                         Play_Flag=false;
                         //Show All Menu when Auto Play Stop
                        ShowMenu();
                    }
                    viewpager.setCurrentItem(position);
                    
                }
            };
            
            handler.postDelayed(Update, 1500);
        }
        
        public void ShowMenu()
        {
             menu.getItem(0).setVisible(true);
             menu.getItem(2).setVisible(true);
             menu.getItem(0).setVisible(true);
             menu.getItem(4).setVisible(true);
        }
        
        public void HideMenu()
        {
            menu.getItem(0).setVisible(false);
            menu.getItem(2).setVisible(false);
            menu.getItem(0).setVisible(false);
            menu.getItem(4).setVisible(false);
        }
        
        public void FirstFav()
        {
            int first=viewpager.getCurrentItem();
            String Image_id=mAllImages[first];
            
            List<Pojo> pojolist=db.getFavRow(Image_id);
            if(pojolist.size()==0)
            {
                 menu.getItem(0).setIcon(getResources().getDrawable(R.drawable.ic_star_outline));​
                 
            }
            else
            {    
                if(pojolist.get(0).getImageurl().equals(Image_id))
                {
                     menu.getItem(0).setIcon(getResources().getDrawable(R.drawable.ic_star_white));
                     
                }
                
            }
        }
        private class ImagePagerAdapter extends PagerAdapter {
            
            private LayoutInflater inflater;
            
            public ImagePagerAdapter() {
                // TODO Auto-generated constructor stub
                
                inflater = getLayoutInflater();
            }
            
             @Override
            public int getCount() {
              return mAllImages.length;
             
            }

            @Override
            public boolean isViewFromObject(View view, Object object) {
                return view.equals(object);
            }

            @Override
            public Object instantiateItem(ViewGroup container, int position) {

                View imageLayout = inflater.inflate(R.layout.viewpager_item, container, false);
                  assert imageLayout != null;
                  ImageView imageView = (ImageView) imageLayout.findViewById(R.id.image);
                final ProgressBar spinner = (ProgressBar) imageLayout.findViewById(R.id.loading);
                   
                 ImageLoader.getInstance().init(ImageLoaderConfiguration.createDefault(getApplica​tionContext()));
                 ImageLoader.getInstance().displayImage(Constant.SERVER_IMAGE_DETAILS+mAllImages[position], imageView, options, new SimpleImageLoadingListener() {
                        @Override
                        public void onLoadingStarted(String imageUri, View view) {
                            spinner.setVisibility(View.VISIBLE);
                        }

                        @Override
                        public void onLoadingFailed(String imageUri, View view, FailReason failReason) {
                            String message = null;
                            switch (failReason.getType()) {
                                case IO_ERROR:
                                    message = "Input/Output error";
                                    break;
                                case DECODING_ERROR:
                                    message = "Image can't be decoded";
                                    break;
                                case NETWORK_DENIED:
                                    message = "Downloads are denied";
                                    break;
                                case OUT_OF_MEMORY:
                                    message = "Out Of Memory error";
                                    break;
                                case UNKNOWN:
                                    message = "Unknown error";
                                    break;
                            }
                            Toast.makeText(SlideImageActivity.this, message, Toast.LENGTH_SHORT).show();

                            spinner.setVisibility(View.GONE);
                        }

                        @Override
                        public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) {
                            spinner.setVisibility(View.GONE);
                        }
                    });
              
                container.addView(imageLayout, 0);
                return imageLayout;
              
            }

            @Override
            public void destroyItem(ViewGroup container, int position, Object object) {
                 ((ViewPager) container).removeView((View) object);
            }
          }

        @Override
        public void onAccuracyChanged(Sensor arg0, int arg1) {
            // TODO Auto-generated method stub
            
        }

        @Override
        public void onSensorChanged(SensorEvent event) {
            // TODO Auto-generated method stub
            
             if (event.sensor.getType() == Sensor.TYPE_ACCELEROMETER) {
                  getAccelerometer(event);
                }
            
        }
         private void getAccelerometer(SensorEvent event) {
                float[] values = event.values;
                // Movement
                float x = values[0];
                float y = values[1];
                float z = values[2];

                float accelationSquareRoot = (x * x + y * y + z * z)
                    / (SensorManager.GRAVITY_EARTH * SensorManager.GRAVITY_EARTH);
                long actualTime = System.currentTimeMillis();
                if (accelationSquareRoot >= 2) //
                {
                  if (actualTime - lastUpdate < 200) {
                    return;
                  }
                  lastUpdate = actualTime;
    //              Toast.makeText(this, "Device was shuffed", Toast.LENGTH_SHORT)
    //                  .show();
                  if (checkImage) {
                   
                      
                      position=viewpager.getCurrentItem();
                      viewpager.setCurrentItem(position);

                  } else {
                      
                      position=viewpager.getCurrentItem();
                      position++;
                    if (position == TOTAL_IMAGE) {
                        position = TOTAL_IMAGE;
                    }
                    viewpager.setCurrentItem(position);
                  }
                  checkImage = !checkImage;
                }
              }

              
              @Override
              protected void onResume() {
                super.onResume();
                // register this class as a listener for the orientation and
                // accelerometer sensors
                if(dbManager == null){
                    dbManager = DatabaseManager.INSTANCE;
                    dbManager.init(getApplicationContext());
                    }else if(dbManager.isDatabaseClosed()){
                    dbManager.init(getApplicationContext());
                    }
                sensorManager.registerListener(this,
                    sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER),
                    SensorManager.SENSOR_DELAY_NORMAL);
              }

              @Override
              protected void onPause() {
                // unregister listener
                super.onPause();
                if(!dbManager.isDatabaseClosed())
                    dbManager.closeDatabase();
                sensorManager.unregisterListener(this);
              }
                @Override
                public void onDestroy() {
                    super.onDestroy();
                     handler.removeCallbacks(Update);
                     sensorManager.unregisterListener(this);
                     if(dbManager != null)dbManager.closeDatabase();

                }    
                
                public class SaveTask extends AsyncTask<String , String , String>
                {
                    private Context context;
                    private ProgressDialog pDialog;
                    String image_url;
                    URL myFileUrl;
                    String myFileUrl1;
                    Bitmap bmImg = null;
                    File file ;

                    public SaveTask(Context context) {
                        this.context = context;
                    }

                    @Override
                    protected void onPreExecute() {
                        // TODO Auto-generated method stub

                        super.onPreExecute();

                        pDialog = new ProgressDialog(context);
                        pDialog.setMessage("Downloading Image ...");
                        pDialog.setIndeterminate(false);
                        pDialog.setCancelable(false);
                        pDialog.show();

                    }

                    @Override
                    protected String doInBackground(String... args) {
                        // TODO Auto-generated method stub

                        try {  

                            myFileUrl = new URL(args[0]);
                            //myFileUrl1 = args[0];

                            HttpURLConnection conn = (HttpURLConnection) myFileUrl.openConnection();   
                            conn.setDoInput(true);   
                            conn.connect();     
                            InputStream is = conn.getInputStream();
                            bmImg = BitmapFactory.decodeStream(is); 
                        }
                        catch (IOException e)
                        {       
                            e.printStackTrace();  
                        }
                        try {       

                            String path = myFileUrl.getPath();
                            String idStr = path.substring(path.lastIndexOf('/') + 1);
                            File filepath = Environment.getExternalStorageDirectory();
                            File dir = new File (filepath.getAbsolutePath() + "/Android Wallpaper/");
                            dir.mkdirs();
                            String fileName = idStr;
                            file = new File(dir, fileName);
                            FileOutputStream fos = new FileOutputStream(file);
                            bmImg.compress(CompressFormat.JPEG, 75, fos);   
                            fos.flush();    
                            fos.close();    

                        }
                        catch (Exception e)
                                {
                                    e.printStackTrace();  
                                }
                        return null;   
                    }

                    @Override
                    protected void onPostExecute(String args) {
                        // TODO Auto-generated method stub
                        Toast.makeText(SlideImageActivity.this, "Image Saved Succesfully Android Wallpaper Folder/", Toast.LENGTH_SHORT).show();
                        pDialog.dismiss();
                    }
                }
                
        public class ShareTask extends AsyncTask<String , String , String>
                {
                    private Context context;
                    private ProgressDialog pDialog;
                    String image_url;
                    URL myFileUrl;
                    String myFileUrl1;
                    Bitmap bmImg = null;
                    File file ;

                    public ShareTask(Context context) {
                        this.context = context;
                    }

                    @Override
                    protected void onPreExecute() {
                        // TODO Auto-generated method stub

                        super.onPreExecute();

                        pDialog = new ProgressDialog(context);
                        pDialog.setMessage("Please Wait ...");
                        pDialog.setIndeterminate(false);
                        pDialog.setCancelable(false);
                        pDialog.show();

                    }

                    @Override
                    protected String doInBackground(String... args) {
                        // TODO Auto-generated method stub

                        try {  

                            myFileUrl = new URL(args[0]);
                            //myFileUrl1 = args[0];

                            HttpURLConnection conn = (HttpURLConnection) myFileUrl.openConnection();   
                            conn.setDoInput(true);   
                            conn.connect();     
                            InputStream is = conn.getInputStream();
                            bmImg = BitmapFactory.decodeStream(is); 
                        }
                        catch (IOException e)
                        {       
                            e.printStackTrace();  
                        }
                        try {       

                            String path = myFileUrl.getPath();
                            String idStr = path.substring(path.lastIndexOf('/') + 1);
                        File filepath = Environment.getExternalStorageDirectory();
                        File dir = new File (filepath.getAbsolutePath() + "/Android Wallpaper/");
                            dir.mkdirs();
                            String fileName = idStr;
                            file = new File(dir, fileName);
                            FileOutputStream fos = new FileOutputStream(file);
                            bmImg.compress(CompressFormat.JPEG, 75, fos);   
                            fos.flush();    
                            fos.close();    

                        }
                        catch (Exception e)
                                {
                                    e.printStackTrace();  
                                }
                        return null;   
                    }

                    @Override
                    protected void onPostExecute(String args) {
                        // TODO Auto-generated method stub
                        
                        Intent share = new Intent(Intent.ACTION_SEND);
                        share.setType("image/jpeg");
                        share.putExtra(Intent.EXTRA_STREAM, Uri.parse("file://" + file.getAbsolutePath()));
                        startActivity(Intent.createChooser(share, "Share Image"));
                        pDialog.dismiss();
                    }
                }        
                
        }

    نویسنده : کاوه محمدزادگان بازدید : 14 تاريخ : شنبه 17 مهر 1395 ساعت: 5:07
    برچسب‌ها : مشکل با دکمه fn,

    خبرنامه

    عضویت

    نام کاربري :
    رمز عبور :