بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ

نمایش ندادن عکس و ویدیو بوجود آمده در گالری ( کد صحیح اینکار در پاسخ انتهایی )

مدیریت گفتگو
Amin Games 10 سال پیش
آخرین تغییر: 10 سال پیش

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


 

ببینید دوستان من به وسیله کد چندین دایرکتوری میسازم و به وسیله برنامم عکسبرداری میکنم و داخل دایرکتوری خودم میریزم و همچنین تو یه دایرکتوری دیگه ویدیوهایی رو از یه پوشه دیگه میگیرم و میریزم داخل پوشه خودم، پس یه پوشه عکس دارم و یه پوشه ویدیو که باید هر کدام داخل گالری نمایش داده بشن، اما متاسفانه این اتفاق نمیوفته و در گالری نمایش داده نمیشه، حالا نکته جالب اینجاست که من وقتی میرم به مسیر دایرکتوریم حالا چه پوشه های اولی یا پوشه های بعدی هر کدوم فرق نمیکنه، مهم اینه که من دستی یه تغییری تو نامش یا هر کار دیگه ایی انجام بدم اون موقع داخل گالری نمایان میشن،

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


 

دوستان میدونم بیش از حد نوشتم و زیادی توضیح دادم، از بس هر وقت هر چی نوشتم کسی متوجه نشد و گفتند سوالت گنگ هست، فکر نکنم کسی مثل من باشه که سوالشو کامل شفاف سازی کنه، آخرشم میان میگن، متوجه نشدم مشکلت چیه !!!!


 

حالا دوستان عزیز راهنمایی کنند و بگن چیکارش کنم که تو گالری نمایشش بده

با تشکر فراوان ...

نظرات

پاسخ‌ها 5

hamcalas 10 سال پیش

بعد از تهیه عکس یا فیلم متد زیر را صدا بزنید تا گالری آپدیت بشه

     public static void galleryAddPic()    {
Intent localIntent = new Intent("android.intent.action.MEDIA_SCANNER_SCAN_FILE");
localIntent.setData(Uri.fromFile(new File(DIR_DATABASE)));
Curreantactivity.sendBroadcast(localIntent);
}


 

نظرات

Amin Games 10 سال پیش
تشکر آقای hamcalas ممنون بذار تسکت کنم بینم جواب میده یا نه
Amin Games 10 سال پیش
آقا hamcalas تست کردم متاسفانه جواب نمیده، چیکارش کنم؟
Amin Games 10 سال پیش

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

این کد رو نوشتم

    private static final String DIR_DATABASE = null;
    private Activity         _activity;

    protected void galleryAddPic() {
        ShowToastLong("Start");
        Intent localIntent = new Intent("android.intent.action.MEDIA_SCANNER_SCAN_FILE");
        localIntent.setData(Uri.fromFile(new File(DIR_DATABASE)));
        _activity.sendBroadcast(localIntent);
        ShowToastLong("End");
    }

وقتی عبارت DIR_DATABASE رو بکار بردم، ایکلیپس گفت که نمیشناسش و بهم چند مورد پیشنهاد داد و من رو اولیش کلیک کردم و یه String به شکل زیر برام ساخت.

 private static final String DIR_DATABASE = null;

ولی خودم 2 تا متد تست که خودم نوشته بودم بالا و پایین کد گذاشتم که ببینم خوانده میشه یا نه، اولی که Start هست خونده میشه ولی آخری که End است اجرا نمیشه، یعنی اینکه کد فراخوانی نمیشه، چیکارش کنم، راهنمایی کنید...

 

 

نظرات

hamcalas 10 سال پیش
منظور از DIR-DATABASE آدرس پوشه ای است که تصاویر را ذخیره می کنید
hamcalas 10 سال پیش
منظور از activity هم اکتیوتی فعلی هست می توانید نام اکتویتی را بنویسید بعدش thisکدتان کلا غلط هست همان بالایی درست است
Amin Games 10 سال پیش
ممنون که پاسخ دادید، اما من این عبارت ;(Activity.this.sendBroadcast(localIntent را نمیتوانم استفاده کنم، چون من در نهایت از اینها یه فایل jar تهیه میکنم و در یونیتی فراخوانی میکنم، منظورم اینه که به عنوان یه پلاگین از این کد استفاده میکنم و Activity هم در پروژه من در کار نیست، من یک فایل jar که رابط بین یونیتی و برنامه نویسی جاوا هست رو تو ایکلیپس ایمپورت میکنم و یه Activity از روی اون کلاس مخصوص که تو خودش یه Activity داره میسازم
Amin Games 10 سال پیش
فکر نکنم Activity که نوشتم مشکلی داشته باشه، چون من واسه همه کارا از همین طریق استفاده میکنم و مشکلی هم نیست، فقط به گفته خودتون مشکل آدرس پوشه ای بود که داخلش تصاویر است که DIR-DATABASE را تصحیح کردم و آدرس پوشه تصاویر رو دادم اما حالا کد کاملا فراخوانی میشه و تا به پایان میره اما وقتی در گالری نگاه میکنم هیچ تغییری صورت نگرفته و عکسها تو گالری هنوز نمایان نشدن
hamcalas 10 سال پیش
اطلاعاتی درباره یونیتی ندارم ٬من برای برنامه ای از کد بالا استفاده کردم و جواب داده ٬ ان شاا... اساتید راهنمایی خواهند کرد .
Amin Games 10 سال پیش
یه کد پیدا کردم که گالری رو بروز رسانی میکنه، اما خیلی دیر، یعنی وقتی اون کد رو صدا میزنم حداقل یه 30 ثانیه طول میده تا گالری بروز بشه و تصاویر من توش بیاد، کد رو تو پاسخ آخر نوشتم
Amin Games 10 سال پیش

نگاه کنید کلاسی که من باهاش کار میکنم اینجوریه

 import com.unity3d.player.UnityPlayer;
import com.unity3d.player.UnityPlayerActivity;

public class PluginUnityActivity extends UnityPlayerActivity {
private Activity         _activity;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        _activity = UnityPlayer.currentActivity;

    }
	
	
	}

الان Activity من شده >>>> activity_ 

و هرجا بخوام از Activity استفاده کنم از  این activity_  استفاده میکنم

 

نظرات

hamcalas 10 سال پیش
یعنی اگر PluginUnityActivity استفاده کنید جواب نمیده؟
Amin Games 10 سال پیش

حالا من یه کد پیدا کردم که گالری رو بروز رسانی میکنه، اما خیلی دیر، یعنی وقتی اون کد رو صدا میزنم حداقل یه 30 ثانیه طول میده تا گالری بروز بشه و تصاویر من توش بیاد.

واسه شما هم همیجوری هست؟ بروز رسانی گالری خیلی طول میده؟

 sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED, Uri.parse("file://" + Environment.getExternalStorageDirectory())));

کد بالا دیگه به دایرکتوری خاصی تعلق نداره  و همه SDcard رو بروز میکنه، اما من به خودم گفتم شاید بخاطر اینکه همه SDcard رو میخواد بروز کنه این همه طول میده، آخرش آدرسه پوشمو دادم، ولی باز همون زمان طولانی حداقل 30 ثانیه طول میده تا گالری بروز بشه

من هر کاری میخوایم انجام بدیم یه گیری توش هست، !!!!

 

 

 

نظرات

hamcalas 10 سال پیش
بله برای من هم کمی طول می کشه ٬ احتمالا بسته به نوع گوشی و امکانات ان طول خواهد کشید.
Amin Games 10 سال پیش
نمیدونم چطوریه!!! اما من برنامه هایی دارم که در کمتر از 1 ثانیه ویدیوها و عکس ها رو به گالری اضاف میکنه، مثل برنامه SCR Screen Recorder
Amin Games 10 سال پیش

درستش کردم در حد المپیک، با تشکر از آقای میکائیل عزتی یا hamcalas که پاسخگو سوالاتم بود. 

این کد پایین هم برای ویدیو و هم برای تصویر هست که در ایکی ثانیه به گالری اضافشون میکنه !!

متد اول ورودیش یه آدرس کامل یه عکس رو میگیره و به محض صدا زده شدن تصویر مورد نظر به گالری اضاف میشه

متد دومی هم یه آدرس کامل ویدیو رو میگیره و به محض صدا زده شدن ویدیو رو به گالری اضاف میکنه

 // متد آپدیت کردن گالری یا اضاف کردن فیلم و عکس به گالری برای نمایش فیلم و عکس جدید در گالری
    protected void galleryAddPicture(String PathName) {
        File file = new File(PathName);
        ContentValues values = new ContentValues();
        values.put(MediaStore.Images.Media.DATA, file.getAbsolutePath());
        values.put(MediaStore.Images.Media.MIME_TYPE, "image/png"); // setar isso
        getContentResolver().insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values);
    }


    protected void galleryAddVideo(String PathName) {
        File file = new File(PathName);
        ContentValues values = new ContentValues();
        values.put(MediaStore.Video.Media.DATA, file.getAbsolutePath());
        values.put(MediaStore.Video.Media.MIME_TYPE, "video/mp4"); // setar isso
        getContentResolver().insert(MediaStore.Video.Media.EXTERNAL_CONTENT_URI, values);
    }

موفق باشید ...

نظرات


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