جستجو در انجمن

در حال نمایش نتایج برای برچسب های 'اندروید'.



تنظیمات بیشتر جستجو

  • جستجو بر اساس برچسب

    برچسب ها را با , از یکدیگر جدا نمایید.
  • جستجو بر اساس نویسنده

نوع محتوا


برنامه نویسی اندروید | آموزش برنامه نویسی اندروید | آموزش اندروید

  • اندروید
    • ابزار های برنامه نویسی اندروید
    • آموزش برنامه نویسی اندروید
    • رفع مشکلات و سوالات
    • امنیت در اندروید
    • پروژه های اندروید
  • پشتیبانی اندروید
    • اندروید Lollipop
    • اندروید marshmallow
    • اندروید nougat
    • اندروید Oreo
  • کاتلین (Kotlin)
    • آموزش های برنامه نویسی Kotlin
    • سوالات و رفع مشکلات Kotlin
  • مباحث مرتبط با اندروید
    • ابزارها و سایتهای مفید
    • گرافیک موبایل
    • آموزش های ویدئویی
    • برنامه نویسی جاوا
  • تکنولوژی های اندروید
    • وب موبایل
    • توسعه اندروید با #C
    • توسعه اندروید با Basic4Android
  • متفرقه
    • اپلیکیش های ایرانی
    • برنامه نویسی
    • درخواست همکاری
    • مباحث متفرقه
    • مهارتهای فروش و بازاریابی
  • پشتیبانی محصولات مارکت
    • پرسش و پاسخ مرتبط با مارکت انجمن اندروید ایران
    • پشتیبانی مارکت پروژه های اندروید
    • پشتیبانی مارکت آموزش اندروید
    • پشتیبانی مارکت گرافیک موبایل
  • انجمن اندروید ایران
    • اخبار و اعلانات
    • صندوق پيشنهادات و انتقادات
    • تازه‌های دنیای کامپیوتر و فناوری
    • قوانین انجمن تخصصی اندروید ایران

دسته ها

  • پروژه اندروید
    • سورس پروژه اندروید
    • کامپوننت های اندروید
    • کتابخانه های اندروید
  • آموزش اندروید
    • فیلم آموزشی کاربردی
    • مقالات آموزشی اندروید
  • گرافیک موبایل
    • قالب طراحی اپلیکیشن
  • اپلیکیشن های اندروید
    • کاربردی
    • کسب و کار
    • آموزش
    • کتاب‌ها و منابع
    • ویدئو و رسانه
    • بازی‌

تقویم ها

  • Community Calendar

216 نتیجه پیدا شد

  1. سلام وقت همگی بخیر من یک دیتا بیس دارم حدود 10 هزار ردیف و بیست ستون هست میخواهم از طریق چک باکس مشخص کنم در کدام ستون جستجو کند لطفا در صورت امکان کدنویسی مربوط اتصال به دیتابیس و سایر مواردی که مورد نیاز هست بفرمایید\ من یک تازه کارم متشکرم
  2. سلام خدمت اساتید گرامی . من یه برنامه نوشتن که برای یادگیری لغاته . وقتی کاربر لغتی رو به بخش علاقه مندی اضافه می کنه لغت نمایش داده نمیشه و باید برنامه رو مجدد اجرا کرد تا لغت انتخاب شده به بخش علاقه مندی اضافه/ حذف بشه . همچنین بعد از هر بار اجرا لیست لغات تکرار میشه ( مثلا بار دوم از هر کدوم 2 سری بار سوم از هرکدوم 3 سری و ... ) ایجاد میشه . ممنون میشم راهنماییم کنید . package farmani.com.essentialwordsforielts.mainPage; import android.Manifest; import android.content.Context; import android.content.DialogInterface; import android.content.Intent; import android.content.pm.PackageManager; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.os.Build; import android.os.Environment; import android.support.annotation.NonNull; import android.support.design.widget.NavigationView; import android.support.design.widget.TabLayout; import android.support.v4.app.ActivityCompat; import android.support.v4.content.ContextCompat; import android.support.v4.view.ViewPager; import android.support.v4.widget.DrawerLayout; import android.support.v7.app.AlertDialog; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.Gravity; import android.view.MenuItem; import android.view.View; import android.widget.ImageView; import android.widget.Toast; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.util.ArrayList; import farmani.com.essentialwordsforielts.R; import farmani.com.essentialwordsforielts.search.ActivitySearch; public class MainActivity extends AppCompatActivity { public static Context context; public static ArrayList<Structure> list = new ArrayList<>(); public static ArrayList<Structure> favorite = new ArrayList<>(); DrawerLayout drawerLayout; NavigationView navigationView; ImageView hamburger; SQLiteDatabase database; String destPath; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.navigation_activity_main); if (Build.VERSION.SDK_INT >= 23) { if (ContextCompat.checkSelfPermission(MainActivity.this, Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) { ActivityCompat.requestPermissions(MainActivity.this , new String[]{Manifest.permission.READ_EXTERNAL_STORAGE , Manifest.permission.WRITE_EXTERNAL_STORAGE} , 1); } else if (ContextCompat.checkSelfPermission(MainActivity.this, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) { ActivityCompat.requestPermissions(MainActivity.this , new String[]{Manifest.permission.READ_EXTERNAL_STORAGE , Manifest.permission.WRITE_EXTERNAL_STORAGE} , 1); } else { setupDB(); selectList(); selectFavorite(); Toast.makeText(MainActivity.this, "You grandet earlier", Toast.LENGTH_LONG).show(); } } if (!favorite.isEmpty()){ favorite.clear(); selectFavorite(); } else if (!list.isEmpty()){ list.clear(); selectList(); } context = getApplicationContext(); setTabOption(); drawerLayout = findViewById(R.id.navigation_drawer); navigationView = findViewById(R.id.navigation_view); hamburger = findViewById(R.id.hamburger); hamburger.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { drawerLayout.openDrawer(Gravity.START); } }); navigationView.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener() { @Override public boolean onNavigationItemSelected(@NonNull MenuItem item) { int id = item.getItemId(); if (id == R.id.exit) { AlertDialog.Builder alertDialog = new AlertDialog.Builder( MainActivity.this); alertDialog.setTitle(R.string.exit); alertDialog.setMessage(R.string.exit_ask); alertDialog.setCancelable(false); alertDialog.setPositiveButton(R.string.yes, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { finish(); } }); alertDialog.setNegativeButton(R.string.no, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { dialog.cancel(); } }); alertDialog.show(); } if (id == R.id.search) { Intent intent = new Intent(MainActivity.this, ActivitySearch.class); MainActivity.this.startActivity(intent); } return true; } }); } @Override public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { switch (requestCode) { case 1: { if (grantResults.length >= 2 && grantResults[0] == PackageManager.PERMISSION_GRANTED && grantResults[1] == PackageManager.PERMISSION_GRANTED) { Toast.makeText(MainActivity.this, "Access granted", Toast.LENGTH_LONG).show(); } } } } @Override public void onBackPressed() { if (drawerLayout.isDrawerOpen(Gravity.START)) { drawerLayout.closeDrawer(Gravity.START); } else { AlertDialog.Builder alertDialog = new AlertDialog.Builder( MainActivity.this); alertDialog.setTitle(R.string.exit); alertDialog.setMessage(R.string.exit_ask); alertDialog.setCancelable(false); alertDialog.setPositiveButton(R.string.yes, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { finish(); } }); alertDialog.setNegativeButton(R.string.no, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { dialog.cancel(); } }); alertDialog.show(); } } private void setTabOption() { ViewPager viewPager = findViewById(R.id.viewpager); viewPager.setAdapter(new AdapterFragment(getSupportFragmentManager(), context)); TabLayout tabStrip = findViewById(R.id.tabs); tabStrip.setupWithViewPager(viewPager); } private void setupDB() { try { destPath = Environment.getExternalStorageDirectory().getAbsolutePath() + "/ielts/"; File file = new File(destPath); if (!file.exists()) { file.mkdirs(); file.createNewFile(); CopyDB(getBaseContext().getAssets().open("md_book.db"), new FileOutputStream(destPath + "/md_book.db")); } } catch (IOException e1) { e1.printStackTrace(); } } @Override protected void onResume() { super.onResume(); if (!favorite.isEmpty()){ favorite.clear(); selectFavorite(); } else if (!list.isEmpty()){ list.clear(); selectList(); } } private void CopyDB(InputStream inputStream, OutputStream outputStream) throws IOException { byte[] buffer = new byte[1024]; int length; while ((length = inputStream.read(buffer)) > 0) { outputStream.write(buffer, 0, length); } inputStream.close(); outputStream.close(); } private void selectFavorite() { database = SQLiteDatabase.openOrCreateDatabase(destPath + "/md_book.db", null); Cursor cursor = database.rawQuery("SELECT * FROM main WHERE fav = 1", null); while (cursor.moveToNext()) { String word = cursor.getString(cursor.getColumnIndex("word")); String definition = cursor.getString(cursor.getColumnIndex("definition")); String trans = cursor.getString(cursor.getColumnIndex("trans")); String img = cursor.getString(cursor.getColumnIndex("img")); int id = cursor.getInt(cursor.getColumnIndex("id")); Structure struct = new Structure(word, definition, trans, img, id); struct.setWord(word); struct.setDefinition(definition); struct.setTrans(trans); struct.setImg(img); struct.setId(id); favorite.add(struct); } } private void selectList() { database = SQLiteDatabase.openOrCreateDatabase(destPath + "/md_book.db", null); Cursor cursor = database.rawQuery("SELECT * FROM main", null); while (cursor.moveToNext()) { String word = cursor.getString(cursor.getColumnIndex("word")); String definition = cursor.getString(cursor.getColumnIndex("definition")); String trans = cursor.getString(cursor.getColumnIndex("trans")); String img = cursor.getString(cursor.getColumnIndex("img")); int id = cursor.getInt(cursor.getColumnIndex("id")); Structure struct = new Structure(word, definition, trans, img, id); struct.setWord(word); struct.setDefinition(definition); struct.setTrans(trans); struct.setImg(img); struct.setId(id); list.add(struct); } } }
  3. سلام وقت بخیر من یک آپ میخواهم طراحی کنم که کاربر بتونه ساولش را بپرسه و کاربران جواب بدن و بتونن آن را لایک کنن . پنج قسمت داره مثلا = ریاضی - علوم - فارسی - قران-شیمی روی ریاضی کلیک کنه وارد اون بخش بشه تمام سوالات مطرح شده را ببینه بتونه روش کلیک کنه و جوابها را ببینه و بتونه لایک و خودش بتونه سوال طرح کنه لطفا منو راهنمایی کنید ممنونم
  4. سلام به همه دوستان عزیز من می خواهم در یک صفحه اول برنامه این نمایش داده بشه مثلا سلام صبح بخیر امروز سه شنبه 24 بهمن 1396 اینهای که رنگی کردم بر اساس ساعت و تاریخ به روز گوشی تغیر کند لطفا راهنمایی کنید مرسی از همگی دوستان
  5. سلام بنده در اکتیویتی دوم یدونه تب لایوت انداختم که چهارتا تب داره میخوام وقتی از اکتیویتی اول رفتم به اکتیویتی دوم ی تب خاص رو اول نشون بده مثلا تب دوم ولی همیشه تب اول از سمت چپ که اندیسش صفره رو اول نشون میده گفتن با این کد tableLayout.getTabAt(2); میشه ولی نشد ...راه دیگه ای هست دوستان؟
  6. سلام به همه اساتید گرامی . من یه برنامه کتاب نوشتم که از دیتابیس خارجی استفاده کردم . و چون از API 26 استفاده کردم باید حتما واسه کپی دیتابیس دسترسی بگیره . الان مشکلم اینجاست که بار اول برنامه به محض اجرا کرش میشه ولی صفحه دسترسی همچنان موجوده و پس از تایید و اجرای برنامه دیگه مشکلی نیست و برنامه به درستی اجرا میشه . کد برنامه رو براتون میفرستم ممنون میشم کمکم کنید . package farmani.com.essentialwordsforielts.mainPage; import android.Manifest; import android.content.Context; import android.content.DialogInterface; import android.content.pm.PackageManager; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.os.Build; import android.os.Environment; import android.support.annotation.NonNull; import android.support.design.widget.NavigationView; import android.support.design.widget.TabLayout; import android.support.v4.app.ActivityCompat; import android.support.v4.content.ContextCompat; import android.support.v4.view.ViewPager; import android.support.v4.widget.DrawerLayout; import android.support.v7.app.AlertDialog; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.Gravity; import android.view.MenuItem; import android.view.View; import android.widget.ImageView; import android.widget.Toast; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.util.ArrayList; import farmani.com.essentialwordsforielts.R; public class MainActivity extends AppCompatActivity { public static Context context; DrawerLayout drawerLayout; NavigationView navigationView; ImageView hamburger; SQLiteDatabase database; String destPath; public static ArrayList<Structure> list = new ArrayList<Structure>(); public static ArrayList<Structure> favorite = new ArrayList<Structure>(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.navigation_activity_main); if(Build.VERSION.SDK_INT >= 23){ if(ContextCompat.checkSelfPermission(MainActivity.this, Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED){ ActivityCompat.requestPermissions(MainActivity.this , new String[]{Manifest.permission.READ_EXTERNAL_STORAGE ,Manifest.permission.WRITE_EXTERNAL_STORAGE} , 1); }else if(ContextCompat.checkSelfPermission(MainActivity.this, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED){ ActivityCompat.requestPermissions(MainActivity.this , new String[]{Manifest.permission.READ_EXTERNAL_STORAGE ,Manifest.permission.WRITE_EXTERNAL_STORAGE} , 1); }else { Toast.makeText(MainActivity.this,"You grandet earlier",Toast.LENGTH_LONG).show(); } } try { destPath = Environment.getExternalStorageDirectory().getAbsolutePath() + "/ielts/"; File file = new File(destPath); if (!file.exists()) { file.mkdirs(); file.createNewFile(); CopyDB(getBaseContext().getAssets().open("md_book.db"), new FileOutputStream(destPath + "/md_book.db")); } } catch (IOException e1) { e1.printStackTrace(); } context = getApplicationContext(); setTabOption(); drawerLayout = findViewById(R.id.navigation_drawer); navigationView = findViewById(R.id.navigation_view); hamburger = findViewById(R.id.hamburger); hamburger.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { drawerLayout.openDrawer(Gravity.START); } }); navigationView.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener() { @Override public boolean onNavigationItemSelected(@NonNull MenuItem item) { int id = item.getItemId(); if (id == R.id.exit) { AlertDialog.Builder alertDialog = new AlertDialog.Builder( MainActivity.this); alertDialog.setTitle(R.string.exit); alertDialog.setMessage(R.string.exit_ask); alertDialog.setCancelable(false); alertDialog.setPositiveButton(R.string.yes, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { finish(); } }); alertDialog.setNegativeButton(R.string.no, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { dialog.cancel(); } }); alertDialog.show(); } return true; } }); selectList(); selectFavorite(); } @Override public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { switch (requestCode) { case 1: { if (grantResults.length >= 2 && grantResults[0] == PackageManager.PERMISSION_GRANTED && grantResults[1] == PackageManager.PERMISSION_GRANTED) { Toast.makeText(MainActivity.this, "Access granted", Toast.LENGTH_LONG).show(); } } } } @Override public void onBackPressed() { if (drawerLayout.isDrawerOpen(Gravity.START)) { drawerLayout.closeDrawer(Gravity.START); } else { AlertDialog.Builder alertDialog = new AlertDialog.Builder( MainActivity.this); alertDialog.setTitle(R.string.exit); alertDialog.setMessage(R.string.exit_ask); alertDialog.setCancelable(false); alertDialog.setPositiveButton(R.string.yes, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { finish(); } }); alertDialog.setNegativeButton(R.string.no, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { dialog.cancel(); } }); alertDialog.show(); } } private void setTabOption() { ViewPager viewPager = findViewById(R.id.viewpager); viewPager.setAdapter(new AdapterFragment(getSupportFragmentManager(), context)); TabLayout tabStrip = findViewById(R.id.tabs); tabStrip.setupWithViewPager(viewPager); } private void CopyDB(InputStream inputStream, OutputStream outputStream) throws IOException { byte[] buffer = new byte[1024]; int length; while ((length = inputStream.read(buffer)) > 0) { outputStream.write(buffer, 0, length); } inputStream.close(); outputStream.close(); } private void selectFavorite(){ database = SQLiteDatabase.openOrCreateDatabase(destPath + "/md_book.db", null); Cursor cursor = database.rawQuery("SELECT * FROM main WHERE fav = 1", null); while (cursor.moveToNext()){ String word = cursor.getString(cursor.getColumnIndex("word")); String definition = cursor.getString(cursor.getColumnIndex("definition")); String trans = cursor.getString(cursor.getColumnIndex("trans")); String img = cursor.getString(cursor.getColumnIndex("img")); int id = cursor.getInt(cursor.getColumnIndex("id")); Structure struct = new Structure(word, definition, trans, img, id); struct.setWord(word); struct.setDefinition(definition); struct.setTrans(trans); struct.setImg(img); struct.setId(id); favorite.add(struct); } } private void selectList(){ database = SQLiteDatabase.openOrCreateDatabase(destPath + "/md_book.db", null); Cursor cursor = database.rawQuery("SELECT * FROM main", null); while (cursor.moveToNext()){ String word = cursor.getString(cursor.getColumnIndex("word")); String definition = cursor.getString(cursor.getColumnIndex("definition")); String trans = cursor.getString(cursor.getColumnIndex("trans")); String img = cursor.getString(cursor.getColumnIndex("img")); int id = cursor.getInt(cursor.getColumnIndex("id")); Structure struct = new Structure(word, definition, trans, img, id); struct.setWord(word); struct.setDefinition(definition); struct.setTrans(trans); struct.setImg(img); struct.setId(id); list.add(struct); } } }
  7. سلام دوستان عزیز من با این مشکل روبرو شدم لطفا راهنمایی کنید
  8. سلام برای ارسال عکس به سمت سرور بنده از کتابخونه volley استفاده کردم اگه عکس حجمش زیر 1مگ باشه ارسال میشه مشکلب نداره ولی اگه حجم عکس 1 مگ به بالا باشه برنامه کرش میکنه میاد بیرون من از این تکه کد استفاده کردم دوستان راهنمایی کنید چیکار باید انجام بدم ممنون public String getStringImage(Bitmap bitmap) { Log.i("MyHitesh", "" + bitmap); ByteArrayOutputStream baos = new ByteArrayOutputStream(); bitmap.compress(Bitmap.CompressFormat.JPEG, 100, baos); byte[] b = baos.toByteArray(); String temp = Base64.encodeToString(b, Base64.DEFAULT); bitmap = BitmapFactory.decodeByteArray(b,0,b.length); return temp;
  9. سلام میخواستم بدونم دوستان کسی میدونه چجوری وب ویو رو به عکس تبدیل کنم؟ هر لینکی که توی stackoverflow بود رو باز کردم اما هیچکدوم کار نمیکنه قبلا یبار این کار رو کردم اما متاسفانه کد رو ندارم اون موقع هم خیلی سخت پیدا شد اگر کسی کد مربوطه رو داره بی زحمت قرار بده با تشکر
  10. سلام کسی میدونه چطور باید کدی بزنیم که با intent از ussd استفاده کنیم؟ توضیح اینکه ussd همون کدهایی مثل *141*1# هست. و استادمون ازمون خواسته برنامه ای بنویسیم که باهاش شارژ بخریم
  11. با عرض سلام و وقت بخیر خدمت دوستان عزیز. بنده میخوام از دیتابیس Room استفاده کنم و کد های compile 'android.arch.persistence.room:runtime:1.0.0' annotationProcessor 'android.arch.persistence.room:compiler:1.0.0' رو به gradle ماژول استفاده کردم ولی ارور میده و سینک نمیکنه ,و ارور Failed to resolve 'android.arch.persistence.room:runtime:1.0.0' میده،عکس ارور رو هم قرار دادم. لطفا راهنمایی کنید. پیشاپیش از راهنمایی هاتون سپاس گذارم
  12. با سلام من پروژه google map ساختم و API وsh1 رو دریافت کردم وبدون مشکل روی گوشی release انجام میشه زمانی که generate signed apk انجام میدم میگه به درستی ساخته شد APK(s) generated successfully: اما داخل لوکیشن میرم خالی و فایل apk ساخته نشده پروژه های غیر google map بدون مشکل ساخته میشه لطفا راهنمایی کنید با تشکر
  13. سلام قصد من اینه که از داده های (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(); } }
  14. سلام دوستان . خسته نباشید . من به تازگی تصمیم به یادگیری اندروید گرفتم ولی خب متاسفانه همین اول را به مشکلی خوردم که درست بشو نیست به زبان انگلیسی هم سرچ کردم ولی جایی جواب درستی نبود . مشکل من اینه که همون اولی که اندروید استودیو رو باز میکنم این ارور میاد Error:Failed to find Build Tools revision 26.0.2 پیر شدم سر این . حالا روش هایی که امتحان کردم هم زیاد بوده ولی جواب نبوده مثلا تو stackoverflow گفته بود که برو تو project structure بعد تو properties و اونجا ورژن build tools رو عوض کن . در صورتی که اصلا در project structure من اصلا properties نیست . یک جای دیگه گفته بود که این خط رو به build.gradle اضافه کن درست میشه buildToolsVersion "24.0.0" اضافه کردم و هیچ عملی نکرد باز هم همون ارور وقتی دیدم راهی نداره گفتم باید این فایل رو دانلود کنم چندین جا گشتم و نبود ولی یک جا پیدا کردم دانلود کردم و extract کردم تو پوشه build tools ولی جوابی نبود و همون ارور میومد . الان راه چیه ؟ اگی فایلی هست که شما میدونین بگین تا دانلود کنم
  15. سلام خدمت همه متخصصان و برنامه نویسان محترم من میخواستم بپرسم من به تنهایی قادرم با دانش ابتدایی از زبان جاوا و اندروید استادیو ، پروژه اندرویدی شارژ موبایل و پرداخت قبض به ثورت پرداخت مستقیم و درگاه بانکی انجام بدم اگر جواب مثبت هست موارد مورد نیاز و بیزنس آن را به بنده را بفرمایید. اگر هم جواب منفیست بفرمایید چه کسی میتواند با من همکاری کند و هزینه آن هم مطرح کند ممنون میشوم
  16. با سلام آیا می توان برنامه ای نوشت که memory usage یا cpu usage اپلیکیشن را اندازه بگیرد ؟ کسی می تواند راهنمایی کند؟ با تشکر
  17. سلام، من میخوام تصویر اندروید رو وقتی با کابل اچ دی ام ای به تلویزیون متصل میکنم به صورت عمودی(portrait) و تمام صفحه ببینم، با نرم افزارهای آماده ی موجود اینکار شدنی نبود، لطفا راهنمایی فرمایید.
  18. چگونه می توان در اپلیکیشن اندروید قابلیت آپ دیت اضافه کرد؟
  19. با سلام میخواستم بدون داخل صفحه xml چطوری اعداد به صورت توان دار داخل textview بنویسم
  20. سلام دوستان یدونه EditText گذاشتم با یدونه CheckBox میخوام وقتی تیک چک باکس زده نشد رمز عبور رو موقع تایپ به صورت ستاره*یا نقطه نشون بده و وقتی که تیک چک باکس زده شده همون پسورد به صورت عادی نشان بده
  21. سلام دوستان من یه پروژه درسی دارم باید تا فردا برای استاد بفرستم ، خیلی هم راجبش تحقیق کردم ، یک نرم افزار اندروید باید بنویسم که با زدن یک دکمه شروع به مانیتورینگ حجم دیتای ارسالی و دریافتی از اینترنت کنه ، خب توی اینترنت سورس کد این بخش رو پیدا کردم MainActivity : package com.authorwjf; import android.app.Activity; import android.app.AlertDialog; import android.net.TrafficStats; import android.os.Bundle; import android.os.Handler; import android.widget.TextView; public class Main extends Activity { private Handler mHandler = new Handler(); private long mStartRX = 0; private long mStartTX = 0; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); mStartRX = TrafficStats.getTotalRxBytes(); mStartTX = TrafficStats.getTotalTxBytes(); if (mStartRX == TrafficStats.UNSUPPORTED || mStartTX == TrafficStats.UNSUPPORTED) { AlertDialog.Builder alert = new AlertDialog.Builder(this); alert.setTitle("Uh Oh!"); alert.setMessage("Your device does not support traffic stat monitoring."); alert.show(); } else { mHandler.postDelayed(mRunnable, 1000); } } private final Runnable mRunnable = new Runnable() { public void run() { TextView RX = (TextView)findViewById(R.id.RX); TextView TX = (TextView)findViewById(R.id.TX); long rxBytes = TrafficStats.getTotalRxBytes()- mStartRX; RX.setText(Long.toString(rxBytes/1048576)); long txBytes = TrafficStats.getTotalTxBytes()- mStartTX; TX.setText(Long.toString(txBytes/1048576)); mHandler.postDelayed(mRunnable, 1000); } }; } main.xml : <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:textSize="16sp" android:textStyle="bold" android:gravity="center" android:paddingBottom="20dip" android:text="Traffic Stats Demo" /> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:textSize="14sp" android:textColor="#00ff00" android:gravity="center" android:text="Transmit MB" /> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:textSize="14sp" android:gravity="center" android:text="0" android:id="@+id/TX"/>" <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:textSize="14sp" android:textColor="#ff0000" android:gravity="center" android:text="Receive MB" /> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:textSize="14sp" android:gravity="center" android:text="0" android:id="@+id/RX"/> </LinearLayout> خب این نرم افزار خوب کار میکنه و دیتای ارسالی و دریافتی کل شبکه رو مانیتور میکنه ، اما یک مشکل داره وقتی برنامه رو میبندم و دوباره بازش میکنم کل مقادیر صفر میشه . تحقیق کردم و دیدم که باید از سرویس ها استفاده کنیم که بعد از بسته شدن نرم افزار هم بازم دیتا رو مانیتور کنه . این قسمتش رو نمیدونم که چجوری براش سرویس بنویسم ... ممنون میشم کمکم کنین ، و اینکه اگه سرویس نوشتیم چطور توی statusbar میتونیم با اینکه برنامه بسته هستش مقادیر رو مشاهده کنیم. خواهش میکنم راهنماییم کنین
  22. اندروید استودیو نام محیط یکپارچه‌ی توسعه (IDE) اختصاصی گوگل است که از آن برای ساخت برنامه‌های اندروید استفاده می‌شود. گوگل آخرین نسخه از اندروید استودیو با نام Android Studio 2.3 را در ماه مارس (۲ ماه پیش) سال جاری میلادی عرضه کرده بود. با توجه به جهش شماره‌ی نسخه‌ی جدید به ۳، می‌توان انتظار تغییرات بنیادین در ابزار برنامه‌نویسی گوگل داشت. (شماره‌ی نسخه‌های بتای بیلد جدید اندروید استودیو در ابتدا ۲.۴ بود؛ اما گوگل با توجه به گستردگی تغییرات، تصمیم به افزایش شماره‌ی نسخه گرفت.) تغییرات و ویژگی‌های جدید نسخه‌ی جدید اندروید استودیو از این قرار است: زبان برنامه‌نویسی Kotlin: می‌توانید به صورت هم‌زمان از کدهای Kotlin در کنار کدهای قدیمی اپلیکیشن اندروید خود استفاده کنید. با استفاده از ابزار تبدیل به کار گرفته‌شده در نسخه‌ی جدید (از مسیر Code → Convert Java File to Kotlin File) می‌توان از کدهای Kotlin در پروژه‌های قدیمی استفاده کرد؛ یا از طریق New Project Wizard می‌توان پروژه‌ای کاملا جدید بر مبنای Kotlin آغاز کرد. ویژگی‌های زبان Java 8: برای به‌روزرسانی اپلیکیشن‌های خود به‌منظور پشتیبانی از ابزارهای زبان جدید جاوا 8، کافی است به سادگی سطح سازگاری سورس و تارگت خود را در پنجره‌ی Project Structure به 1.8 افزایش بدهید. Layout Editor: قسمت ComponentTree با قابلیت Drag-and-Drop بهبود یافته و پنل ارور جدید به‌روزرسانی شده است. علاوه بر به‌روزرسانی ConstraintLayout، قابلیت اضافه کردن جداسازها (Barriers) و گروه‌بندی نیز به Layout Editor اضافه شده است. Adaptive Icon Wizard: یکی از قابلیت‌های جدید اندروید O، پشتیبانی از آیکون‌های انطباق‌پذیر (Adaptive) در لانچر است. این قابلیت باعث می‌شود آیکون یک اپلیکیشن هنگام نمایش در دستگاه‌های مختلف اندرویدی ظاهر متفاوتی به خود بگیرد. از طریق Wizard اختصاص داده شده به این قابلیت در نسخه‌ی جدید اندروید استودیو می‌توانید آیکون‌های جدید و قدیمی را به پروژه‌ی خود اضافه کنید و نحوه‌ی نمایش آن‌ها در لانچرهای مختلف را از طریق ابزار Preview مشاهده کنید. برای استفاده از این قابلیت در پروژه‌ی خود روی فولدر /res راست کلیک کنید و سپس به مسیر New → Image Asset → Launcher Icons → Adaptive and Legacy بروید. فونت‌های XML و فونت‌های قابل دانلود: با قابلیت جدید XML fonts preview و ابزار جدید انتخاب فونت، اضافه کردن فونت‌های اختصاصی به اپلیکیشن‌های اندروید O بسیار آسان شده است. در آپدیت جدید همچنین می‌توانید به جای گنجاندن فونت‌ها در فایل APK، آن‌ها را به صورت منابع دانلودی درون اپلیکیشن خود قرار دهید. (کاربران برای استفاده از این ویژگی به Google Play Services ورژن 11.2.63 یا بالاتر احتیاج خواهند داشت.) پشتیبانی از Android Things: در اندروید استودیو ۳ می‌توانید با استفاده از مجموعه‌ای از قالب‌های پیش‌فرض از طریق ویزاردِ New Project یا New Module به توسعه برای پلتفرم Android Things بپردازید. به‌روزرسانی پلتفرم IntelliJ: اIntelliJ 2017.1 با ویژگی‌های جدید از جمله پشتیبانی از بازسازی کدهای Java 8، برجسته‌سازی معنایی کدها، بریک‌پوینت‌های قابل درگ کردن، کنترل‌ورژن بهبودیافته و بسیاری قابلیت‌های جدید دیگر به‌روزرسانی شده است. پشتیبانی از Instant App: با استفاده از ماژول‌تایپ‌های جدید instant app و قابلیت جدید App Links Assistant می‌توانید از Instant App-ها در پروژه‌های خود استفاده کنید. برای این کار می‌توانید از طریق ویزاردِ New Module یا راست-کلیک روی کلاس مربوطه، به مسیر Refactor → Modularize بروید. افزایش سرعت بیلد: با استفاده از ماژول‌های جدید، سرعت اجرای پروژه‌ها بسیار افزایش یافته است. این بهبود به لطف استفاده از پلاگین جدید Android Gradle میسر شده است؛ بنابراین اگر برنامه‌ی شما به API-های پلاگین قدیمی وابسته است، باید قبل از مهاجرت به پلاگین جدید سازگاری برنامه‌ی خود با API-های جدید را تست کنید. برای این کار نسخه‌ی پلاگین درون فایل build.gradle باید به‌روزرسانی شود. ریپازیتوری Google Maven: وابستگی‌های Android Support Library قرار است از این پس خارج از Android SDK Manager و از طریق یک ریپازیتوری جدید با نام Maven در اختیار قرار بگیرند. ساخت، ادغام و مدیریت بیلدهای پیوسته با استفاده از Maven Repository بسیار آسان‌تر از گذشته خواهد بود. (برای استفاده از این منابع، آدرس https://maven.google.com را به فایل build.gradle اپ خود اضافه کنید.) ایمیج‌های سیستمی گوگل‌پلی: ایمیج‌های سیستمی شبیه‌ساز اندروید O از این به بعد شامل Google Play Store نیز می‌شوند. از این پس می‌توانید اپلیکیشن‌های خود را به صورت end-to-end با گوگل‌پلی تست کنید و Google Play services را درست مانند دستگاه‌های فیزیکی، در دستگاه اندروید مجازی (AVD) خود نیز به‌روزرسانی کنید. پشتیبانی از OpenGL ES 3.0 در Android Emulator: علاوه بر بهبودهای قابل توجه در عملکرد گرافیکی OpenGL ES 2.0 در شبیه‌سازهای قدیمی، پشتیبانی از OpenGL ES 3.0 به Android Emulator اضافه شده است. برای استفاده از این ویژگی، کارت گرافیک دستگاهی که اندروید استودیو ۳ روی آن نصب است باید از OpenGL 3.2 پشتیبانی کند. این قابلیت فعلا تنها برای ویندوز و لینوکس عرضه شده است و هنوز برای MacOS در دسترس نیست. App Bug Reporter: برای آسان‌تر شدن فرآیند به دست آوردن گزارش از باگ‌های اپلیکیشن، App Bug Reporter به Android Emulator اضافه شده است. همچنین لینکی برای به‌اشتراک‌گذاری باگ‌های خودِ شبیه‌ساز با تیم اندروید استودیو درون نرم‌افزار در نظر گرفته شده است. (برای این کار به مسیر Emulator Tool Bar → Extended Controls → Help → Emulator Help → File a Bug بروید.) پشتیبانی از پراکسی در اندروید: یک رابط کاربری برای مدیریت تنظیمات پراکسی مورد استفاده توسط امولاتور، به نسخه‌ی جدید اضافه شده است. Android Emulator به صورت پیش‌فرض از تنظیمات پراکسی اندروید استودیو استفاده می‌کند، اما از این پس می‌توانید این تنظیمات را از مسیر Extended Controls → Settings → Proxy تغییر بدهید. کنترل‌های Android Wear در امولاتور اندروید: کنترل‌های چرخشی اندروید ور ۲.۰ به ایمیج سیستمی امولاتور اضافه شده است. از این پس می‌توانید اپلیکیشن‌های اندورید ور خود را که شامل کنترل‌های چرخشی (برای اسکرول کردن) هستند را به‌راحتی در امولاتور اندروید تست کنید. هنگام انتخاب دستگاه اندروید ور در امولاتور، یک پنل برای شبیه‌سازی ورود کنترل‌های چرخشی در قسمت Extended controls به نمایش درمی‌آید. APK Debugging: در صورت داشتن نسخه‌ی قابل دیباگ یک APK، می‌توان به‌راحتی از طریق قابلیت جدید APK Debugging فایل خود را مانیتور، آنالیز و دیباگ کنید. اگر سورس فایل پروژه را نیز در اختیار دارید، می‌توانید با لینک کردن آن به فایل APK، سرعت و دقت فرآیند دیباگ را افزایش دهید. این قابلیت از مسیر File → Profile و سپس انتخاب گزینه‌ی debug APK در دسترس خواهد بود. Layout Inspector: قابلیت گروه‌بندی ویژگی‌ها (Properties) در دسته‌های متداول و اضافه شدن امکان جستجو در View Tree و پنل Properties، از جمله قابلیت‌های جدید Layout Inspector هستند. برای دسترسی به این ویژگی‌ها به مسیر Tools → Android → Layout Inspector بروید. Device File Explorer: دیوایس فایل اکسپلورر که در واقع نسخه‌ی پورت‌شده‌ی DDMS است، به شما این امکان را خواهد داد تا ساختار فایل‌ها و دایرکتوری دستگاه اندرویدی خود را در امولاتور مشاهده کنید. با استفاده از Device File Explorer می‌توان همزمان با تست اپلیکیشن، فایل‌های app data را در اندروید استودیو مشاهده و دستکاری کرد. Android Profiler: ابزارهای مانیتورینگ اندروید استودیو که پیش از این با نام Android Monitor در دسترس بودند، به‌طور کلی از نو نوشته شده و تحت عنوان Android Profiler جایگزین شده‌اند. هنگامی که یک اپلیکیشن را در دستگاه اندرویدی یا امولاتور اجرا می‌کنید، می‌توانید با استفاده از اندروید پروفایلر داده‌های مربوط به مصرف پردازنده، مموری و شبکه را به صورت real-time مانیتور کنید. هر کدام از عملکردهای اپلیکیشن در یک تایم‌لاین جدا به قسمت مربوطه در UI لینک شده است و با کلیک روی آن می‌توانید به جزئیات بیشتری از عملکرد اپلیکیشن خود در آن بخش دسترسی پیدا کنید. بهبودهای APK Analyzer: در نسخه‌ی جدید اندروید استودیو می‌توان با آنالیز فایل‌های زیپ Instant App و AAR-ها، سایز فایل APK نهایی را کاهش داد. APK Analyzer جدید امکان مشاهده‌ی بایت‌کدهای dex کلاس‌ها و متدها را نیز فراهم خواهد کرد. نسخه‌ی جدید اندروید استودیو هنوز در مرحله‌ی آزمایشی قرار دارد؛ اما خبر خوب اینکه می‌توانید همین حالا اندروید استودیو 3 را در کنار نسخه‌ی استیبل نصب، و همزمان مورد استفاده قرار دهید. ساخت اپلیکیشن‌های بهینه شده برای اندروید O، اینستنت اپ‌ها و برنامه‌نویسی به زبان Kotlin، همگی مستلزم استفاده از Android Studio 3 است. نسخه‌ی جدید ابزار توسعه‌ی گوگل را می‌توانید به صورت مستقیم از آدرس developer.android.com/studio برای ویندوز، لینوکس و مک دریافت کنید.
  23. با سلاممن چند تا imageview دارم که وقتی روشون کلیک میکنم دستور info اجرا میشه اینم کدش: public class MainActivity extends Activity { Integer[] cardsArray{101,102,103,104,105,106,201,202,203,204,205,206}; int cardNumber =1; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); iv_11 =(ImageView)findViewById(R.id.iv_11); iv_12 =(ImageView)findViewById(R.id.iv_12); iv_13 =(ImageView)findViewById(R.id.iv_13); iv_14 =(ImageView)findViewById(R.id.iv_14); iv_11.setTag("0"); iv_12.setTag("1"); iv_13.setTag("2"); iv_14.setTag("3"); Collections.shuffle(Arrays.asList(cardsArray)); iv_11.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { theCard = Integer.parseInt((String) v.getTag()); info(iv_11, theCard); } }); iv_12.setOnClickListener(new View.OnClickListener() { @Override public void onClick (View v) { theCard = Integer.parseInt((String) v.getTag()); info(iv_12, theCard); }}); iv_13.setOnClickListener(new View.OnClickListener() { @Override public void onClick (View v) { theCard = Integer.parseInt((String) v.getTag()); info(iv_13, theCard); } }); iv_14.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { theCard = Integer.parseInt((String) v.getTag()); info(iv_14, theCard); } }); private void info(ImageView iv, int card) { if (cardNumber == 1) { firstCard = cardsArray[card]; if (firstCard > 200) { firstCard = firstCard - 100; } cardNumber = 2; iv.setEnabled(false); } else if (cardNumber == 2) { secondCard = cardsArray[card]; if (secondCard > 200) { secondCard = secondCard - 100; } cardNumber = 1; Handler handler = new Handler(); handler.postDelayed(new Runnable() { @Override public void run() { calculate(); } }, 1000); } } وقتی متد info اجرا میشه متغییر های firstcard وsecendcard مقدار هایی رو دریافت میکنن.و اینم دستور if هستش: if (firstCard==secondCard){ } میخواستم بدونم چرا وقتی مقدار firstcard وsecendcard مساوی نیست دستور if اجرا میشه؟؟وقتی روی imageview ها با سرعت کلیک میکنم این اتفاق میفته ولی با کلاس log چک کردم firstcard وsecendcard مقدارشون متفاوت بود.
  24. با سلام برنامه نوشتم که از کاربر می خواهد لیستی از عکسها را وارد کند و در imageview نمایش دهد، حالا می خواهم عکسهایی که کاربر وارد کرده آدرس آن را به جای خود عکس در پایگاه داده ذخیره کنم باید چه کار کنم؟
  25. سلام من یه برنامه دارم میسازم که یه سری عکس از سرور دانلود میشه و در مسیر /data/data/pachagename/image/ ذخیره میشه بعد میخوام به وسیله عکسارو به وسیله این کد نمایش بدم int imageResId = context.getResources().getIdentifier( resName, "drawable", context.getPackageName()); imgView.setImageResource(imageResId); اما نمیدونم به جای drawable چی بنویسم لطفا راهنمایی کنید