آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

ذخیره و ارسال عکس ویوپیجر در گوشی

کوثر  11 سال پیش  11 سال پیش
+1 0

دوستان یه ویوپیجر دارم که میخوام این امکان باشه کاربر بتونه عکس حاضر رو اشتراک بذاره و هم در گالری گوشی ذخیره کند.در این مورد کسی اگه سمپلی لینکی داره معرفی کنه مممنون میشم.

0 0
اگه میخوای به اشتراک بذاره باید درگوشیش موجود باشه فایل (11 سال پیش)
0 0
ولی با کد زیر هنگام اشتراک فقط اشتراک و هنگام ذخیره سازی ذخیره میشود (11 سال پیش)
 برای این سوال 4 پاسخ وجود دارد.
پاسخ به سوال 
میرحسین  11 سال پیش
+1 0

کد زیر در متود هات بکار ببر

public boolean share(){

        byte[] buffer = null;

//filet ro dakhel poshe raw beriz

        InputStream fIn = getBaseContext().getResources().openRawResource(

                R.raw.ic);

        int size = 0;

 

        try {

            size = fIn.available();

            buffer = new byte[size];

            fIn.read(buffer);

            fIn.close();

        } catch (IOException e) {

            return false;

        }

//محل ذخیره سازی که به نظرم ذخیره نمیشه که خوبه

        String path = Environment.getExternalStorageDirectory().getPath()

                + "/image/";

 

        String filename = "عنوان عکس.jpg";

        if (!(new File(path)).exists()) {

            new File(path).mkdirs();

        }

 

        FileOutputStream save;

        try {

            save = new FileOutputStream(path + filename);

            save.write(buffer);

            save.flush();

            save.close();

        } catch (FileNotFoundException e) {

            return false;

        } catch (IOException e) {

            return false;

        }

        Intent sharingIntent = new Intent(Intent.ACTION_SEND);

        sharingIntent.setType("image/*");

        sharingIntent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(new File(path,filename)));

//Share using nami hast ke dar safhe eshterak gozari miad

        startActivity(Intent.createChooser(sharingIntent, "Share using"));

        return true;

    }

با این کد هم صداش بزن

share();

در متود OnCreate()

پاسخ به سوال 
میرحسین  11 سال پیش
+1 0

از این متود هم برای ذخیره سازیش استفاده کن

public boolean save(){

        Bitmap bitmap;

        OutputStream output;

//مسیری که عکس گرفته میشه

        bitmap = BitmapFactory.decodeResource(getResources(),

                R.drawable.ic);

 

        File filepath = Environment.getExternalStorageDirectory();

//مسیر ذخیره سازی عکس

        File dir = new File(filepath.getAbsolutePath()

                + "/Image/");

        dir.mkdirs();

//baraye man jpg bood agar baraye shoma png bood .png bezar

        File file = new File(dir, "عنوان عکس.jpg");

 

        Toast.makeText(MainActivity.this, "عکس ذخیره شد",

                Toast.LENGTH_SHORT).show();

        try {

 

            output = new FileOutputStream(file);

// فرمت ذخیره سازی JPEG

//در صورت PNG

//جای JPEG 

//پایین بذار

            bitmap.compress(Bitmap.CompressFormat.JPEG, 100, output);

            output.flush();

            output.close();

        }

 

        catch (Exception e) {

            // TODO Auto-generated catch block

            e.printStackTrace();

        }

        return true;

    }

در متود OnCreate()

اینجوری صداش کن

save()

 فقط در منیفست یادتون نره این کد رو بذارین

<uses-permission android:name="android.permission.WRITE_SETTINGS"/>

    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

0 0
دوست عزیز، از دکمه Source Code واسه قرار دادن سورس استفاده کنید. خودتون ببینید چقدر پاسختون بی نظم شده. اصلاح کنید (11 سال پیش)
0 0
نمیدونستم ببخشید (11 سال پیش)
0 0
ممنون دوست عزیز ولی نتونستم از این کداتون استفاده کنم اگه سمپلشو میذاشتین بهتر متوجه میشم.فقط این الان چطوری کار میکنه؟من ویوپیجر دارم که میخوام این امکان باشه عکسای اون رو دونه دونه ذخیره کرد (11 سال پیش)
پاسخ به سوال 
میرحسین  11 سال پیش
+1 0

متود public باید بیرون 

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
}

باشه کارکردن باهاش اینطوری که اگه مثلا من یک لیستنر تعریف کردم اینجوری به کارش بگیرم public

buttonshare.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        share();
    }
});
پاسخ به سوال 
میرحسین  11 سال پیش
+1 0

دقیقترش

 public class MainActivity extends Activity {
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);
final Button buttonshare =(Button) findViewById(R.id.btnshare);
final Button buttonsave =(Button) findViewById(R.id.btnsave);
buttonshare.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { share(); } });
buttonsave.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { save(); } }); }
public boolean share(){ byte[] buffer = null; //filet ro dakhel poshe raw beriz InputStream fIn = getBaseContext().getResources().openRawResource( R.raw.ic); int size = 0; try { size = fIn.available(); buffer = new byte[size]; fIn.read(buffer); fIn.close(); } catch (IOException e) { return false; } //محل ذخیره سازی که به نظرم ذخیره نمیشه که خوبه String path = Environment.getExternalStorageDirectory().getPath() + "/image/"; String filename = "عنوان عکس.jpg"; if (!(new File(path)).exists()) { new File(path).mkdirs(); } FileOutputStream save; try { save = new FileOutputStream(path + filename); save.write(buffer); save.flush(); save.close(); } catch (FileNotFoundException e) { return false; } catch (IOException e) { return false; } Intent sharingIntent = new Intent(Intent.ACTION_SEND); sharingIntent.setType("image/*"); sharingIntent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(new File(path,filename))); //Share using nami hast ke dar safhe eshterak gozari miad startActivity(Intent.createChooser(sharingIntent, "Share using")); return true; }
public boolean save(){ Bitmap bitmap; OutputStream output; //مسیری که عکس گرفته میشه bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.ic); File filepath = Environment.getExternalStorageDirectory(); //مسیر ذخیره سازی عکس File dir = new File(filepath.getAbsolutePath() + "/Image/"); dir.mkdirs(); //baraye man jpg bood agar baraye shoma png bood .png bezar File file = new File(dir, "عنوان عکس.jpg"); Toast.makeText(MainActivity.this, "عکس ذخیره شد", Toast.LENGTH_SHORT).show(); try { output = new FileOutputStream(file); // فرمت ذخیره سازی JPEG //در صورت PNG //جای JPEG //پایین بذار bitmap.compress(Bitmap.CompressFormat.JPEG, 100, output); output.flush(); output.close(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } return true; }
}
0 0
منیفست یادت نره (11 سال پیش)

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .