jafarik 11 ارسال شده در 14 شهریور، ۱۳۹۶ اشتراک گذاری ارسال شده در 14 شهریور، ۱۳۹۶ سلام من یه دونه دیتابیس دارم که تو برنامه م میخوام کنار هر متن عکس هم بذارم ب این خاطر اومدم یه ایمیج ویو و ادیت تکست رو تو یه لایوتی گذاشتم متن رو میتونم فراخوانی کنم ولی عکس هارو نمیدونم چجوری فراخوانی کنم البته اینم بگم که عکسا رو تو دیتابیس گذاشتم اینم عکس اون لایوت مورد نظرمه: اینم دیتابیسمه: لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
davoodebrahimi 16 ارسال شده در 15 شهریور، ۱۳۹۶ اشتراک گذاری ارسال شده در 15 شهریور، ۱۳۹۶ سلام مجدد من چون بهتون گفتم دقیقا مثل متن که ریختین توی لیبل به همون صورت اسم عکس رو هم بگیرین؛؛برا همین دیگه کورسور ننوشتم java.lang.RuntimeException: Object should first be initialized (Cursor). این خطای بالایی میگه کورسور اینیشیالایز نشده حالاامکان داره شما توی اکتیویتی اصلا اینیشیالایز نکردین یا هم قبل اینیشیالایز ازش استفاده ای کردین. F:\project001\Objects\bin\extra\assets نیاز به کاری که این بالا هم انجام دادین نیست. شما الان بیاین از پروژه تون یه کپی بگیرین(هر موقع که توی مراحل ساخت به موفقیتی دست پیدا کردین حتما از سورس پروژه کپی بگیرین و مثلا به تاریخ همون روز ثبت کنین یجا بعدا شاید لازم بشه) وقتی کپی گرفتین یه نسخه شو جدا نگه دارین یه نسخه شو هم اینطور که میگم برین اگه جواب نگرفیتن برگردین سر همون پروژه ای که خودتون نوشتین و کپی گرفتین ازش ** اول یه از سالم بودن و کامل بودن اس دیکا و جی دیکا مطمعن شین(یه پروژه جدید ایجاد کنین؛؛سیو کنین؛؛بعد در حالت ریلیز کامپایل کنین اگه کامل کامپایل شد ینی حله) ** وقتی وارد پروژه میشین برا اولین بار دوتا پوشه اس یکیش آبجکت هست یکیش فایل؛؛شما داخل آبجکت کاری ندارین هر فایلی داشتین میزیزین داخل پوشه فایل که میشه همون اَسِسِت برنامه پس عکسارو فقط داخل این پوشه بریزین ** دیتا بیس رو اصلاح کنین (1-اسم دیتابیس؛اسم تیبل ها یا همون جدول ها و اسم فیلد ها به بزرگی و کوچکی کلمات حساس هستن و اگه اشتباه صورت بگیره خطایی میده که بیای متوجه بشین دوهفته طول میکشه پس بهتره همهم حروفات با حروف کوچک نوشته بشه--2-ستونی که عکسا توش هستن رو پاک کنین فقط اسم عکسا بمونه کافیه --3--هربار که روی دیتابیس اطلاعاتی وارد کنین حجمش میره بالا و با حذف کردن اطلاعات هم حجمش کم نمیشه پس بعد پاک کردن عکسا لازمه یکاری کنین که حجم دیتابیس بیاد پایین(1-سمت چپ رو استم دیتا بیس دابل کلیک میکنین-2-روی main اول دابل کلیک میکنین و بعد کلیک راست میکنین و روی گزینه maintain وای میستین و از گزینه های باز شده گزینه وسطی VacuumDatabase رو میزنین که حجمش بیاد پایین **دیتا بیس رو از اسست برنامه کپی میکنی داخل دیاراینترنال (قبل از اینکه از دیتابیس استفاده کنی باید کپی کردن در دیار اینترنال انجام بشه انجام بشه مثلا تو اولین اکتیویتی بعد از main) If File.Exists(File.DirInternal,"اسم دیتا بیس") = False Then File.Copy(File.DirAssets,"اسم دیتابیس",File.DirInternal,"اسم دیتا بیس") End If **داخل اکتیویتی اسکیو ال و کورسور تعریف میکنین(بهتره توی پروسس گلوبال تعریف کنین)(چون گفتین دوتا تیبل دارین پس باید دوتا کورسور داشته باشین اسکیوال میتونه یدونه باشه برای دیتابیس در هر اکتیویتی اما برای هر تیبل باید جداگونه کورسور باز کنین و کوئری بگیرین) Sub Process_Globals Dim sql As SQL Dim cur1 As Cursor Dim cur2 As Cursor End Sub اس کیو ال رو اینیشیالایز میکنی.برای اینکه سرعت برنامه ات کم نشه شرط میذاری اگه اینیشیالایز نشده بود بیاد اینیشیالایز کنه نه اینکه هر دفعه If sql.IsInitialized = False Then sql.Initialize(File.DirInternal,"اسم دیتابیس",False) End If ** حالا نوبت به پر کردن کوئری میرسه cur1 = sql.ExecQuery("select * from اسم تیبل where id") cur1.Position = 0 *الان دیگه میتونی اطلاعاتت رو داخل ایمیج ویو یا لیبل بریزی برای مثلا برای لیبل میشه Label1.Text = cur.GetString("اسم ستون") برای ایمیج ویو هم که اون بالا گفتیم امیدوارم مطلبی رو از قلم ننداخته باشم و مطالب بالا مفید واقع بشه لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
jafarik 11 ارسال شده در 15 شهریور، ۱۳۹۶ سازنده اشتراک گذاری ارسال شده در 15 شهریور، ۱۳۹۶ در 1 ساعت قبل، davoodebrahimi گفته است : سلام مجدد من چون بهتون گفتم دقیقا مثل متن که ریختین توی لیبل به همون صورت اسم عکس رو هم بگیرین؛؛برا همین دیگه کورسور ننوشتم java.lang.RuntimeException: Object should first be initialized (Cursor). این خطای بالایی میگه کورسور اینیشیالایز نشده حالاامکان داره شما توی اکتیویتی اصلا اینیشیالایز نکردین یا هم قبل اینیشیالایز ازش استفاده ای کردین. F:\project001\Objects\bin\extra\assets نیاز به کاری که این بالا هم انجام دادین نیست. شما الان بیاین از پروژه تون یه کپی بگیرین(هر موقع که توی مراحل ساخت به موفقیتی دست پیدا کردین حتما از سورس پروژه کپی بگیرین و مثلا به تاریخ همون روز ثبت کنین یجا بعدا شاید لازم بشه) وقتی کپی گرفتین یه نسخه شو جدا نگه دارین یه نسخه شو هم اینطور که میگم برین اگه جواب نگرفیتن برگردین سر همون پروژه ای که خودتون نوشتین و کپی گرفتین ازش ** اول یه از سالم بودن و کامل بودن اس دیکا و جی دیکا مطمعن شین(یه پروژه جدید ایجاد کنین؛؛سیو کنین؛؛بعد در حالت ریلیز کامپایل کنین اگه کامل کامپایل شد ینی حله) ** وقتی وارد پروژه میشین برا اولین بار دوتا پوشه اس یکیش آبجکت هست یکیش فایل؛؛شما داخل آبجکت کاری ندارین هر فایلی داشتین میزیزین داخل پوشه فایل که میشه همون اَسِسِت برنامه پس عکسارو فقط داخل این پوشه بریزین ** دیتا بیس رو اصلاح کنین (1-اسم دیتابیس؛اسم تیبل ها یا همون جدول ها و اسم فیلد ها به بزرگی و کوچکی کلمات حساس هستن و اگه اشتباه صورت بگیره خطایی میده که بیای متوجه بشین دوهفته طول میکشه پس بهتره همهم حروفات با حروف کوچک نوشته بشه--2-ستونی که عکسا توش هستن رو پاک کنین فقط اسم عکسا بمونه کافیه --3--هربار که روی دیتابیس اطلاعاتی وارد کنین حجمش میره بالا و با حذف کردن اطلاعات هم حجمش کم نمیشه پس بعد پاک کردن عکسا لازمه یکاری کنین که حجم دیتابیس بیاد پایین(1-سمت چپ رو استم دیتا بیس دابل کلیک میکنین-2-روی main اول دابل کلیک میکنین و بعد کلیک راست میکنین و روی گزینه maintain وای میستین و از گزینه های باز شده گزینه وسطی VacuumDatabase رو میزنین که حجمش بیاد پایین **دیتا بیس رو از اسست برنامه کپی میکنی داخل دیاراینترنال (قبل از اینکه از دیتابیس استفاده کنی باید کپی کردن در دیار اینترنال انجام بشه انجام بشه مثلا تو اولین اکتیویتی بعد از main) If File.Exists(File.DirInternal,"اسم دیتا بیس") = False Then File.Copy(File.DirAssets,"اسم دیتابیس",File.DirInternal,"اسم دیتا بیس") End If **داخل اکتیویتی اسکیو ال و کورسور تعریف میکنین(بهتره توی پروسس گلوبال تعریف کنین)(چون گفتین دوتا تیبل دارین پس باید دوتا کورسور داشته باشین اسکیوال میتونه یدونه باشه برای دیتابیس در هر اکتیویتی اما برای هر تیبل باید جداگونه کورسور باز کنین و کوئری بگیرین) Sub Process_Globals Dim sql As SQL Dim cur1 As Cursor Dim cur2 As Cursor End Sub اس کیو ال رو اینیشیالایز میکنی.برای اینکه سرعت برنامه ات کم نشه شرط میذاری اگه اینیشیالایز نشده بود بیاد اینیشیالایز کنه نه اینکه هر دفعه If sql.IsInitialized = False Then sql.Initialize(File.DirInternal,"اسم دیتابیس",False) End If ** حالا نوبت به پر کردن کوئری میرسه cur1 = sql.ExecQuery("select * from اسم تیبل where id") cur1.Position = 0 *الان دیگه میتونی اطلاعاتت رو داخل ایمیج ویو یا لیبل بریزی برای مثلا برای لیبل میشه Label1.Text = cur.GetString("اسم ستون") برای ایمیج ویو هم که اون بالا گفتیم امیدوارم مطلبی رو از قلم ننداخته باشم و مطالب بالا مفید واقع بشه بینهایت ممنونم از لطفتون که وقت گذاشتین و این همه مطلبو نوشتین راستشو بخوایین من تازه کارم و متاسفانه زیاد سر در نمیارم این سورسی هم که الان دارم دو تا سورس رایگان رو باهم قاطی کردم اگه وقت دارین و حوصله شو دارین یه ایمیلی اکانتی چیزی بدین براتون بفرستم خودتون نگاش کنین و ب عنوان یه هدیه ی ناقابل میتونم سورسو بدم بهتون درسته چیز زیاد جالبی نیست ولی حداقل یه گرافیک جالب داره اگرم نخواستین فدا سرتون بازم بینهایت بار ازتون ممنونم لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
davoodebrahimi 16 ارسال شده در 15 شهریور، ۱۳۹۶ اشتراک گذاری ارسال شده در 15 شهریور، ۱۳۹۶ خواهش میکنم وظیفه بود؛همین که شما یاد بگیری خودش خیلیه اگه مشکلی بود یا متوجه نشدین؛ایدیم @davoodebrahimi هست در حدی که بتونم در خدمتم لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
davoodebrahimi 16 ارسال شده در 14 شهریور، ۱۳۹۶ اشتراک گذاری ارسال شده در 14 شهریور، ۱۳۹۶ سلام هر چقد دیتابیس سبک تر باشه برنامه تون همونقد روون کار میکنه؛؛شما بجای اینکه عکس رو داخل دیتا بیس بذاری؛؛فقط اسم کامل عکس هارو بنویس داخل دیتابیس؛عکسهارو هم داخل اسست برنامه بریز بعد داخل بیسیک وقتی میخوای به ایمیج ویو عکس بدی؛اسم عکس رو از دیتا بیس بگیر این اصولی تره(البته شماگفتی خود عکسارو داخل دیتابیس گذاشتی برا همین این توضیح رو دادم اما عکسی که از دیتا بیس دادی نشون میده اسم عکسارو فقط نوشتی) به همون صورت که متن رو از دیتا بیس میگیری و میدی به لیبل؛اسم عکس رو هم بگیر و بذا داخل کد به شکل زیر img1.SetBackgroundImage(LoadBitmap(File.DirAssets,cur.GetString("اسم ستون عکس ها در دیتابیس"))) اگرم تعداد عکست زیاده برای اینکه برنامه تو گوشی های ضعیف کرش نکنه بجای استفاده از loadbitmap از LoadBitmapsample استفاده کن لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
jafarik 11 ارسال شده در 14 شهریور، ۱۳۹۶ سازنده اشتراک گذاری ارسال شده در 14 شهریور، ۱۳۹۶ در 1 ساعت قبل، davoodebrahimi گفته است : سلام هر چقد دیتابیس سبک تر باشه برنامه تون همونقد روون کار میکنه؛؛شما بجای اینکه عکس رو داخل دیتا بیس بذاری؛؛فقط اسم کامل عکس هارو بنویس داخل دیتابیس؛عکسهارو هم داخل اسست برنامه بریز بعد داخل بیسیک وقتی میخوای به ایمیج ویو عکس بدی؛اسم عکس رو از دیتا بیس بگیر این اصولی تره(البته شماگفتی خود عکسارو داخل دیتابیس گذاشتی برا همین این توضیح رو دادم اما عکسی که از دیتا بیس دادی نشون میده اسم عکسارو فقط نوشتی) به همون صورت که متن رو از دیتا بیس میگیری و میدی به لیبل؛اسم عکس رو هم بگیر و بذا داخل کد به شکل زیر img1.SetBackgroundImage(LoadBitmap(File.DirAssets,cur.GetString("اسم ستون عکس ها در دیتابیس"))) اگرم تعداد عکست زیاده برای اینکه برنامه تو گوشی های ضعیف کرش نکنه بجای استفاده از loadbitmap از LoadBitmapsample استفاده کن سلام ممنون از پاسخ گویی تون همه ی عکسایی رو که تو دیتابیس گذاشته بودمو تو فایل زیر گذاشتم F:\project001\Objects\bin\extra\assets البته هر دفعه که کامپایل میکنم همه شون حذف میشن وقتی برنامه رو ریلیز کامپایل میکنم این ارور رو میده Packaging files. Error AAPT path: C:\Android\sdk\tools\..\build-tools\23.0.1\aapt.exe Exit code:-1073741819 اینم بگم sdk , jdk هردو ب روزن و از api26 استفاده میکنم. وقتی برنامه رو رو حالت دیباگ کامپایل میکنم مشکلی نداره ولی وقتی برنامه رو باز میکنم و میرم ب اون اکتیویتی که میخوام ایمیج ویو عکسای دیتا بیسو نشون بده از برنامه خارج میشه با ارور زیر java.lang.RuntimeException: Object should first be initialized (Cursor). البته اون کد شمارو ب این صورت نوشتم: Dim cur As Cursor ImageView3.SetBackgroundImage(LoadBitmap(File.DirAssets,cur.GetString("sAx"))) قسمت Dim cur As Cursor رو خودم اضافه کردم چون cur رو نمیشناخت قبل اینا هم دیتابیسو تغییر دادم دیتابیس هم دو تا جدول داره ب نظرتون باید جدول رو هم مشخص کنم؟ لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
sbr 233 ارسال شده در 14 شهریور، ۱۳۹۶ اشتراک گذاری ارسال شده در 14 شهریور، ۱۳۹۶ در 2 دقیقه قبل، jafarik گفته است : سلام ممنون از پاسخ گویی تون همه ی عکسایی رو که تو دیتابیس گذاشته بودمو تو فایل زیر گذاشتم F:\project001\Objects\bin\extra\assets البته هر دفعه که کامپایل میکنم همه شون حذف میشن وقتی برنامه رو ریلیز کامپایل میکنم این ارور رو میده Packaging files. Error AAPT path: C:\Android\sdk\tools\..\build-tools\23.0.1\aapt.exe Exit code:-1073741819 اینم بگم sdk , jdk هردو ب روزن و از api26 استفاده میکنم. وقتی برنامه رو رو حالت دیباگ کامپایل میکنم مشکلی نداره ولی وقتی برنامه رو باز میکنم و میرم ب اون اکتیویتی که میخوام ایمیج ویو عکسای دیتا بیسو نشون بده از برنامه خارج میشه با ارور زیر java.lang.RuntimeException: Object should first be initialized (Cursor). البته اون کد شمارو ب این صورت نوشتم: Dim cur As Cursor ImageView3.SetBackgroundImage(LoadBitmap(File.DirAssets,cur.GetString("sAx"))) قسمت Dim cur As Cursor رو خودم اضافه کردم چون cur رو نمیشناخت قبل اینا هم دیتابیسو تغییر دادم دیتابیس هم دو تا جدول داره ب نظرتون باید جدول رو هم مشخص کنم؟ پوشه assets در واقع همون پوسه Files هست یعنی این ادرس F:\project001\Files عکساتونو بریزید توی این پوشه لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
jafarik 11 ارسال شده در 14 شهریور، ۱۳۹۶ سازنده اشتراک گذاری ارسال شده در 14 شهریور، ۱۳۹۶ در 2 ساعت قبل، sbr گفته است : پوشه assets در واقع همون پوسه Files هست یعنی این ادرس F:\project001\Files عکساتونو بریزید توی این پوشه ممنون ولی از اول هم عکسا تو همون پوشه بودن لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
سوال
jafarik 11
سلام
من یه دونه دیتابیس دارم که تو برنامه م میخوام کنار هر متن عکس هم بذارم ب این خاطر اومدم یه ایمیج ویو و ادیت تکست رو تو یه لایوتی گذاشتم متن رو میتونم فراخوانی کنم ولی عکس هارو نمیدونم چجوری فراخوانی کنم
البته اینم بگم که عکسا رو تو دیتابیس گذاشتم
اینم عکس اون لایوت مورد نظرمه:
اینم دیتابیسمه:
لینک ارسال
به اشتراک گذاری در سایت های دیگر
7 پاسخ به این سوال تاکنون داده شده است
ارسالهای توصیه شده
بایگانی شده
این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.