آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
مشکل عدم دسترسی خریداران پیشین به برخی آموزش ها برطرف شد
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

ارسال و دریافت emoji (شکلک ها)

احمد  7 سال پیش  7 سال پیش
+1 0

سلام دوستان من متنی دارم مثلا 

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

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

+5 0
سلام سوالتون برام جالب بود و کمی تحقیق کردم میگن نمیشه مگه اینکه بتوین یونیکدشون رو بیابین و این لینک شاید بتونه کمکی کنه لینک موفق باشین جوابشو پیدا کردین به ما هم بگین (7 سال پیش)
+1 0
یه راه داره که زیاد جالب نیست. شما یه کد رو در نظر می گیری. مثلا FT#$%j (یه کد الکی). حالا هر جای متن که خواستید یه شکلک نمایش داده این کد رو میزارید. حالا باید توی برنامه چک کنید که اگه همچین کدی وجود داشت بجاش شکلک نمایش داده بشه (باید شکلک ها توی برنامه تون باشه). (7 سال پیش)
 برای این سوال 3 پاسخ وجود دارد.
پاسخ به سوال 
silent scream  7 سال پیش
+4 0

درود دوست عزیز، با ریختن این متن داخل دیتابیس یونیکد اشکال در دیتابیس ذخیره میشه حالا فقط باید سمت اندروید این یونیکد را باز به اشکال تبدیل کرده و نمایش دهید.

 

??? unicode = U+1F60A
String emoji = getEmijoByUnicode(unicode);
String text ="So happy ";
textview.setText(text + emoji);

 

+1 0
میشه بیشتر توضیح بدی اگه میشه یه نمونه کد کوچولو (7 سال پیش)
0 0
ببین دوست عزیز اگر متن را به صورت یونیکد بخوانی و ذخیره کنی پس همراه خودش یونیکد اشکال هم داره و در هنگام نمایش در textbox اون اشکال اموجی هم نمایش داده خواهند شد حالا اگر بخواهی خودت این اشکال را اضافه کنی باید یونیکد این اشکال را به متن اضافه کنی لیست کامل را در یه کامنت جدید برای استفاده قرار میدم. (7 سال پیش)
0 0
در این لینک لیست را پیدا کردم و در نتیجه خودم دیگه زحمت ش را نکشیدم :)))))) لینک (7 سال پیش)
پاسخ به سوال 
Rabbit  7 سال پیش
+2 0

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

 tv=(TextView)findViewById(R.id.textView1);
Typeface font= Typeface.createFromAsset(getAssets(), "TAU_BHON.TTF");
tv.setTypeface(font);

البته اینجوری نمیتونیم هر شکلک رو دقیقا همونجوری که بود نشون بدیم. مثلا توی تلگرام خنده یه شکلیه، توی واتس‌اپ یه شکل دیگه. به اینصورت احتمالا به ساده‌ترین شکل ممکن نمایش داده بشه.

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

لیست شکلک‌ها و کدهاشون

این کتابخونه هم یک کیبورد آماده ایموجی درست میکنه و نمایش میده. ببینید چطور داره شکلک‌ها رو نشون میده شاید بهتون کمک کنه. منم سورس کدهاشو نگاه میکنم اگر چیزی متوجه شدم بهتون میگم.

خودِ تلگرام هم سورسش موجوده نگاه کنید ببینید چطور یونیکدهارو بصورت شکلک نمایش میده.

0 0
سورس تلگرام گرفتم ولی یه چیر عجیب شکلک های پیش فرضش عکس png هستش (7 سال پیش)
+1 0
آره خب حتما با استفاده از تگ Html توی TextView عکس ها رو نمایش میدن. (7 سال پیش)
+1 0
آره دیگه شما ببینید لینک هم یکسری عکس png هست. کلا یا باید خود عکس‌ها باشه یا اینکه عکس‌ها رو بصورت فونت دربیاره و نشون بده. احتمالا اینجوریه که داخل متن ها هرکجا به یونیکد مربوط به یک شکلک بر میخوره جاش عکس اون رو قرار میده. (7 سال پیش)
0 0
نکته جالب اینه تمام شکلک های گروه بندی های تلگرام هر کدوم یک فایل png و در کنار همه Rabbit جان من یه پیام برات فرستادم (7 سال پیش)
+1 0
بله اگر بخواهید از شکلک های متفاوت با شکلک های اندروید برای هر یونیکد استفاده کنید نیاز به فایل png خواهید داشت و همین طور برای نمایش شکلک های بزرگ (7 سال پیش)
0 0
داداش روبیت صفحه کلیدش نمیاد . خب تلگرام چطوری یه عکس کاملو تیکه تیکه می کنه (7 سال پیش)
0 0
میدونه کودوم قسمت هرعکس به چه شکلکی اختصاص داره و اون قسمت رو crop میکنه. (7 سال پیش)
پاسخ به سوال 
Criss  7 سال پیش
+3 0

منم امروز نیاز پیدا کردم و همین مشکل رو داشتم بصورت زیر حل شد : ایموجی ها معمولا از سه بایت ایجاد شده اند. و UTF-8 از دو بایت. بنابر این باید نوع کارکترها رو ۴ بایتی تعریف کنیم

فیلد دیتابیس رو utf8mb4 کنید

هدر PHP رو بصورت زیر تغییر بدید

   header('Content-Type: text/html; charset=utf8mb4');
 

کوئری رو روی دیتابیس رو بصورت ست متد بزنید

   mysqli_set_charset($connection, 'utf8mb4');
 
 
 

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .