4 ارسال در این موضوع قرار دارد

سلام

چطوری یه عکس رو داخل دیتابیس ذخیره کنم؟

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


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
در 33 دقیقه قبل، soroush_habibi گفته است :

سلام

چطوری یه عکس رو داخل دیتابیس ذخیره کنم؟

باید بصورت blob ذخیره کنید تصویر رو توی دیتابیس sqlite اندروید

 

public class DatabaseHelper extends SQLiteOpenHelper {
    // Database Version
    private static final int DATABASE_VERSION = 1;

    // Database Name
    private static final String DATABASE_NAME = "database_name";

    // Table Names
    private static final String DB_TABLE = "table_image";

    // column names
    private static final String KEY_NAME = "image_name";
    private static final String KEY_IMAGE = "image_data";

    // Table create statement
    private static final String CREATE_TABLE_IMAGE = "CREATE TABLE " + DB_TABLE + "("+ 
                       KEY_NAME + " TEXT," + 
                       KEY_IMAGE + " BLOB);";

    public DatabaseHelper(Context context) {
        super(context, DATABASE_NAME, null, DATABASE_VERSION);
    }

    @Override
    public void onCreate(SQLiteDatabase db) {

        // creating table
        db.execSQL(CREATE_TABLE_IMAGE);
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        // on upgrade drop older tables
        db.execSQL("DROP TABLE IF EXISTS " + DB_TABLE);

        // create new table
        onCreate(db);
    }
}

و ذخیره تصویر :

public void addEntry( String name, byte[] image) throws SQLiteException{
    SQLiteDatabase database = this.getWritableDatabase();
    ContentValues cv = new  ContentValues();
    cv.put(KEY_NAME,    name);
    cv.put(KEY_IMAGE,   image);
    database.insert( DB_TABLE, null, cv );
}

بازیابی تصویر:

 byte[] image = cursor.getBlob(1);

 

 

این کلاس هم میتواند به شما میتواند کمک کند

public class DbBitmapUtility {

    // convert from bitmap to byte array
    public static byte[] getBytes(Bitmap bitmap) {
        ByteArrayOutputStream stream = new ByteArrayOutputStream();
        bitmap.compress(CompressFormat.PNG, 0, stream);
        return stream.toByteArray();
    }

    // convert from byte array to bitmap
    public static Bitmap getImage(byte[] image) {
        return BitmapFactory.decodeByteArray(image, 0, image.length);
    }
}

 

1 کاربر پسند دیده است

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


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

چطوری یه متغیر byte رو به imageview ست کنم؟

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


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
در 6 ساعت قبل، soroush_habibi گفته است :

چطوری یه متغیر byte رو به imageview ست کنم؟

     Bitmap bitmap = BitmapFactory.decodeByteArray(data, 0, data.length);
        view.setImageBitmap(bitmap);

 

1 کاربر پسند دیده است

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


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

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

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


ورود به حساب کاربری

  • مطالب مشابه

    • توسط parsdc
      سلام به همه دوستان
      زمانی که سرچ میکنیم در دیتابیس sqlite در لیست نام فارسی، متاسفانه حروف گ چ پ ژ ک بدون ترتیب حروف برمیگردونه، در این مورد تحقیق ها و تست های زیادی کردم، و متوجه شدم کد اسکی این حروف از نظر عددی  نظم ترتیبی ندارد
      لیست حروف فارسی با کد اسکی رو ببینید
      192    ہ
      193    ء
      194    آ
      195    أ
      196    ؤ
      197    إ
      198    ئ
      199    ا
      200    ب
      201    ة
      202    ت
      203    ث
      204    ج
      205    ح
      206    خ
      207    د
      208    ذ
      209    ر
      210    ز
      211    س
      212    ش
      213    ص
      214    ض
      215    ×
      216    ط
      217    ظ
      218    ع
      219    غ
      220    ـ
      221    ف
      222    ق
      223    ك
      224    à
      225    ل
      226    â
      227    م
      228    ن
      229    ه
      230    و
       
      236    ى
      237    ي
       
      129    پ
      141    چ
      142    ژ
      152    ک
      144    گ

      حرف ک عربی 223 هست در جای خودش هست اما ک فارسی 152 هست از عدد حرف آ هم کمتر هست و در سرچ بالاتر از آ قرار میگیره
      سایر حروف مشکل دار هم به همین شکل پ چ ژ ک گ
      کد های utf8 هم بررسی کردم و این مشکل رو داره، واقعا نمیدونم ماکروسافت چیکار کرده که در دیتابیس های اون این مشکل وجود نداره، شما راه حلی اصولی براش نمیشناسید؟
    • توسط Javad Mahmoodi
      سلام
      من میخوام تمام اطلاعات ذخیره شده در برنامه ام را که در sqlite هست رو با زدن دکمه ارسال و بصورت یکجا به دیتابیس sql server ارسال کنم.
      کانکشن رو بین برنامم و sql server  که توسط کتابخانه jdbc هست ایجاد کردم.
      الان مشکلم این هست که چجوری تمام اطلاعات رو مستقیم و فقط با زدن دکمه ارسال به sql server ارسال کنم.
      ممنون میشم راهنمایی فرمایید(ترجیحاً با کد)
    • توسط h.a.m.i.d
      سلام دوستان وقت بخیر ، من دارم یه اپلیکشن آماده می کنم که ارتباط با سرور داره
      داخل هاست من یه یه دیتابیس دارم که اینجا تیبل  users مد نظرم هست، داخل این جدول من چهار ستون دارم که عبارتند از ID,username,pass,date
      date زمان عضوت کاربر به صورت خودکار پر میشه
      حالا سوال اینجاست که من یه بخش پروفایل داخل مین اکتیوتیم دارم که میخوام داخلش تاریخ عضویت کاربر نشون داده بشه، روال به اینصورت هست که داخل اپ یوزنیم و پس رو از شیردپرفرینس میگیره میفرسته به سمت سرور و داخل فایل php اطلاعات دریافت میشه و ستون تاریخ متناظر با اون اطلاعات کاربری دوباره ارسال میشه به سمت اندروید و محتوای تکست ویو مورد نظر رو میسازه ، ولی من تو دریافت اطلاعات از php داخل اپلیکیشن و نوشتن کدها به مشکل خوردم اگه ممکنه برنامه و یا کدهای  php رو برام اصلاح کنید ممنونم.
      برنامه سمت اندروید:
      private void ShowProfile(){ profile = new MaterialDialog.Builder(MainActivity.this) .customView(R.layout.alert_aprofile,false) .show(); AsyncHttpPost post = new AsyncHttpPost( "http://****************profile.php" ); post.setTimeout(5000); MultipartFormDataBody body = new MultipartFormDataBody(); body.addStringPart("Username",sp.getString("Username", null)); body.addStringPart("Pass",sp.getString("Pass", null)); post.setBody(body); AsyncHttpClient.getDefaultInstance().executeString(post, new AsyncHttpClient.StringCallback() { @Override public void onCompleted(final Exception e, AsyncHttpResponse source, final String result) { if (e != null) { MainActivity.this.runOnUiThread(new Runnable() { @Override public void run() { wait.dismiss(); Toast.makeText(MainActivity.this, "no connection", Toast.LENGTH_LONG).show(); e.printStackTrace(); } }); } if (!result.equals("")) { MainActivity.this.runOnUiThread(new Runnable() { @Override public void run() { items.clone(); try { JSONArray jsonArray = new JSONArray(result); for (int i = 0; i < jsonArray.length(); i++) { JSONObject object = jsonArray.getJSONObject(i); HashMap<String, Object> hash_add = new HashMap<String, Object>(); hash_add.put("Date", object.getString("Date")); hash_all.add(hash_add); items = new String[hash_all.size()]; } } catch (Exception e) { e.printStackTrace(); } } }); } } }); کدهای php :
      function get(){ $connection = connectToDatabase(); $Username = $_REQUEST['Username']; $Pass = $_REQUEST['Pass']; if($Username!="" && $Pass!=""){ $result = mysqli_query($connection,"select Date from users where Username='$Username' and Pass='$Pass'"); $array_finish = array(); while($row = mysqli_fetch_array($result)){ $record = array(); $record['Date'] = $row['Date']; $array_finish[] = $record ; } echo json_encode($array_finish); }else { print "null"; } mysqli_close($connection); } می دونم که سمت اندروید برنامه م کامل نیست پس اگه راهی هست راهنماییم کنید کدهای متناسب با این php رو داخل اندروید بنویسم.
      ممنونم
       
    • توسط takin
      سلام 
      داشتم یه بازی آنلاین چهار نفره میساختم که به مشکل بر خودم 
      داخل بازی ازین قراره که هرکس میتونه به چهار جهت بالا پایین حرکت کنه و شلیک کنه 
      توضیحات بیشتر درمورد بازی
      ما دو آبجکت داریم  (گلوله) (پلیر)
      x و y متغیر محور مکان آبجکت که با کلید ها تغییر میکنه .
      با گزینه اسپیس ابجکت گلوله به وجود میاد با مختصات همون آبجکتی که شلیک کرده 
      مشکل
      مشکلم تو ارسال اطلاعات برای بقیست
      مشکل اصلیم ارسال زمان شلیکه 
      نظر خودم
      به نظرم یه جدول در mysql درست کنم که هر شخص محور های x و y داخل اون بفرسته هر لحضه
      یه جدول دیگه درست کنم که هروقت شلیک کرد سه تا تب به اسم سه بازیکن دیگه بسازه که هرکدوم از سه نفر اطلاعاتشو دریافت کرد اون تبی که با آیدیشه پاک بشه
      به نظرم کار میکنه اما دنبال یه روش درستم 
       
       
    • توسط jonoob
      سلام به همگی
      من دو تیبل دارم به نامهای
       id+start+end=data1
      id+id data1+name+price=data2
      در بالا نام تیبل و فیلدها را نوشتم
      همینطور که در فیلدها میبینید در تیبل دو ای دی تیبل یک هم نوشته شده میخواهم وقتی مثلا ایدی یک تیبل یک فراخوانی بشه اطلاعاتی که در تیبل دو هست و ای دی دیتاش یکی هست هم نمایش داده بشه
      متشکرم

  • دوره آموزشی اندروید آموزش ویدئویی اندروید سورس اندروید دوره اندروید آموزش Kotlin آموزش برنامه نویسی ios مهارت های فروش طراحی اپلیکیشن Kurdina Music Android Framework
  • فایل