برترین های انجمن

  1. Farzad Sarseifi

    Farzad Sarseifi

    مدیریت انجمن


    • امتیاز: پسندیدن (Likes)

      6

    • تعداد ارسال ها

      2,221


  2. mnnik1377

    mnnik1377

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


    • امتیاز: پسندیدن (Likes)

      2

    • تعداد ارسال ها

      1


  3. mehrdadmmb2

    mehrdadmmb2

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


    • امتیاز: پسندیدن (Likes)

      2

    • تعداد ارسال ها

      128


  4. davod56

    davod56

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


    • امتیاز: پسندیدن (Likes)

      1

    • تعداد ارسال ها

      61



Popular Content

Showing most liked content since ۱۸/۰۳/۲۰ in all areas

  1. 4 likes

    نگارش 1.0.0

    17 دانلود

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

    رایگان

  2. 3 likes
    توی این پست میخوایم طریقه کار با دیتابیس خارجی رو اموزش بدیم. برای این کار با نرم افزار SQLite Expert Personal یا هر نرم افزاری که راحت بودین دیتابیس و درست می کنیم. توی این برنامه دیتابیس ExternalDB رو با یک جدول به نام tbl1 و دو فیلد به نامهای Id و Name ایجاد کردیم. و داده های مورد نظر را توی جدول وارد میکنیم. کارمون با دیتابیس خارجی تموم شد حالا برنامه نویسی رو شروع می کنیم. پروژه جدیدی ایجاده کرده و دیتابیسی که درست کرده بودیم و توی پوشه asset قرار میدیم. فایل Database.java رو ایجاد کرده و کد زیر رو توی اون تایپ می کنیم. package com.p30droid.externaldatabase; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.util.ArrayList; import java.util.List; import android.content.ContentValues; import android.content.Context; import android.database.Cursor; import android.database.SQLException; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteDatabase.CursorFactory; import android.database.sqlite.SQLiteException; import android.database.sqlite.SQLiteOpenHelper; public class Database extends SQLiteOpenHelper { String DB_PATH = null; public static String DB_NAME = "ExternalDB"; private SQLiteDatabase myDataBase; private final Context myContext; /** * Constructor Takes and keeps a reference of the passed context in order to * access to the application assets and resources. * * @param context */ public Database(Context context) { super(context, DB_NAME, null, 2); this.myContext = context; DB_PATH = "/data/data/" + context.getPackageName() + "/" + "databases/"; } public void createDataBase() throws IOException { boolean dbExist = checkDataBase(); if (dbExist) { // do nothing - database already exist } else { // By calling this method and empty database will be created into // the default system path // of your application so we are gonna be able to overwrite that // database with our database. this.getReadableDatabase(); try { copyDataBase(); } catch (IOException e) { throw new Error("Error copying database"); } } } private boolean checkDataBase() { SQLiteDatabase checkDB = null; try { String myPath = DB_PATH + DB_NAME; checkDB = SQLiteDatabase.openDatabase(myPath, null, SQLiteDatabase.OPEN_READONLY); } catch (SQLiteException e) { // database does't exist yet. } if (checkDB != null) { checkDB.close(); } return checkDB != null ? true : false; } /** * Copies your database from your local assets-folder to the just created * empty database in the system folder, from where it can be accessed and * handled. This is done by transfering bytestream. * */ private void copyDataBase() throws IOException { // Open your local db as the input stream InputStream myInput = myContext.getAssets().open(DB_NAME); // Path to the just created empty db String outFileName = DB_PATH + DB_NAME; // Open the empty db as the output stream OutputStream myOutput = new FileOutputStream(outFileName); // transfer bytes from the inputfile to the outputfile byte[] buffer = new byte[1024]; int length; while ((length = myInput.read(buffer)) > 0) { myOutput.write(buffer, 0, length); } // Close the streams myOutput.flush(); myOutput.close(); myInput.close(); } public void openDataBase() throws SQLException { // Open the database String myPath = DB_PATH + DB_NAME; // SQLiteDatabase.NO_LOCALIZED_COLLATORS myDataBase = SQLiteDatabase.openDatabase(myPath, null, SQLiteDatabase.OPEN_READONLY | SQLiteDatabase.NO_LOCALIZED_COLLATORS | SQLiteDatabase.CREATE_IF_NECESSARY); } @Override public synchronized void close() { if (myDataBase != null) myDataBase.close(); super.close(); } // return cursor public Cursor query(String table, String[] columns, String selection, String[] selectionArgs, String groupBy, String having, String orderBy) { return myDataBase.query("pwp_singers", null, null, null, null, null, null); } @Override public void onCreate(SQLiteDatabase arg0) { // TODO Auto-generated method stub } @Override public void onUpgrade(SQLiteDatabase arg0, int arg1, int arg2) { // TODO Auto-generated method stub } } خط 21 اسم دیتابیس و قرار دادیم.توابع دیگه هم مربوط به باز کردن،بستن،چک کردن وجود دیتابیس و ... هست(لازم به توضیح بود بگین توضیح بدمش) توی فایل activity_main.xml یه لیست ویو قرار میدیم. توی فایلMainActivity.java کد زیر و تایپ می کنیم. package com.p30droid.externaldatabase; import java.io.IOException; import java.util.ArrayList; import java.util.HashMap; import android.os.Bundle; import android.widget.ArrayAdapter; import android.widget.ListAdapter; import android.widget.ListView; import android.app.Activity; import android.database.Cursor; import android.database.SQLException; import android.database.sqlite.SQLiteDatabase; public class MainActivity extends Activity { Database myDbHelper; SQLiteDatabase db; ListAdapter adapter; ArrayList> data; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ListView lst=(ListView) findViewById(R.id.listView1); Load_Database(); db = myDbHelper.getReadableDatabase(); Cursor c = db.rawQuery("select * from tbl1", null); data = new ArrayList>(); for (; c.moveToNext() { HashMap map = new HashMap(); String id = c.getString(c.getColumnIndex("Id")); String name = c.getString(c.getColumnIndex("Name")); map.put("id", id); map.put("name", name); data.add(map); } adapter = new list_view(this, data); lst.setAdapter(adapter); } private void Load_Database() throws Error { myDbHelper = new Database(MainActivity.this); try { myDbHelper.createDataBase(); } catch (IOException ioe) { throw new Error("Unable to create database"); } try { myDbHelper.openDataBase(); } catch (SQLException sqle) { throw sqle; } } } خط 25 دیتابیس و چک میکنیم که ایجاد شده یا نه.اگه هست بازش کنه اگه نه ایجاد میکنه. خط 27 اسم جدول و نوشتیم تا اطلاعات اونو بخونیم. خط 32و 33 فیلدهایی که میخوایم و قرار دادیم و در اخر هم با اداپتور اونو توی لیست ویو میریزیم. خط 38 هم از لیست ویو سفارشی استفاده کردیم که اموزشش تو سایت هست . اینم فایلهاش فایل list_view.java package com.p30droid.externaldatabase; import java.util.ArrayList; import java.util.HashMap; import android.app.Activity; import android.content.Context; import android.content.SharedPreferences; import android.content.res.AssetManager; import android.graphics.Color; import android.graphics.Typeface; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.TextView; public class list_view extends BaseAdapter { private Activity activity; private ArrayList> data; private LayoutInflater inflate; ViewHolder holder; public list_view(Activity a, ArrayList> d) { // TODO Auto-generated constructor stub activity = a; data = d; inflate = (LayoutInflater) activity .getSystemService(Context.LAYOUT_INFLATER_SERVICE); } @Override public int getCount() { // TODO Auto-generated method stub return data.size(); } @Override public Object getItem(int position) { // TODO Auto-generated method stub return position; } @Override public long getItemId(int position) { // TODO Auto-generated method stub return position; } @Override public View getView(int arg0, View view, ViewGroup arg2) { // TODO Auto-generated method stub View v1 = view; if (v1 == null) { v1 = inflate.inflate(R.layout.list_view, null); holder = new ViewHolder(); holder.txt_name = (TextView) v1.findViewById(R.id.txt_name); holder.txt_id = (TextView) v1.findViewById(R.id.txt_id); holder.txt_id.setVisibility(View.GONE); v1.setTag(holder); } else { holder = (ViewHolder) v1.getTag(); } HashMap song = new HashMap(); song = data.get(arg0); holder.txt_id.setText(song.get("id")); holder.txt_name.setText(song.get("name")); return v1; } static class ViewHolder { TextView txt_name; TextView txt_id; } } فایل list_view.xml <?xml version="1.0" encoding="utf-8"?> android:layout_width="fill_parent" android:layout_height="fill_parent" > android:id="@+id/txt_name" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:layout_alignParentTop="true" android:layout_marginRight="22dp" android:layout_marginTop="30dp" /> android:id="@+id/txt_id" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignTop="@+id/txt_name" android:layout_marginRight="96dp" android:layout_toLeftOf="@+id/txt_name" /> و خروجی کار سورس برنامه
  3. 3 likes
    کاربران گرامی با درود و عرض احترام لطفا در ارسالهای خود و بخشهای مختلف انجمن پی سی دروید قوانین زیر را رعایت فرمائید: منع فعالیت سیاسی : هر گونه فعالیت سیاسی بر خلاف قوانین بوده و با کاربر خاطی سریعا برخورد خواهد شد. زبان فارسی : زبان اصلی این انجمن فارسی است ، لطفا در هنگام ارسال مطالب از زبان پینگلیش استفاده نکنید . قوانین عمومی 1- انجمن پی سی دروید بدون هیچگونه فعالیت در جهت کسب منافع مادی فقط و فقط در حیطه راهنمایی کاربران ، رفع مشکلات کاربران ، معرفی و آموزش اندروید فعالیت مینماید و هر کاربر یا مدیری که در جهت سودجویی و منفعت مالی اقدام به منحرف کردن مبحث و سوالات کاربران دیگر را داشته باشد در بار اول به مدت 24 ساعت و برای بار دوم برای همیشه از انجمن اخراج میگردد. 2- تبلیغات در انجمن ممنوع میباشد و کاربران صرفا مجاز به درج تبلیغ در امضا خود میباشد و ارسال پست و تاپیک های تبلیغاتی شامل اخطار و اخراج میشود. 3- تمامي کاربران مي بايست در هنگام ثبت نام در سايت ، از کلمات مناسب جهت استفاده در نام کاربري خود استفاده نمايند. در صورت مشاهده کلمات رکيک و نامناسب، اشتراک آن كاربر در اولين فرصت حذف خواهد شد و دسترسي وي به انجمنها قطع خواهد شد حتي المقدور نام كاربري را با حروف انگيسي به جاي فارسي ايجاد نماييد. 4- کاربران سايت مي بايست در هنگام ارسال پيغام در انجمن ها از کلمات مناسب استفاده نمايند. در صورت مشاهده کلمات رکيک و نامناسب ، اشتراک آن كاربر در اولين فرصت حذف خواهد شد و دسترسي وي به انجمنها قطع خواهد شد. 5- عنوان تاپيک بايد به خودي خود نشانگر محتوا و گفتگوي هاي تاپيک باشد . لطفا در هنگام ايجاد تاپيک به اين نکته توجه کنيد تا تاپيک شما بيشتر مورد توجه ساير کاربران قرار گيرد . از ايجاد تاپيک هايي با عناوين : کمک ، کمک فوري ، خيلي مهم و ساير عناوين عمومي جدا خودداري کنيد ... 6- در صورتي که مايل به ارسال مطلبي از يک سايت ديگر مي باشيد ، حتماً منبع آن را ذکر نماييد. در صورتي که مطلب يا موضوع مذکور نوشته شده توسط شخص خاصي بود ، حتماً نام وي را ذکر نماييد. 7- لطفا در هنگام مطرح کردن سوالات خود ، انجمن مناسب را انتخاب نماييد و از مطرح کردن سوالات خود در انجمنهاي نامتناسب با سوالتان خودداري نماييد. 8- لطفا در هنگام طرح سوالات خود آنها را به صورت جداگانه مطرح فرماييد. بدين معني که در صورتي که سوالهاي گوناگوني داريد ، آنها را در چندين موضوع جداگانه مطرح نماييد و از مطرح کردن تمامي سوالات در يک موضوع خودداري فرماييد . 9- لطفا در هنگام جواب دادن به سوالات از به کار گيري الفاظ و جملاتي که باعث دلسردي کاربر سوال کننده شود خودداري فرماييد. اين را بدانيد که اين سايت محل آموزش است و کساني هستند که سوالهايشان بسيار ابتدايي مي باشد. لذا از به کارگيري کلماتي که باعث شود کاربر به جاي گرفتن جواب سوال خود دلسرد شود اکيداً خودداري فرماييد. 10- لطفا در صورتي که جواب يک سوالي را نمي دانيد از ارسال مطالبي که باعث شلوغ کردن آن تاپيک ( يا سوال ) شود خودداري فرماييد. در صورتي که بحث خاصي داريد مي توانيد براي خودتان يک تاپيک عمومي باز کنيد. 11- از نوشتن يك سوال و يا يك نامه در انجمنهاي مختلف خودداري كنيد. طبق قانون شماره 7 انجمن مناسب و مرتبط به نامه خود را انتخاب كنيد و فقط در آن انجمن نامه خود را ارسال كنيد. 12- تمام کاربران و مدیران موظف به احترام گذاشتن به یکدیگر در انجمن پی سی دروید هستند.ارسال مطالب کنایه آمیز ، بازی با کلمات! ، پیام خصوصی توهین آمیز ، خرد کردن شخصیت افراد و هرگونه بحثی که نشان از بی ادبی و تمسخر دیگران باشد در این انجمن جایی ندارد و بلافاصله کاربر خاطی اخراج خواهد شد. 13- کاربران بسیاری هستند که حتی نمیدانند که روش کار یک انجمن به چه شکل است و یا سوالات خیلی مبتدی میپرسند لذا هیچ کاربری حق جسارت به این دسته از کاربران را نداشته و باید با احترام و با صبر و حوصله پاسخ کاربران و راهنمایی لازم داده شود. انجمن تخصصی اندروید پی سی دروید
  4. 2 likes
    کتاب آموزشی Kotlin Language Documentation عنوان کتاب:Kotlin Language Documentation حجم:1.42 مگابایت نویسنده: Kotlin چرا این کتاب را بخونم: Kotlin provides the ability to target JavaScript. It does so by transpiling Kotlin to JavaScript. The current implementation targets ECMAScript 5.1 but there are plans to eventually target ECMAScript 2015 also. When you choose the JavaScript target, any Kotlin code that is part of the project as well as the standard library that ships with Kotlin is transpiled to JavaScript. However, this excludes the JDK and any JVM or Java framework or library used. Any file that is not Kotlin will be ignored during compilation. The Kotlin compiler tries to comply with the following goals: Provide output that is optimal in size Provide output that is readable JavaScript Provide interoperability with existing module systems Provide the same functionality in the standard library whether targeting JavaScript or the JVM (to the largest possible degree). You may want to compile Kotlin to JavaScript in the following scenarios: Creating Kotlin code that targets client-side JavaScript Interacting with DOM elements. Kotlin provides a series of statically typed interfaces to interact with the Document Object Model, allowing creation and update of DOM elements. Interacting with graphics such as WebGL. You can use Kotlin to create graphical elements on a web page using WebGL. Creating Kotlin code that targets server-side JavaScript Working with server-side technology. You can use Kotlin to interact with server-side JavaScript such as node.js Kotlin can be used together with existing third-party libraries and frameworks, such as JQuery or ReactJS. To access third-party frameworks with a strongly-typed API, you can convert TypeScript definitions from the Definitely Typed type definitions repository to Kotlin using the ts2kt tool. Alternatively, you can use the dynamic type to access any framework without strong typing. Kotlin is also compatible with CommonJS, AMD and UMD, making interaction with different module systems straightforward. To find out how to start using Kotlin for JavaScript, please refer to the tutorials. دانلود کتاب kotlin-docs.pdf
  5. 2 likes
    آقا انصافا دمت گرم داشتم پیر میشدم سر این موضوع بالاخره پیداش کرد
  6. 2 likes
    سلام به تمام کاربران عزیز پوستر تبریک سال نو برای عکس پروفایل یا شبکه های اجتماعی آماده دانلود می باشد تبریک سال نو برای شما عزیزان ایشالله ساله خوبی رو داشته باشید . دستون دارم
  7. 1 like
    من با حرفشون موافق نیستیم هنوز کاتلین جای کار زیاد داره و هر جای بخواید کار کنید منبع اصلی جاوا میباشد و زمان میبره جایگیزین جاوا در اندروید شود و هنوز Release بدون اشکالی نداره این نکته رو شما باید تو ذهن داشته باشید وقتی جاوا رو یاد بگیرید یک دنیا تکنولوژی جلو رویتان هستش که میتوانید روی اونا کار کنید
  8. 1 like
    ممنون از اینکه جواب بنده رو دادید. یک سوال دیگه.... اگر بخواهیم هدفمند برای استخدام در یک شرکت یا حداقل برای کار تیمی کار کنیم، بیشتر چه مفاهیمی نیاز هست که مسلط بشیم؟ ممنون میشوم در این رابطه هم توضیح بدید.
  9. 1 like
    مهمه که کی بهتون پیشنهاد داده چی رو یاد بگیرین! آیا کسی که این پیشنهاد رو داده در چه رنج سنی هستش و چقدر سابقه برنامه نویسی دارن که راهنماییتون کردن سعی کنید همیشه از افراد متخصص که تجربه سال های زیاد برنامه نویسی رو دارن مشورت بگیرید
  10. 1 like
    سلام فعلا با جاوا کار کنید چونکه کاتلین هنوز بطور کامل مورد استفاده قرار نمیگیره و خیلی زمان میبره که کامل بشه و بتونیم به عنوان زبان اول اندروید ازش استفاده کنیم اما حتما آموزش رو بخونید و دانش کاتلین رو بدست بیارید
  11. 1 like
    آیا تا به حال شده که بعد از ارائه اپلیکشن پیغامهایی از طرف کاربران دریافت کنید که ناشی از بسته شدن اپ در حین کار باشه؟ در اینگونه مواقع علاوه بر زمانبر بودن پیدا کردن خطا، شاهد ریزش شدید کاربران اپ خواهید بود. پس بهتر است قبل از ارائه اپ در بازار یا 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
  12. 1 like
    سلام تا اونجایی که میدونم تلگرام از یه رمزگذاری شبیه ssl استفاده میکنه 2048 بیتی هست ولی در عین حال فقط خود تلگرام به صورت اختصاصی از این نوع استفاده کرده و نوع رمزگذاریش اختصاصیه میتونین در مورد رمز گذاری RSA128 و RSA256 تحقیق کنید که میشه گفت از امن ترین هاش هستن! نمونه یک رمزگذاری رو در ادرس پایین میتونید ببینید: https://stackoverflow.com/questions/12471999/rsa-encryption-decryption-in-android
  13. 1 like
    اینو ببین https://github.com/javiersantos/AppUpdater دیگه چی میخوای؟
  14. 1 like
    سلام دوست عزیز برای موضوع برنامه نویسی اندروید به نظرم اگه با java کار کنید خیلی دستتون باز هست هر چند نسبت به c# سخت تره اما ارزششو داره.
  15. 1 like
    سلام آموزش های پروژه محور زیادی دارم اگر خواستی بیا بهت معرفی کنم ایدی تلگرام adt02
  16. 1 like
    https://github.com/Taishi-Y/MusicIndicator
  17. 1 like
    ما پوشه plugin نداریم برای sdk اندروید شما باید SDK اندروید را دانلود کنید و build tools را در آن فولدر قرار دهید
  18. 1 like
    سلام چه طور این فایل رو در blugins قرار بدم اگهدکمکم کنین ممنون میشم.
  19. 1 like
    سلام با اين روش مشکل رانندگان اينترني که نميتونن همزمان از برنامه اسنپ وبز در يک گوشي حل ميشه اول برنامه es parallel accounts رو از گوگل پلي استور دانلود کنيد و نصب کنيد وارد برنامه بشيد قسمت سمت راست برنامه تنظيمات رو انتخاب کنيد حالا گزينه lnsulated zone را انتخاب کنيد حالا گزينه دوم رو انتخاب کنيد http://uupload.ir/files/qc4j_screenshot_????-??-??-??-??-??.png حالا به صحفه اصلي برگرديد و گزينه add apphرو بزنيد و برنامه اسنپ يا تپسي رو انتخاب کنيد و (add app(1 رو بزنيد http://uupload.ir/files/xabz_screenshot_????-??-??-??-??-??.png حالا ok بزنيد تا برنامه نصب بشه http://uupload.ir/files/bt00_screenshot_????-??-??-??-??-??.png برانامه نصب شده و شما ميتونيد برنامه رو از صحفه اصلي گوشي پاک کنيد حالا ويز رو نصب کنيد و از هر دو برنامه کنار هم استفاده کنيد با تشکر