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

دانلود عکس و قراردادن درون زیرشاخه ای در asset؟؟؟؟


bidgol

سوال

دوستان می خواستم بدونم آیا امکان دانلود عکس از اینترنت و قراردادنش درون زیرشاخه ای در asset  وجود داره؟

آخه من در دیتابیسم آدرس عکس را قرار می دهم نه خود عکس را

 

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

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

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

بنده اصلا توی DirRootExternal  کپی می کنم ولی خیلی سری و امنیتی :دی

شاید واسه هرکسی قابل تسخیص نباشه :دی

 

اگه نمی ترسی راه حلت قابل تشخیص بشه می شه بگی چی کار می کنی؟

من نفهمیدم اگر داخل اینترنال کپی کنم دیگه مثل asset جزو دیتای برنامه ام باقی می مونه؟ یا اگر برنامه کلوز شه دوباره باید بره و دانلود کنه

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

 

توی کتابخانه فوق همونطور که می بیند دستوری برای خوندن از internal  نداره باید چی کار کنم؟

من برای آپدیت برنامم می خواهم این کارها را بکنم حال سوالم اینه که  آیا اگر هر دفعه بیام خودم به طور دستی عکس را بگذارم تو asset بعد ورژن برنامه را تغییر بدم

به طور اتوماتیک برنامه فقط به قسمت های جدید آپدیت می شه یا نه کل apk دوباره باید توسط کاربر دانلود بشه

اگر آپدیت از طریق بازار یا مارکت ها نباشه چطوریه؟

امیدوارم از موضوع خارج نشده باشم

شرمنده سوال هام زیاد شدظ

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

اگه نمی ترسی راه حلت قابل تشخیص بشه می شه بگی چی کار می کنی؟

من نفهمیدم اگر داخل اینترنال کپی کنم دیگه مثل asset جزو دیتای برنامه ام باقی می مونه؟ یا اگر برنامه کلوز شه دوباره باید بره و دانلود کنه

 

توی کتابخانه فوق همونطور که می بیند دستوری برای خوندن از internal  نداره باید چی کار کنم؟

من برای آپدیت برنامم می خواهم این کارها را بکنم حال سوالم اینه که  آیا اگر هر دفعه بیام خودم به طور دستی عکس را بگذارم تو asset بعد ورژن برنامه را تغییر بدم

به طور اتوماتیک برنامه فقط به قسمت های جدید آپدیت می شه یا نه کل apk دوباره باید توسط کاربر دانلود بشه

اگر آپدیت از طریق بازار یا مارکت ها نباشه چطوریه؟

امیدوارم از موضوع خارج نشده باشم

شرمنده سوال هام زیاد شدظ

بعد از کمپایل از طریق برنامه هیچ فایلی رو نمیشه از Asset تغییر داد

در مورد آپدیت بازار اطلاعی ندارم ولی تو کتابخوی بالا فک کنم از روت اکسترنال بخونه

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

در در 1394/06/18, 13:05:08، مجید آرتا گفته است :

این کد درستش بع این شکله :


o1 = File.OpenOutput(File.DirInternal & "/myapp","gol1.jpg",False)

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

 

واسه هر کدوم هم گفته که مسیر دایرکتوری و پوشه مربوطه رو وارد کنید

سلام 

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

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

من هنوز متوجه نشدم نحوه آپدیت چطوره؟

آیا خود سیستم عامل اندروید یا مثلا کتابخانه ای هست که تشخیص بده کد های جدید را و فقط قسمت های جدید را خودش دانلود کنه(البته حدس می زنم یخورده سوالم تخیلی باشه)

و این که چون من یک سری عکس دارم اگر درون sd یا همون اکسترنال قرار بدم برنامه ای مثل گالری خود اندروید نشون می ده و من نمی خوام این اتفاق بیفته راهی برای این کار دارید؟

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

واقعا موندم چی کار کنم؟

به پاسخ های شما علاوه بر پسندیدم یک صلوات هم هدیه می شود :gol:

راه دیگه ای برای تشکر پیدا نکردم

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

برای دانلود میتونی از httpjob استفاده کنی

تیک کتابخانه ی httputils رو بزن

برای دانلود هم میتونی از کد زیر استفاده کنی

توی ساب jobdone میتونی کدهارو تغییر بدی چون تو این ساب مشخص میکنیم وقتی کار httpjob تموم شد چیکار کنه

Sub Globals
	'These global variables will be redeclared each time the activity is created.
	'These variables can only be accessed from this module.
    Dim httpjob As HttpJob
End Sub

Sub Activity_Create(FirstTime As Boolean)
	'Do not forget to load the layout file created with the visual designer. For example:
	Activity.LoadLayout("Layout1")
	httpjob.Initialize(httpjob,Me)
    httpjob.Download("Link")
End Sub

Sub jobdone(job As HttpJob)
    Dim bitmap As Bitmap
	bitmap = job.GetBitmap
End Sub
لینک ارسال
به اشتراک گذاری در سایت های دیگر

بعد از دانلود شما نمیتونید داخل asset فایلی قرار بدید.

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

بعد از دانلود شما نمیتونید داخل asset فایلی قرار بدید.

قربونت منم الان مشکلم همینه

من برای آدرس دهی عکس هام در دیتابیس آدرسشون توی asset را می دادم

حالا می خوام چندتا عکس اضافه کنم چی کار کنم

فرق internal  با asset چیه

چه راه حلی برای این مشکل دارید

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

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

چه کنم؟

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

سلام

Internal   از معنی لغویش معلومه یعنی داخلی.پس نتیجه میگیریم یعنی حافظه داخلی.

خب شما میتونید توی این دایرکتوری هم فایل هاتون رو ذخیره کنید.اما Assets  ما اینجا فایل ها یا منابعی رو که بهشون توی برنامه نیاز داریم استفاده کنیم قرار میدیم.ما اصولا فایلی رو دانلود و اینجا قرار نمیدیم( این دسترسی هم وجود نداره).

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

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

قربونت منم الان مشکلم همینه

من برای آدرس دهی عکس هام در دیتابیس آدرسشون توی asset را می دادم

حالا می خوام چندتا عکس اضافه کنم چی کار کنم

فرق internal  با asset چیه

چه راه حلی برای این مشکل دارید

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

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

چه کنم؟

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

برای اینکار هم از Internal استفاده کنید.

internal دیتای خود برنامه هست و کسی نمیتونه بهش دسترسی داشته باشه.

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

 

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

برای اینکار هم از Internal استفاده کنید.

internal دیتای خود برنامه هست و کسی نمیتونه بهش دسترسی داشته باشه.

البته برای دیتابیس فک کنم باید از Dirinternalcash استفاده بشه

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

البته برای دیتابیس فک کنم باید از Dirinternalcash استفاده بشه

خیر

اصولا همه از DirInternal استفاده میکنند :write:

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

بنده اصلا توی DirRootExternal  کپی می کنم ولی خیلی سری و امنیتی :دی

شاید واسه هرکسی قابل تسخیص نباشه :دی

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

سلام

Internal   از معنی لغویش معلومه یعنی داخلی.پس نتیجه میگیریم یعنی حافظه داخلی.

خب شما میتونید توی این دایرکتوری هم فایل هاتون رو ذخیره کنید.اما Assets  ما اینجا فایل ها یا منابعی رو که بهشون توی برنامه نیاز داریم استفاده کنیم قرار میدیم.ما اصولا فایلی رو دانلود و اینجا قرار نمیدیم( این دسترسی هم وجود نداره).

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

ببخشید اگه سوالم مبتدیانه است اما من اگه بعد از اجرا بخوام یه چیزی را که درون asset است صدا بزنم یعنی دارم از internal صدا می زنم؟

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

Dim i1 As InputStream
		Dim o1 As OutputStream
		i1 = Job.GetInputStream
		o1 = File.OpenOutput(File.DirInternal & "myapp","gol1.jpg",False)
		File.Copy2(i1,o1)
		i1.Close
		o1.Close

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

http://www.b4x.com/android/forum/threads/b4aphotopager-v1-70.40944/

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

  • ShowFromAssets (path As String, sort As Boolean)

    show images from assets or sub-folder not from sdcard

  • ShowFromMediaStore (sort As Boolean)

    show images from media store

  • ShowFromSdCard (dir As String, path As String, sort As Boolean)

    show images from sdcard not from assets

  • ShowFromWeb (webStrings() As String, sort As Boolean)

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

الا احساس درموندگی میکنم یا باید دوباره این کتابخونه را هم بی خیال شم؟

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

این کد درستش بع این شکله :

o1 = File.OpenOutput(File.DirInternal & "/myapp","gol1.jpg",False)

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

 

واسه هر کدوم هم گفته که مسیر دایرکتوری و پوشه مربوطه رو وارد کنید

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

بایگانی شده

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

  • کاربران آنلاین در این صفحه   0 کاربر

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