نمایش نتایج 1 تا 8 از 8

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

  1. #1
    کاربر دائمی
    تاریخ عضویت
    آذر 1389
    محل زندگی
    تهران
    پست
    857

    نشناخته شدن دیتابیس در اندروید استدیو

    با سلام
    من میخوام داخل برنامه ار دیتابیس آماده شده از قبل استفاده کنم. توی فرم که چیزی پیدانکردم واگه هست و نباید سوالم را مطرح میکردم بفرمایید که تاپیکم را حذفکنم.
    دوم اینکه دیتابیس را وقتی توی اندروید استدیو کپی میکنم کنارش یه علامت سوال میاد انگار که فرمت اونو نمیشناسه. عکسش را گذاشتمdatabase error.jpg
    کسی میدوه دلیلش چیه و چطور میشه حلش کرد و از دیتابیس آماده در پروژه اندروید استفاده کرد؟
    ممنون میشم راهنمایی کنین و یا اگه منبعی وجود داره معرفی کنید.


    سپاس

  2. #2

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

    علامت سوال ربطی به شناسایی فرمت توسط اندروید استودیو نداره! اصلا لازم نیست که اندروید استودیو بشناسه! یعنی طرز تفکری که راجع به نحوه کاربرد دیتابیس دارید در ویژوال استودیو و اندروید استودیو خیلی متفاوته!
    در حقیقت اینجا شما یک فایل دیتابیس به عنوان ملحقات پروژه دارید تعریف میکنید! بنابراین برای اینکه بتونید ازش استفاده کنید باید با استفاهد از کلاس SqliteConnection ,.... در اندروید بهش متصل بشید و کارهایی که لازم دارید انجام بدید.
    در زمان open کردن دیتابیس توسط کلاس فوق می تونید بگید که از یک فایل دیتابیس عضو پروژه بخونه ! به همین سادگی !
    اگر هم که کلا با کلاسهای Sqlite کار نکردید بفرمایید اینجا یک مثال کامل از نحوه استفاده براتون ارسال کنم!
    البته من یک ORM ساده برای خودم نوشتم که کار نوشتن روی دیتابیس را به صورت آبجکتی انجام بدم اگر لازم بود بگید همین جا براتون آپلود کنم

  3. #3

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

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

  4. #4
    کاربر دائمی
    تاریخ عضویت
    آذر 1389
    محل زندگی
    تهران
    پست
    857

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

    نقل قول نوشته شده توسط capitan_nemesis مشاهده تاپیک
    من از طریق دیگه از پایگاه داده استفاده میکنم
    ولی این درسته گذاشتین فقط کدش رو خواستین بدم که بتونید استفاده کنید از ایان پوشه
    سلام ممنونم از وقتی که گذاشتید و پاسخ دادید .
    ممنون میشم اگه کدتون را برام بفرستید که من هم استفاده کنم .
    سپاس

  5. #5
    کاربر دائمی
    تاریخ عضویت
    آذر 1389
    محل زندگی
    تهران
    پست
    857

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

    نقل قول نوشته شده توسط farhad_shiri_ex مشاهده تاپیک
    علامت سوال ربطی به شناسایی فرمت توسط اندروید استودیو نداره! اصلا لازم نیست که اندروید استودیو بشناسه! یعنی طرز تفکری که راجع به نحوه کاربرد دیتابیس دارید در ویژوال استودیو و اندروید استودیو خیلی متفاوته!
    در حقیقت اینجا شما یک فایل دیتابیس به عنوان ملحقات پروژه دارید تعریف میکنید! بنابراین برای اینکه بتونید ازش استفاده کنید باید با استفاهد از کلاس SqliteConnection ,.... در اندروید بهش متصل بشید و کارهایی که لازم دارید انجام بدید.
    در زمان open کردن دیتابیس توسط کلاس فوق می تونید بگید که از یک فایل دیتابیس عضو پروژه بخونه ! به همین سادگی !
    اگر هم که کلا با کلاسهای Sqlite کار نکردید بفرمایید اینجا یک مثال کامل از نحوه استفاده براتون ارسال کنم!
    البته من یک ORM ساده برای خودم نوشتم که کار نوشتن روی دیتابیس را به صورت آبجکتی انجام بدم اگر لازم بود بگید همین جا براتون آپلود کنم
    سلام
    بسسسسیار سپاسگزار مررسی

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


    ممنون

  6. #6

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

    نقل قول نوشته شده توسط mehrdad85 مشاهده تاپیک
    سلام
    بسسسسیار سپاسگزار مررسی

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


    ممنون
    خواهش میکنم شما لطف دارید
    فقط چون من از جاوای ۸ استفاده میکنم کلاس هام وابستگی های زیادی دارند مدتی طول میکشه بخوام آماده کنم واینجا قرار بدم. به همین علت فعلا قسمتی که از روی assets فایل دیتابیس را کپی میکنه قرار میدم امیدوارم مفید باشه! در صورتی که نیاز به بخش های دیگه داشتید اطلاع بدید!
    البته قبلش باید یک کلاس از روی کلاس SQLiteOpenHelper اندروید مشتق کنید و الباقی داستان....

    public static final String DB_NAME = "your_db_Name";

    public static int attachedDatabase(Context ctx) throws Exception {
    int req;
    try (InputStream _upgraded_db = ctx.getAssets().open(DB_NAME)){
    String _current_db = ctx.getDatabasePath(DB_NAME).getPath();
    File _DataBaseFile_= new File(_current_db);
    if (_DataBaseFile_.exists() && dbInstalled(_current_db)) {
    ifNeededUpGradeDb(ctx);
    if (sDbOldVersion < sDbNewVersion)
    req = setupScript(ctx, sDbOldVersion, sDbNewVersion) ? 1 : -1;
    else
    req =2 ;
    } else {
    String _empty_db_ = _current_db.substring(1,_current_db.indexOf(DB_NAM E)) ;
    File _MainPath_ = new File(_empty_db_);
    _MainPath_.mkdirs();
    req = copyDb(_upgraded_db, new FileOutputStream(_current_db)) ? 1 : -1;
    }
    } catch (Exception e) {
    throw new Exception(e.getMessage());
    }
    return req;
    }

    private static boolean copyDb(InputStream _inputStream_, OutputStream _outputStream_) {
    int _length_;
    boolean req;
    byte[] _buffer_;
    try {
    _buffer_ = new byte[_inputStream_.available()];
    while ((_length_ = _inputStream_.read(_buffer_)) > 0) {
    _outputStream_.write(_buffer_, 0, _length_);
    }
    req = true;
    _outputStream_.flush();
    _outputStream_.close();
    _inputStream_.close();
    } catch (IOException e) {
    req = false;
    }
    return req;
    }

    private static boolean dbInstalled(String _current_db) {
    SQLiteDatabase db;
    try {
    db = SQLiteDatabase.openDatabase(_current_db, null, 0);
    db.rawQuery("SELECT "+KEY_ID+" FROM "+TABLE_PROFILE, null);
    } catch (SQLiteException e) {
    db = null;
    }
    if (db != null) {
    db.close();
    }
    return db != null;
    }

  7. #7
    کاربر دائمی
    تاریخ عضویت
    آذر 1389
    محل زندگی
    تهران
    پست
    857

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

    نقل قول نوشته شده توسط farhad_shiri_ex مشاهده تاپیک
    خواهش میکنم شما لطف دارید
    فقط چون من از جاوای ۸ استفاده میکنم کلاس هام وابستگی های زیادی دارند مدتی طول میکشه بخوام آماده کنم واینجا قرار بدم. به همین علت فعلا قسمتی که از روی assets فایل دیتابیس را کپی میکنه قرار میدم امیدوارم مفید باشه! در صورتی که نیاز به بخش های دیگه داشتید اطلاع بدید!
    البته قبلش باید یک کلاس از روی کلاس SQLiteOpenHelper اندروید مشتق کنید و الباقی داستان....

    public static final String DB_NAME = "your_db_Name";

    public static int attachedDatabase(Context ctx) throws Exception {
    int req;
    try (InputStream _upgraded_db = ctx.getAssets().open(DB_NAME)){
    String _current_db = ctx.getDatabasePath(DB_NAME).getPath();
    File _DataBaseFile_= new File(_current_db);
    if (_DataBaseFile_.exists() && dbInstalled(_current_db)) {
    ifNeededUpGradeDb(ctx);
    if (sDbOldVersion < sDbNewVersion)
    req = setupScript(ctx, sDbOldVersion, sDbNewVersion) ? 1 : -1;
    else
    req =2 ;
    } else {
    String _empty_db_ = _current_db.substring(1,_current_db.indexOf(DB_NAM E)) ;
    File _MainPath_ = new File(_empty_db_);
    _MainPath_.mkdirs();
    req = copyDb(_upgraded_db, new FileOutputStream(_current_db)) ? 1 : -1;
    }
    } catch (Exception e) {
    throw new Exception(e.getMessage());
    }
    return req;
    }

    private static boolean copyDb(InputStream _inputStream_, OutputStream _outputStream_) {
    int _length_;
    boolean req;
    byte[] _buffer_;
    try {
    _buffer_ = new byte[_inputStream_.available()];
    while ((_length_ = _inputStream_.read(_buffer_)) > 0) {
    _outputStream_.write(_buffer_, 0, _length_);
    }
    req = true;
    _outputStream_.flush();
    _outputStream_.close();
    _inputStream_.close();
    } catch (IOException e) {
    req = false;
    }
    return req;
    }

    private static boolean dbInstalled(String _current_db) {
    SQLiteDatabase db;
    try {
    db = SQLiteDatabase.openDatabase(_current_db, null, 0);
    db.rawQuery("SELECT "+KEY_ID+" FROM "+TABLE_PROFILE, null);
    } catch (SQLiteException e) {
    db = null;
    }
    if (db != null) {
    db.close();
    }
    return db != null;
    }

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

    ممنونم از زمانی که گذاشتید.طلب های خیر برای شما

  8. #8

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

    ممنونم از زمانی که گذاشتید.طلب های خیر برای شما
    احسنت بر این متانت و بزرگواری شما دوست گرامی !
    حتما در اولین فرصت کلاسها را ارسال خواهم کرد

تاپیک های مشابه

  1. پاسخ: 1
    آخرین پست: سه شنبه 22 تیر 1395, 14:16 عصر
  2. پاسخ: 0
    آخرین پست: چهارشنبه 22 اردیبهشت 1395, 01:26 صبح
  3. سوال: تفاوت ساخت دیتا بیس با ویژوال استدیو و اس کیو ال منجمتن استدیو
    نوشته شده توسط hadiyoodream در بخش دسترسی به داده ها (ADO.Net و LINQ و ...)
    پاسخ: 2
    آخرین پست: یک شنبه 25 مرداد 1394, 15:27 عصر
  4. انتقال دیتابیس از اندروید استودیو به داخل فایل apk
    نوشته شده توسط reza_web در بخش Android Studio
    پاسخ: 6
    آخرین پست: جمعه 17 مرداد 1393, 12:29 عصر
  5. پاسخ: 0
    آخرین پست: چهارشنبه 04 اردیبهشت 1392, 13:01 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •