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

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



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

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

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

نوع محتوا


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

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

دسته ها

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

تقویم ها

  • Community Calendar

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

  1. جهت ساخت اپلیکیشنی برای انداوید جهت ارتباط با ماشین آلات از طریق درگاه بلوتوپ و وای فای به یک برنامه نویس اندروید نیاز داریم. سرعت ، دقت و تعهد در انجام کار ضروری می باشد. سورس برنامه نیز باید قابل ارائه باشد. محل پروژه اصفهان 09360107546
  2. سلام امروز میخوایم کار با کتابخونه volley رو با هم یاد بگیریم.با افزودن این کتابخونه میتونید ارتباط با کد php که در سرورتون نوشتید رو سریع تر و آسون تر کنید. به این صورت که اول با این کد به پروژه خودتون اضافش کنید. compile 'com.mcxiaoke.volley:library:1.0.19' اگه مشکلی در اضافه کردن این کتابخونه دارید کلیک کنید. خب بریم سراغ کد نویسی کد های زیرو بذارید اونجایی که قراره ارتباط بر قرار شه RequestQueue queue= Volley.newRequestQueue(this); StringRequest myRequest=new StringRequest(Request.Method.POST, "My link", new Response.Listener<String>() { @Override public void onResponse(String response) { Toast.makeText(LogReg.this, response, Toast.LENGTH_SHORT).show(); } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { Toast.makeText(LogReg.this, "خطا در ارتباط با سرور", Toast.LENGTH_SHORT).show(); } }) { @Override protected Map<String, String> getParams() throws AuthFailureError { Map<String , String> params = new HashMap<>(); params.put("username", "My Username"); params.put("password","My Password"); return params; } }; queue.add(myRequest); توضیحات: اولا که اونجایی که نوشتم Request.Method.POST در حقیقت داریم متد ارسال اطلاعات به فایل رابطمون رو تعیین میکنیم.قسمت mylink هم لینک فایل رو قرار میدید.تابع onResponse در صورت موفقیت آمیز بودن اجرا میشه و متن بازگشتی داخل متغیر response هست همچنین در صورتی که مشکل باشه تابع onErrorResponse اجرا میشه که با دستور error.tostring() به متن خطا دسترسی خواهید داشت.دو کد params.put هم مقادیرو ارسال میکنن(پارامتر اول اسم متغیر و دومی هم مقدار) و کد آخر هم در حقیقت درخواست ما که اسمش myRequest هستو تو صف ارسال (queue) قرار میده. تمام
  3. با سلام خدمت همه ی دوستان و اساتید گرامی دوستان ! من مدتی هست شروع به یاد گیری برنامه نویسی اندروید کردم . الان دارم از روی یک کتاب برنامه نویسی اندروید رو یاد می گیرم. اما واقعا یادگیری برنامه نویسی اندروید از روی کتاب خیلی سخته. تصمیم دارم در یک دوره مجازی شرکت کنم. اصلا برام مهم نیست نقدی باشه یا رایگان . برام مهمه که جامع باشه ، مطالبش به روز باشه و بعد از دوره من رو برای بازار کار آماده کنه. خیلی از دوره ها رو دیدم اما واقعا نمی دونم کدوم رو انتخاب کنم. کسی هست من رو راهنمایی کنه که کدوم دوره رو خریداری کنم ؟ با تشکر ...
  4. سلام من میخوام یا برنامه تبدیل واحد بنویسم. چجوری میشه برای edittext تعریف کرد که فقط عدد میشه وارد کرد و علامت منفی هم فقط یکبار قابل استفاده اونم اوله عدد؟ کد زیر رو استفاده کردم اما مشکلش اینه که منفی رو همه جا و به هر تعداد میشه درج کرد و همینطور ممیز هم نامحدود میشه استفاده کرد . کسی راه حلی داره؟ <EditText android:id="@+id/myNumber" android:digits="0123456789." android:inputType="numberDecimal"
  5. سلام وقتی با شماره تلفن یا ایمیل توی یه برنامه لاگین میکنن برای دفعات بعد از کجا باید فهمید که کاربر لاگین کرده یا نه تقریبا بلدم چیکار کنم ولی به نظرم امنیت نداره راه امنش چیه؟
  6. آیا تا به حال شده که بعد از ارائه اپلیکشن پیغامهایی از طرف کاربران دریافت کنید که ناشی از بسته شدن اپ در حین کار باشه؟ در اینگونه مواقع علاوه بر زمانبر بودن پیدا کردن خطا، شاهد ریزش شدید کاربران اپ خواهید بود. پس بهتر است قبل از ارائه اپ در بازار یا Google Play تمهیداتی را برای اطلاع از پیغامهای احتمالی در نظر بگیرید. یکی از ابزارهای بسیار مفید استفاده کردن از کتبخانه هایی هست مه برای انجام این کار در نظر گرفته شده است، به عنوان مثال کتابخانه ACRA این کار را با ارسال ایمیل برای شما به راحتی انجام میدهد. استفاده کردن از این کتابخانه بسیار راحت هست. در قدم اول باید کتابخانه ACRA را به عنوان dependency به build.gradle اضافه کنید: compile 'ch.acra:acra:4.9.2' در قدم بعدی کلاس Application را بسازید و متدهای مربوطه برای ACRA را در آن پیاده سازی کنید: @ReportsCrashes( formUri = "", mailTo = "yourmail@yourdomain.com", customReportContent = { ReportField.APP_VERSION_CODE, ReportField.APP_VERSION_NAME, ReportField.ANDROID_VERSION, ReportField.PHONE_MODEL, ReportField.BRAND, ReportField.CUSTOM_DATA, ReportField.INITIAL_CONFIGURATION, ReportField.CRASH_CONFIGURATION, ReportField.USER_CRASH_DATE, ReportField.STACK_TRACE, ReportField.LOGCAT}, resToastText = R.string.crash_toast_text, mode = ReportingInteractionMode.TOAST) public class MyApplication extends Application { @Override public void onCreate() { super.onCreate(); ACRA.init(this); } } در بخش ReportField همانطور که میبینید، اطلاعاتی که قرار است به ایمیلتان ارسال گردد را وارد میکنیم. در قدم آخر فایل Manifest را باز کرده و دسترسی های مربوطه و همچنین کلاس Application را در تگ application وارد کنید: <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.acrademo"> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <uses-permission android:name="android.permission.READ_LOGS" /> <application android:name=".MyApplication" android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:supportsRtl="true" android:theme="@style/AppTheme"> <activity android:name=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest> برای تست عملکرد کدها، یک دکمه بسازید و سپس کدهایی را برای آن وارد کنید که باعث کرش شدن اپ گردد... public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } public void onCrash(View view){ throw new RuntimeException("App Crashed"); } } منبع: www.asifmoinulislam.com
  7. با سلام من یه برنامه مسیر یابی و از Google Maps Directions API استفاده میکنم از فیلتر سکن هم استفاده مینکم زمانی که خروجی میگیرم و روی گوشی نصب میکنم بعضی مواقع کار نمیکنه و نیاز به فیلتر سکن هست در صورتی که برنامه هایی هستن که بخوبی کار میکنند چطوری مشکل حل کنم DISABLE
  8. سلام دوستان . خسته نباشید . من به تازگی تصمیم به یادگیری اندروید گرفتم ولی خب متاسفانه همین اول را به مشکلی خوردم که درست بشو نیست به زبان انگلیسی هم سرچ کردم ولی جایی جواب درستی نبود . مشکل من اینه که همون اولی که اندروید استودیو رو باز میکنم این ارور میاد 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 ولی جوابی نبود و همون ارور میومد . الان راه چیه ؟ اگی فایلی هست که شما میدونین بگین تا دانلود کنم
  9. سلام وقت بخیر دوستان کسی میدونه این با چه کتابخونه ای ساخته شده؟ 20180305_184518.mp4
  10. سلام دارم برنامه فروشگاهی میسازم انتخاب قیمت محصول جوریه که کاربر خودش باید انتخاب کنه از بین چند تا مورد این فایلی که فرستادم ببینین متوجه منظورم میشین من داخل برنامه دو تا اسپینر گذاشتم که اطلاعاتش رو از سرور میگیرم و داخل اسپینر ست میکنم که با انتخاب هر کدوم ای دی خودشو برمیگردونه تا اینجا درسته مشکلی نیست ولی برنامه ی لیست قیمت داره که براساس ای دی این دوتا اسپینرباید مشخص بشه یعنی مثلا اسپینر اول ای دی 5 برگردونه و اسپینر دوم ای دی مثلا3 اینجا باید ما سرچ بزنیم تو لیست قیمت ها که ای دی 5و3 قیمتش چنده ... به نظرتون اینو چجوری پیاده کنم ایا میشه تو arraylist بریزم و روش حالت سرچ بذارم و اندیس رو برگردونه. اصلا میشه با arraylist همچین کاری کرد؟ یا تو دیتابیس بریزم؟ دوستان اگه راه حل بهتری دارن لطفا راهنمایی کنن ممنون جیسون قیمت ها به این شکله [ { "cat": "1", "type": "0", "size": "33", "price": "4800" }, { "cat": "1", "type": "0", "size": "34", "price": "7200" }, ] 20180305_163147.mp4
  11. سلام خسته نباشید من یه اپ دیکشنری میخواهم بسازم که اطلاعات را از دیتابیس سرور بگیره و یه دکمه آپدیت درون برنامه اندروید بذارو و وقتی که روی دکمه کلیک شد بره و اطلاعات رو از دیتابیس سرور بخونه و بریزه تو دیتابیس اندروید و ذخیره کنه … یعنی با هر بار اعمال تغییر در دیتابیس سرور و با کلیک شدن روی این دکمه اطلاعات دیتابیس برنامه به روز و شود و درون ریسایکلر ویو نشان داده شود … تشکر
  12. سلام وقت همگی بخیر من یک دیتا بیس دارم حدود 10 هزار ردیف و بیست ستون هست میخواهم از طریق چک باکس مشخص کنم در کدام ستون جستجو کند لطفا در صورت امکان کدنویسی مربوط اتصال به دیتابیس و سایر مواردی که مورد نیاز هست بفرمایید\ من یک تازه کارم متشکرم
  13. سلام به همه دوستان عزیز من می خواهم در یک صفحه اول برنامه این نمایش داده بشه مثلا سلام صبح بخیر امروز سه شنبه 24 بهمن 1396 اینهای که رنگی کردم بر اساس ساعت و تاریخ به روز گوشی تغیر کند لطفا راهنمایی کنید مرسی از همگی دوستان
  14. سلام خدمت اساتید گرامی . من یه برنامه نوشتن که برای یادگیری لغاته . وقتی کاربر لغتی رو به بخش علاقه مندی اضافه می کنه لغت نمایش داده نمیشه و باید برنامه رو مجدد اجرا کرد تا لغت انتخاب شده به بخش علاقه مندی اضافه/ حذف بشه . همچنین بعد از هر بار اجرا لیست لغات تکرار میشه ( مثلا بار دوم از هر کدوم 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); } } }
  15. سلام وقت بخیر من یک آپ میخواهم طراحی کنم که کاربر بتونه ساولش را بپرسه و کاربران جواب بدن و بتونن آن را لایک کنن . پنج قسمت داره مثلا = ریاضی - علوم - فارسی - قران-شیمی روی ریاضی کلیک کنه وارد اون بخش بشه تمام سوالات مطرح شده را ببینه بتونه روش کلیک کنه و جوابها را ببینه و بتونه لایک و خودش بتونه سوال طرح کنه لطفا منو راهنمایی کنید ممنونم
  16. سلام بنده در اکتیویتی دوم یدونه تب لایوت انداختم که چهارتا تب داره میخوام وقتی از اکتیویتی اول رفتم به اکتیویتی دوم ی تب خاص رو اول نشون بده مثلا تب دوم ولی همیشه تب اول از سمت چپ که اندیسش صفره رو اول نشون میده گفتن با این کد tableLayout.getTabAt(2); میشه ولی نشد ...راه دیگه ای هست دوستان؟
  17. سلام به همه اساتید گرامی . من یه برنامه کتاب نوشتم که از دیتابیس خارجی استفاده کردم . و چون از 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); } } }
  18. سلام برای ارسال عکس به سمت سرور بنده از کتابخونه 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;
  19. سلام دوستان عزیز من با این مشکل روبرو شدم لطفا راهنمایی کنید
  20. سلام قصد من اینه که از داده های (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(); } }
  21. سلام میخواستم بدونم دوستان کسی میدونه چجوری وب ویو رو به عکس تبدیل کنم؟ هر لینکی که توی stackoverflow بود رو باز کردم اما هیچکدوم کار نمیکنه قبلا یبار این کار رو کردم اما متاسفانه کد رو ندارم اون موقع هم خیلی سخت پیدا شد اگر کسی کد مربوطه رو داره بی زحمت قرار بده با تشکر
  22. با عرض سلام و وقت بخیر خدمت دوستان عزیز. بنده میخوام از دیتابیس 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' میده،عکس ارور رو هم قرار دادم. لطفا راهنمایی کنید. پیشاپیش از راهنمایی هاتون سپاس گذارم
  23. سلام کسی میدونه چطور باید کدی بزنیم که با intent از ussd استفاده کنیم؟ توضیح اینکه ussd همون کدهایی مثل *141*1# هست. و استادمون ازمون خواسته برنامه ای بنویسیم که باهاش شارژ بخریم
  24. با سلام من پروژه google map ساختم و API وsh1 رو دریافت کردم وبدون مشکل روی گوشی release انجام میشه زمانی که generate signed apk انجام میدم میگه به درستی ساخته شد APK(s) generated successfully: اما داخل لوکیشن میرم خالی و فایل apk ساخته نشده پروژه های غیر google map بدون مشکل ساخته میشه لطفا راهنمایی کنید با تشکر
  25. سلام کسی نمونه سورس یا نمونه کد داره برای تغییر رنگ کلمه جستجو شده مانند عکس زیر