Milad_Af4

توسعه دهنده اندروید
  • تعداد ارسال ها

    13
  • تاریخ عضویت

  • آخرین بازدید

اعتبار در انجمن

0 Neutral

درباره Milad_Af4

  • درجه
    Member
  1. سلام قصد من اینه که از داده های (String) دریافتی از کاربر یک فایل PDF تهیه نموده و تقدیم ایشون کنم! الان با iText این کار انجام میشه ولی فقط حروف لاتین رو نمایش میده و حروف فارسی تو فایل پی دی اف ناپدید میشن. سرچ زدم گفتن از یک فونت مثل Tahoma یا Niloofar استفاده کن ، فونت اِعمال میشه ولی باز هم متن فارسی قابل نمایش نیست! ممنون میشم اگه کسی با این iTextPdf کار کرده بنده رو راهنمایی کنه تا کار ما هم راه بیوفته ♥ -- ورژن لایبرری : itextpdf-5.3.3 -- کد ها : public class ActivityPdfMaker extends AppCompatActivity { private Note note; private PdfWriter pWriter; private BaseFont mBaseFont; Button make; private String stringNote ,stringFileName ,stringTitle ,stringSubject ,stringKeywords ,stringAuthor ,stringCreator; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_pdf_maker); URL font_path = Thread.currentThread().getContextClassLoader().getResource("niloofar.ttf"); String fPath = String.valueOf(font_path); try { mBaseFont = BaseFont.createFont(fPath,"UTF-8",BaseFont.EMBEDDED); } catch (DocumentException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } make = (Button) findViewById(R.id.make); make.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { try { makePdf(); } catch (IOException e) { e.printStackTrace(); } } }); } private void makePdf() throws IOException { String FILE = Environment.getExternalStorageDirectory().toString()+ "/PDF/" +stringFileName+".pdf"; Document document = new Document(PageSize.A4); String root = Environment.getExternalStorageDirectory().toString(); File myDir = new File(root + "/PDF"); myDir.mkdirs(); try { pWriter = PdfWriter.getInstance(document, new FileOutputStream(FILE)); document.open(); document.addTitle(stringTitle); document.addSubject(stringSubject); document.addKeywords(stringKeywords); document.addAuthor(stringAuthor); document.addCreator(stringCreator); addTitlePage(document); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (DocumentException e) { // TODO Auto-generated catch block e.printStackTrace(); } document.close(); Toast.makeText(this, "فایل شما تهیه شد : " + FILE, Toast.LENGTH_LONG).show(); } public void addTitlePage(Document document) throws DocumentException { Font catFont = new Font(mBaseFont, 18, Font.BOLD, BaseColor.BLACK); Font titleFont = new Font(mBaseFont, 22, Font.BOLD | Font.UNDERLINE, BaseColor.GRAY); Font smallBold = new Font(mBaseFont, 12, Font.BOLD); Font normal = new Font(mBaseFont, 12, Font.NORMAL); Paragraph prHead = new Paragraph(); prHead.setFont(titleFont); prHead.add(stringFileName+"\n"); PdfPTable myTable = new PdfPTable(1); myTable.setWidthPercentage(100.0f); PdfPCell myCell = new PdfPCell(new Paragraph("")); myCell.setBorder(Rectangle.BOTTOM); myTable.addCell(myCell); prHead.setFont(catFont); prHead.add("\n"+stringSubject+"\n"); prHead.setAlignment(Element.ALIGN_CENTER); document.add(prHead); document.add(myTable); document.add(myTable); Paragraph prPersinalInfo = new Paragraph(); prPersinalInfo.setFont(smallBold); prPersinalInfo.add("\n"+stringNote+"\n"); prPersinalInfo.setAlignment(Element.ALIGN_CENTER); document.add(prPersinalInfo); document.add(myTable); document.add(myTable); Paragraph prProfile = new Paragraph(); prProfile.setFont(smallBold); prProfile.add("\n \n Profile : \n "); prProfile.setFont(normal); prProfile.add("\n"+"Author: "+stringAuthor+"\n"+"Creator: "+stringCreator); prProfile.setFont(smallBold); document.add(prProfile); document.newPage(); } }
  2. عرض سلام و خسته نباشید; آیا امکانش هست که به هرکدوم از آیتم های یک Spinner یک فونت جداگونه بدیم؟ (Android Studio) Spinner واسه معرفی و انتخابِ فونت هست،مثلا فونتِ آیتم اول Tahoma باشه , فونت آیتم دوم Arial و الی آخر...
  3. درود بر شما من هم این مشکل شما رو داشتم. هاست و سروری که استفاده میکردم از این رایگانها بود!(صرفاً بخاطر تمرین)،از یک هاست درست درمون استفاده کردم مشکل حل شد
  4. درود بر شما کد انتخاب تصویر: @Override public void onClick(View v) { Intent i = new Intent(Intent.ACTION_PICK,android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI); i.putExtra("scale", true); i.putExtra("outputX", 32); i.putExtra("outputY", 32); i.putExtra("aspectX", 1); i.putExtra("aspectY", 1); i.putExtra("return-data", true); startActivityForResult(i, REQUEST_PICTURE); } تبدیل به رشته: @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); switch (requestCode){ case REQUEST_PICTURE:{ if (resultCode == RESULT_OK){ uriPicture = data.getData(); galleryPicture.setImageBitmap(BitmapFactory.decodeFile(retrieveImagePath())); } } break; } } private String retrieveImagePath(){ String picPath=null; String[] filePathColumn = { MediaStore.Images.Media.DATA }; Cursor cursor = getContentResolver().query(uriPicture,filePathColumn, null, null, null); cursor.moveToFirst(); int columnIndex = cursor.getColumnIndex(filePathColumn[0]); if (cursor.moveToFirst()) { pictureId=cursor.getString(cursor.getColumnIndex(MediaStore.Images.Media.DATA)); picPath=cursor.getString(columnIndex); } cursor.close(); return picPath; } galery.setPath(retrieveImagePath); نمایش در ImageView واقع در Recycler: holder.galleryPic.setImageBitmap(BitmapFactory.decodeFile(gallery.getPath()));
  5. سلام من عکس رو از گالری میگیرم و آدرسِ اونو ذخیره میکنم تووی دیتابیس ، و نهایتاً با یک BitMap اونو میخونم و با ریسایکلرویو نمایش میدم. مشکل اینه که وقتی تعدادِ تصاویر بیشتر از 2 یا 3 تصویر میشه،برنامه به طرز عجیبی سنگین میشه! برنامه به هیچ وجه کرش نیمشه و کماکان درحال اجرا هست،فقط رم میخواد بترکه! این مشکلو چطور میتونم رفع کنم؟ با تشکر
  6. درود بر شما ممنون از آموزشتون ، من دوتا سؤال برام پیش اومده: 1- محل مربوطه دقیقاً ینی کدوم محل؟ من میخوام توی لیست ویو ی سری اطلاعات رو بخونم. 2-با Volley میشه یک فایل صوتی رو به صورت آنلاین اجراکرد؟
  7. عرض سلام و خسته نباشید آیا راهی هست که بتونیم یک سرویس رو همزمان با جرا یا Launch شدن یک برنامه یا بازی (مثلاً اینستاگرام یا کلش اف کلنز و...) اجرا کرد؛و با بسته شدنِ برنامه ی مورد نظر اون سرویس رو Pause کنیم؟ اگر این کار ممکن هست لطفاً راهنمایی بفرمایید که چطور انجامش بدم.ممنون
  8. تشکر میکنم بابت راهنماییتون ، با یه خورده تغییر راه افتاد بالأخره از پیشنهادتون هم بهره بردم و از همین روشِ خودتون استفاده کردم ؛ موفق باشید.
  9. سلام ،من که نتونستم متاسفانه ممنون میشم اگر کد بگذارید.
  10. سلام دوستان وقتتون بخیر؛ بنده یک لیست ویو دارم از نوع Expandable ،دارای 4 گروه،وهرگروه دارای 5 آیتم ؛ قراره هر آیتمی که انتخاب میشه ، لایوت مخصوصِ همون آیتم در اکتیویتیِ دوم لود شه. متد onClick اینطور تعریف شده: [align=center][/align] و داخل اکتیویتیِ دوم هم از Switch استفاده کردم،به این شکل : (فعلاً بخاطر این مشکل تا همین جا رو پیش رفتم) [align=center][/align] منتها case فقط مقدارِ مربوط به childPosition رو میگیره،و نتیجتاً اولین آیتمِ" همه گروه ها " رو به لایه ی lay_1.xml ارجاع میده! به نظر شما از چه راهی برم که بتونم هر دو مقدار child و group رو تعیین کنم؟ پیشاپیش از لطفتون سپاسگذارم ♥
  11. درود دوباره. 1- در زمینه کد نویسی اطلاعی ندارم (بنده بیشتربا گرافیک سر و کار دارم) ، ولی فکر نمیکنم برای کاری که شما قصد انجامش رو دارید نیازی به کد نویسی باشه. مثلاً اگر در پنل تنظیمات ، از کاربر بخواید زبان برنامه رو انتخاب کنه ، نیاز دارید تا از یک سری توابع استفاده کنید.. این صفحه رو مطالعه کنید؛ 2- لزومی نداره رنگ ها تغییر داده بشن! 3-فولدر velues (بدون پسوند) به عنوان زبانِ پیشفرض انتخاب میشه که شما میتونید از مقادیر مربوط به زبان انگلیسی استفاده کنید و در این صورت نیازی به فولدر velues-en ندارید.
  12. درود بر شما برای این کار باید با Language ISO Code ها آشنایی داشته باشیم،مثلاً کد زبان فارسی fa ، انگلیسی en و عربی ar هست. و بعد به برنامه این دستور را بدیم که به محض تغییر زبانِ دستگاه، از منابعِ مرتبط با اون زبان استفاده کنه؛ یعنی باید منابعی متناسب با همون زبان یا زبان های مورد نظر ، داخل فولدر res ایجاد کنیم. به عنوان مثال: drawable-fa drawable-en drawable-ar و values-fa values-en values-ar که تصاویرمون رو میتونیم داخل فولدرهای drawable و متن ها و اسم ها رو داخل فولدر های values وارد کنیم. پس برنامه ما به سه زبانِ فارسی،انگلیسی و عربی قابل اجرا خواهد بود! (فکر کنم به این کار بومی سازی هم میگن).
  13. سلام ؛ فراموش نکنید وقتی از یک عکس به عنوان بکگراند استفاده میکنیم،باید از همون عکس با همان نام، اما با سایز های مربوط به دستگاه های مختلف،توی فولدر های مثلاً: drawable-ldpi برای دستگاه های با صفحه نمایش بزرگ، یا drawable-xxhdpi و...غیره... استفاده کنیم،تا به اصطلاح برای تمامِ دستگاههای مورد استفاده بهینه بشه.