رفتن به مطلب
  • 0

اشتراک گذاری فایل


shahryar UDK

سوال

16 پاسخ به این سوال تاکنون داده شده است

ارسال های توصیه شده

سلام دوستان

یه سوال داشتم، اگه امکانش هست راهنمایی کنید

من با b4a یه برنامه نوشتم که از بانک تصاویر رو در image view نمایش میده، و یک اسکرول رو پر میکنه حالا میخوام امکان اشتراک گذاری عکس رو داشته باشم.مشکل آدرس دهی دارم از بانک، اگه عکس هارو توی پوشه برنامه داشته باشم مشکلی ندارم با ارسالش، امیدوارم واضح توضیح داده باشم. ممنون میشم کمکم کنید

لینک ارسال
به اشتراک گذاری در سایت های دیگر

آخه اینطوری که هر بار اکتیویتی لود میشه باید دیتا بیس قبلی رو پاک کنه و از Assets کپی کنه تو Internal !!!

این خیلی سرعت برنامه رو پایین میاره و اصلا بهینه نیست *عصبانی2*

یکی از روش های خودم اینه که یه فیلد در هر دیتا بیس داشته باشیم به نام ورژن دیتابیس که هربار فقط ورژن دیتابیسی که در Internal هست رو با ورژن دیتابیس Assets مقایسه کنه و اگر Assets جدید تر بود قبلی رو پاک کنه و این رو جاش کپی کنه

کسی روش بهتری سراغ نداره *خوشمزه* ؟؟؟؟

سلام ممنون از راهنماییتون، این مقایسه از بانک روی سرعت برنامه اثر نداره؟

روش آسون تری ندارین؟؟*سرپایین*

لینک ارسال
به اشتراک گذاری در سایت های دیگر

خوب دوست عزیز عکس ها باید در مکانی از حافظه خارجی باشند.خب عکسارو بگیرید از دیتابیس و در حافظه خارجی قرار بدید و به اشتراک بگذارید

لینک ارسال
به اشتراک گذاری در سایت های دیگر

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

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

لینک ارسال
به اشتراک گذاری در سایت های دیگر

این اتفاق به این خاطر میفته که برای استفاده از دیتابیس، برنامه ابتدا اون رو اگر در dirInternal موجود نباشه به dirInternal کپی میکنه و بهش متصل میشه (برنامه نمیتونه به دیتابیسی که داخل dirAssets هست متصل بشه) و این دیتابیس در internal تا زمانی که برنامه حذف نشه خواهد ماند (چون اسم پکیج برنامه آپدیت شده با قبلی یکیه پس از نصب ورژن جدید اطلاعاتی که در dirInternal بودن حذف نمیشن) ، حالا وقتی شما برنامه رو با دیتا بیس جدید دوباره نصب میکنی ، چک میشه که اگر دیتابیس در dirInternal موجود نبود از Assets کپیش کنه ولی همون طور که گفتم اگه برنامه قبلی (ورژن قدیمی) رو حذف نکرده باشی دیتابیس قبلی هنوز وجود داره و دیگه دیتابیس جدید به intenal کپی نمیشه و برنامه با همون بانک قبلی اجرا میشه

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

امید وارم مفید بوده باشه *mail*

لینک ارسال
به اشتراک گذاری در سایت های دیگر

زحمت نکشید خودم یافتم*ناز2*

با کتابخانه MESSHARELIBRARY با کد

Sub Button1_click
Dim share As MESShareLibrary
File.Copy(File.DirAssets,"audio_0001.mp3",File.DirRootExternal,"audio_0001.mp3")
share.sharebinary("file://"&File.DirRootExternal&"/audio_0001.mp3","audio/mp3","Send file","really?","")

End Sub

لینک ارسال
به اشتراک گذاری در سایت های دیگر

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

تشکر

لینک ارسال
به اشتراک گذاری در سایت های دیگر

خوب دوست عزیز عکس ها باید در مکانی از حافظه خارجی باشند.خب عکسارو بگیرید از دیتابیس و در حافظه خارجی قرار بدید و به اشتراک بگذارید

سلام مرسی از راهنماییتون، امکانش هست دستور ذخیره سازی در حافظه خارجی رو آموزش بدین

لینک ارسال
به اشتراک گذاری در سایت های دیگر

لینک ارسال
به اشتراک گذاری در سایت های دیگر

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

لینک ارسال
به اشتراک گذاری در سایت های دیگر

خب شما فرض کن عکس ایمیج ویو رو میخای ذخیره کنید:

[/b][b]	Dim B As Bitmap[/b]
[b]	B = ImageView1.Bitmap[/b]
[b]	Dim out As OutputStream[/b]
[b]	out = File.OpenOutput(File.DirRootExternal,"FileName",False)[/b]
[b]	B.WriteToStream(out,100,"PNG")[/b]
[b]	out.Close[/b][b]
لینک ارسال
به اشتراک گذاری در سایت های دیگر

خب شما فرض کن عکس ایمیج ویو رو میخای ذخیره کنید:
[/b][b]	Dim B As Bitmap[/b]
[b]	B = ImageView1.Bitmap[/b]
[b]	Dim out As OutputStream[/b]
[b]	out = File.OpenOutput(File.DirRootExternal,"FileName",False)[/b]
[b]	B.WriteToStream(out,100,"PNG")[/b]
[b]	out.Close[/b][b]

ممنونم. مشکلم حل شد

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام.

خب میتونید در رویداد Create قبل از کپی کردنش با یک شرط ساده چک کنید که اگه وجود داشته باشه پاکش کنه و بعد کپی.

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام

من یه برنامه نوشتم با b4a که نصب شده روی گوشی ؛ وقتی اطلاعات بان رو تغییر میدم حتما باید اول حذف بشه از روی گوشی و مجدد نصب کنم

آیا امکانی وجود داره بانک اطلاعاتی خودش آپدیت بشه و نیازی به حذف نداشته باشه؟؟

ممنون میشم کمکم کنید

لینک ارسال
به اشتراک گذاری در سایت های دیگر

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

لینک ارسال
به اشتراک گذاری در سایت های دیگر

آخه اینطوری که هر بار اکتیویتی لود میشه باید دیتا بیس قبلی رو پاک کنه و از Assets کپی کنه تو Internal !!!

این خیلی سرعت برنامه رو پایین میاره و اصلا بهینه نیست *عصبانی2*

یکی از روش های خودم اینه که یه فیلد در هر دیتا بیس داشته باشیم به نام ورژن دیتابیس که هربار فقط ورژن دیتابیسی که در Internal هست رو با ورژن دیتابیس Assets مقایسه کنه و اگر Assets جدید تر بود قبلی رو پاک کنه و این رو جاش کپی کنه

کسی روش بهتری سراغ نداره *خوشمزه* ؟؟؟؟

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

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

مهمان
این موضوع برای عدم ارسال قفل گردیده است.
  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...