به دست آوردن ویژگی های گوشی کاربر، در برنامه نویسی اندروید

P O U R I A

مدیر مهندسی شیمی مدیر تالار گفتگوی آزاد
مدیر تالار
فهرست تاپیک:

  1. به دست آوردن نسخه اندروید (Android version) و API level گوشی کاربر، در برنامه نویسی اندروید
  2. به دست آوردن اطلاعات برنامه های اندروید نصب بر روی گوشی کاربر، به صورت یک لیست آرایه ای (ArrayList) از نوع ApplicationInfo ، در برنامه نویسی اندروید
  3. به دست آوردن شماره سریال (Serial Number) گوشی اندروید (به عنوان یک id منحصر بفرد برای شناسایی گوشی های اندروید)، در برنامه نویسی اندروید
  4. به دست آوردن مدل گوشی کاربر (Device Model)، در برنامه نویسی اندروید
  5. به دست آوردن کل حافظه RAM گوشی (برای نسخه API برابر 16 و بالاتر)، در برنامه نویسی اندروید

منبع: kelidestan
 

P O U R I A

مدیر مهندسی شیمی مدیر تالار گفتگوی آزاد
مدیر تالار
به دست آوردن نسخه اندروید (Android version) و API level گوشی کاربر، در برنامه نویسی اندروید

به دست آوردن نسخه اندروید (Android version) و API level گوشی کاربر، در برنامه نویسی اندروید

در مبحثی دیگر، تفاوت بین نسخه اندروید (Android version) و API level را شرح دادیم #60 . اکنون قصد داریم کدهایی را ارائه بدهیم که با اجرای آنها می توانیم نسخه اندروید (Android version) و API level گوشی کاربر را به دست آوریم.


نسخه اندروید (Android version) :

برای به دست آوردن نسخه اندروید (Android version) گوشی کاربر و ذخیره کردن آن در یک رشته (String)، کد زیر را اجرا می کنیم :
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace][COLOR=#003399]String[/COLOR] androidOS [COLOR=#339933]=[/COLOR] Build.[COLOR=#006633]VERSION[/COLOR].[COLOR=#006633]RELEASE[/COLOR][COLOR=#339933];[/COLOR][/FONT]
[/FONT][/COLOR]
مثلا با اجرای کد فوق در یک گوشی (البته با نسخه 4.2.2)، عبارت 4.2.2 در رشته با نام androidOS ذخیره خواهد شد.


API level :

برای به دست آوردن API level گوشی کاربر، کد زیر را اجرا می کنیم :
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace][COLOR=#000066][B]int[/B][/COLOR] currentapiVersion [COLOR=#339933]=[/COLOR] android.[COLOR=#006633]os[/COLOR].[COLOR=#006633]Build[/COLOR].[COLOR=#006633]VERSION[/COLOR].[COLOR=#006633]SDK_INT[/COLOR][COLOR=#339933];[/COLOR][/FONT]
[/FONT][/COLOR]
مثلا با اجرای کد فوق در یک گوشی (البته با API level برابر 17)، عدد صحیح 17 در متغیر (از جنس int) با نام currentapiVersion ذخیره خواهد شد.
 

P O U R I A

مدیر مهندسی شیمی مدیر تالار گفتگوی آزاد
مدیر تالار
به دست آوردن اطلاعات برنامه های اندروید نصب بر روی گوشی کاربر، به صورت یک لیست آرایه ای (ArrayList) از نوع ApplicationInfo

به دست آوردن اطلاعات برنامه های اندروید نصب بر روی گوشی کاربر، به صورت یک لیست آرایه ای (ArrayList) از نوع ApplicationInfo

فرض کنید که بخواهیم اطلاعاتی را از برنامه های اندروید نصب بر روی گوشی کاربر به دست آوریم، برای این منظور، باید این اطلاعات را به صورت یک لیست آرایه ای (ArrayList) از نوع ApplicationInfo ، به دست آوریم. بنابراین، کدهای زیر را می نویسیم :
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace]PackageManager packageManager [COLOR=#339933]=[/COLOR] getPackageManager[COLOR=#009900]([/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
List[COLOR=#339933]<[/COLOR]ApplicationInfo[COLOR=#339933]>[/COLOR] list [COLOR=#339933]=[/COLOR]packageManager.[COLOR=#006633]getInstalledApplications[/COLOR][COLOR=#009900]([/COLOR]PackageManager.[COLOR=#006633]GET_META_DATA[/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
List[COLOR=#339933]<[/COLOR]ApplicationInfo[COLOR=#339933]>[/COLOR] applist [COLOR=#339933]=[/COLOR] [B]new[/B] ArrayList[COLOR=#339933]<[/COLOR]ApplicationInfo[COLOR=#339933]>[/COLOR][COLOR=#009900]([/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
[B]for[/B] [COLOR=#009900]([/COLOR]ApplicationInfo info [COLOR=#339933]:[/COLOR] list[COLOR=#009900])[/COLOR] [COLOR=#009900]{[/COLOR]
    [B]try[/B] [COLOR=#009900]{[/COLOR]
        [B]if[/B] [COLOR=#009900]([/COLOR][COLOR=#000066][B]null[/B][/COLOR] [COLOR=#339933]!=[/COLOR] packageManager.[COLOR=#006633]getLaunchIntentForPackage[/COLOR][COLOR=#009900]([/COLOR]info.[COLOR=#006633]packageName[/COLOR][COLOR=#009900])[/COLOR][COLOR=#009900])[/COLOR] [COLOR=#009900]{[/COLOR]
            applist.[COLOR=#006633]add[/COLOR][COLOR=#009900]([/COLOR]info[COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
        [COLOR=#009900]}[/COLOR]
    [COLOR=#009900]}[/COLOR] [B]catch[/B] [COLOR=#009900]([/COLOR][COLOR=#003399]Exception[/COLOR] e[COLOR=#009900])[/COLOR] [COLOR=#009900]{[/COLOR]
        e.[COLOR=#006633]printStackTrace[/COLOR][COLOR=#009900]([/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
    [COLOR=#009900]}[/COLOR]
[COLOR=#009900]}[/COLOR][/FONT]
[/FONT][/COLOR]
بنابراین تا اینجا، یک لیست آرایه ای (ArrayList) از نوع ApplicationInfo و با نام applist داریم که هر عنصر آن، حاوی اطلاعات مربوط به یک برنامه اندروید نصب شده بر روی گوشی کاربر می باشد.

اکنون فرض کنید که بخواهیم برخی اطلاعات هر برنامه را بخوانیم، به طور مثال، کدهای زیر را می نویسیم :
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace][COLOR=#000066][B]int[/B][/COLOR] applist_length [COLOR=#339933]=[/COLOR] applist.[COLOR=#006633]size[/COLOR][COLOR=#009900]([/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
[B]for[/B][COLOR=#009900]([/COLOR][COLOR=#000066][B]int[/B][/COLOR] x [COLOR=#339933]=[/COLOR] [COLOR=#CC66CC]0[/COLOR][COLOR=#339933];[/COLOR] x [COLOR=#339933]<[/COLOR] applist_length[COLOR=#339933];[/COLOR] x [COLOR=#339933]=[/COLOR] x[COLOR=#339933]+[/COLOR][COLOR=#CC66CC]1[/COLOR][COLOR=#009900])[/COLOR] [COLOR=#009900]{[/COLOR]
    ApplicationInfo data [COLOR=#339933]=[/COLOR] applist.[COLOR=#006633]get[/COLOR][COLOR=#009900]([/COLOR]x[COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
    [COLOR=#003399]String[/COLOR] packageName [COLOR=#339933]=[/COLOR] data.[COLOR=#006633]packageName[/COLOR][COLOR=#339933];[/COLOR]
    [COLOR=#666666][I]// default action[/I][/COLOR]
[COLOR=#009900]}[/COLOR][/FONT]
[/FONT][/COLOR]
همان طور که مشاهده می کنید، یک حلقه for می سازیم که تعداد گام های آن، برابر تعداد عناصر لیست آرایه ای applist می باشد و سپس در هر گام حلقه، اطلاعات مربوط به یک برنامه اندروید نصب شده را در متغیری با نام data قرار می دهیم که از نوع ApplicationInfo می باشد. سپس یک رشته با نام packageName تعریف کرده ایم که نام package برنامه اندروید نصب شده، در آن ذخیره می شود. بعد از این مرحله، می توانید با نام package ، عملیات مورد نظر خود را انجام بدهید.

برای به دست آوردن نام برنامه اندروید و نمایش آن در یک TextView با نام appNameTextView ، می توان کد زیر را نوشت :
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace]appNameTextView.[COLOR=#006633]setText[/COLOR][COLOR=#009900]([/COLOR]data.[COLOR=#006633]loadLabel[/COLOR][COLOR=#009900]([/COLOR]packageManager[COLOR=#009900])[/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR][/FONT]
[/FONT][/COLOR]
برای نمایش آیکون (icon) برنامه اندروید، در یک ImageView با نام iconImageView ، می توان کد زیر را نوشت :
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace]iconImageView.[COLOR=#006633]setImageDrawable[/COLOR][COLOR=#009900]([/COLOR]data.[COLOR=#006633]loadIcon[/COLOR][COLOR=#009900]([/COLOR]packageManager[COLOR=#009900])[/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR][/FONT]
[/FONT][/COLOR]
 

P O U R I A

مدیر مهندسی شیمی مدیر تالار گفتگوی آزاد
مدیر تالار
به دست آوردن شماره سریال (Serial Number) گوشی اندروید (به عنوان یک id منحصر بفرد برای شناسایی گوشی های اندروید)

به دست آوردن شماره سریال (Serial Number) گوشی اندروید (به عنوان یک id منحصر بفرد برای شناسایی گوشی های اندروید)

برای اینکه بتوانیم گوشی های اندروید مختلف را شناسایی کنیم، بهترین روش، استفاده از شماره سریال (Serial Number) گوشی ها می باشد. به عنوان مثال، با نصب برنامه اندروید بر روی گوشی کاربر، برنامه چک می کند که اگر گوشی به اینترنت متصل است، شماره سریال گوشی کاربر را به دست آورده و به سرور اینترنتی شما ارسال کند. در سرور هم، اگر شماره سریال تکراری باشد که هیچ، اما اگر جدید باشد، در پایگاه داده ذخیره می شود و بنابراین تعداد کل کاربرانی که برنامه اندروید را نصب کرده اند (البته آنهایی که تاکنون به اینترنت متصل شده اند) را در پایگاه داده خواهیم داشت (می توان کدها را به گونه ای نوشت که در هر بار اجرای برنامه اندروید، چک کند که اگر به اینترنت متصل است، شماره سریال به سرور اینترنتی ارسال گردد).

با استفاده از کد زیر، می توانیم شماره سریال گوشی را به دست آوریم :
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace][COLOR=#666666][I]// get serial of phone --> getDeviceID() will return the MDN or MEID of the device depending on which radio the phone uses (GSM or CDMA)[/I][/COLOR]
TelephonyManager tManager [COLOR=#339933]=[/COLOR] [COLOR=#009900]([/COLOR]TelephonyManager[COLOR=#009900])[/COLOR] [B]this[/B].[COLOR=#006633]getSystemService[/COLOR][COLOR=#009900]([/COLOR][COLOR=#003399]Context[/COLOR].[COLOR=#006633]TELEPHONY_SERVICE[/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
[COLOR=#003399]String[/COLOR] phone_serial_number [COLOR=#339933]=[/COLOR] [COLOR=#009900]([/COLOR][COLOR=#003399]String[/COLOR][COLOR=#009900])[/COLOR] tManager.[COLOR=#006633]getDeviceId[/COLOR][COLOR=#009900]([/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR] [COLOR=#666666][I]// permission --> READ_PHONE_STATE[/I][/COLOR][/FONT]
[/FONT][/COLOR]
اما دسته ای از گوشی ها هستند که یک شماره سریال تکراری (معادل 9774d56d682e549c) را برمی گردانند، بنابراین برای اینکه آنها را به عنوان گوشی های تکراری نشخیص ندهیم، کدها را به صورت زیر کامل می کنیم (برای آن دسته از گوشی ها، یک شماره تصادفی تولید می کنیم که برای شناسایی آنها در نظر می گیریم، نکته مهم این است که نباید هر بار یک شماره جدید تولید شود، بنابراین کد زیر تنها باید یک بار اجرا شود و شماره تصادفی تولید شده را در گوشی فرد ذخیره کرده و در دفعات بعدی، آن را بازیابی می کنیم) :
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace][COLOR=#666666][I]// get serial of phone --> getDeviceID() will return the MDN or MEID of the device depending on which radio the phone uses (GSM or CDMA)[/I][/COLOR]
TelephonyManager tManager [COLOR=#339933]=[/COLOR] [COLOR=#009900]([/COLOR]TelephonyManager[COLOR=#009900])[/COLOR] [B]this[/B].[COLOR=#006633]getSystemService[/COLOR][COLOR=#009900]([/COLOR][COLOR=#003399]Context[/COLOR].[COLOR=#006633]TELEPHONY_SERVICE[/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
[COLOR=#003399]String[/COLOR] phone_serial_number [COLOR=#339933]=[/COLOR] [COLOR=#009900]([/COLOR][COLOR=#003399]String[/COLOR][COLOR=#009900])[/COLOR] tManager.[COLOR=#006633]getDeviceId[/COLOR][COLOR=#009900]([/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR] [COLOR=#666666][I]// permission --> READ_PHONE_STATE[/I][/COLOR]
[B]if[/B][COLOR=#009900]([/COLOR]phone_serial_number.[COLOR=#006633]equals[/COLOR][COLOR=#009900]([/COLOR][COLOR=#0000FF]"9774d56d682e549c"[/COLOR][COLOR=#009900])[/COLOR][COLOR=#009900])[/COLOR][COLOR=#009900]{[/COLOR]
   [COLOR=#666666][I]// produce random_number_of_phone[/I][/COLOR]
   [COLOR=#000066][B]int[/B][/COLOR] min [COLOR=#339933]=[/COLOR] [COLOR=#CC66CC]1[/COLOR][COLOR=#339933];[/COLOR]
   [COLOR=#000066][B]int[/B][/COLOR] max [COLOR=#339933]=[/COLOR] [COLOR=#CC66CC]2100000000[/COLOR][COLOR=#339933];[/COLOR]
   [COLOR=#003399]Random[/COLOR] r [COLOR=#339933]=[/COLOR] [B]new[/B] [COLOR=#003399]Random[/COLOR][COLOR=#009900]([/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
   [COLOR=#000066][B]int[/B][/COLOR] random_number_of_phone [COLOR=#339933]=[/COLOR] r.[COLOR=#006633]nextInt[/COLOR][COLOR=#009900]([/COLOR]max [COLOR=#339933]-[/COLOR] min [COLOR=#339933]+[/COLOR] [COLOR=#CC66CC]1[/COLOR][COLOR=#009900])[/COLOR] [COLOR=#339933]+[/COLOR] min[COLOR=#339933];[/COLOR]
   phone_serial_number [COLOR=#339933]=[/COLOR] [COLOR=#0000FF]"random_"[/COLOR][COLOR=#339933]+[/COLOR][COLOR=#003399]String[/COLOR].[COLOR=#006633]valueOf[/COLOR][COLOR=#009900]([/COLOR]random_number_of_phone[COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
[COLOR=#009900]}[/COLOR][/FONT]
[/FONT][/COLOR]
برای استفاده از کدهایی که شرح دادیم، باید اجازه دسترسی (permission) زیر را به فایل AndroidManifest.xml اضافه کنیم :
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace][COLOR=#339933]<[/COLOR]uses[COLOR=#339933]-[/COLOR]permission android[COLOR=#339933]:[/COLOR]name[COLOR=#339933]=[/COLOR][COLOR=#0000FF]"android.permission.READ_PHONE_STATE"[/COLOR] [COLOR=#339933]/>[/COLOR][/FONT]
[/FONT][/COLOR]
برای درک محل قرارگیری این کد، کدهای یک فایل AndroidManifest.xml را به عنوان نمونه در زیر مشاهده می کنید :
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace][COLOR=#339933]<?[/COLOR]xml version[COLOR=#339933]=[/COLOR][COLOR=#0000FF]"1.0"[/COLOR] encoding[COLOR=#339933]=[/COLOR][COLOR=#0000FF]"utf-8"[/COLOR][COLOR=#339933]?>[/COLOR]
[COLOR=#339933]<[/COLOR]manifest xmlns[COLOR=#339933]:[/COLOR]android[COLOR=#339933]=[/COLOR][COLOR=#0000FF]"http://schemas.android.com/apk/res/android"[/COLOR]
    [B]package[/B][COLOR=#339933]=[/COLOR][COLOR=#0000FF]"com.kelidestan.com"[/COLOR]
    android[COLOR=#339933]:[/COLOR]versionCode[COLOR=#339933]=[/COLOR][COLOR=#0000FF]"1"[/COLOR]
    android[COLOR=#339933]:[/COLOR]versionName[COLOR=#339933]=[/COLOR][COLOR=#0000FF]"1.0"[/COLOR] [COLOR=#339933]>[/COLOR]

    [COLOR=#339933]<[/COLOR]uses[COLOR=#339933]-[/COLOR]sdk
        android[COLOR=#339933]:[/COLOR]minSdkVersion[COLOR=#339933]=[/COLOR][COLOR=#0000FF]"8"[/COLOR]
        android[COLOR=#339933]:[/COLOR]targetSdkVersion[COLOR=#339933]=[/COLOR][COLOR=#0000FF]"18"[/COLOR] [COLOR=#339933]/>[/COLOR]
    
    [COLOR=#339933]<[/COLOR]uses[COLOR=#339933]-[/COLOR]permission android[COLOR=#339933]:[/COLOR]name[COLOR=#339933]=[/COLOR][COLOR=#0000FF]"android.permission.READ_PHONE_STATE"[/COLOR] [COLOR=#339933]/>[/COLOR]

    [COLOR=#339933]<[/COLOR]application
        android[COLOR=#339933]:[/COLOR]allowBackup[COLOR=#339933]=[/COLOR][COLOR=#0000FF]"true"[/COLOR]
        android[COLOR=#339933]:[/COLOR]icon[COLOR=#339933]=[/COLOR][COLOR=#0000FF]"@drawable/ic_launcher"[/COLOR]
        android[COLOR=#339933]:[/COLOR]label[COLOR=#339933]=[/COLOR][COLOR=#0000FF]"@string/app_name"[/COLOR]
        android[COLOR=#339933]:[/COLOR]theme[COLOR=#339933]=[/COLOR][COLOR=#0000FF]"@style/AppTheme"[/COLOR][COLOR=#339933]>[/COLOR]
        [COLOR=#339933]<[/COLOR]activity
            android[COLOR=#339933]:[/COLOR]name[COLOR=#339933]=[/COLOR][COLOR=#0000FF]"com.kelidestan.com.MainActivity"[/COLOR]
            android[COLOR=#339933]:[/COLOR]label[COLOR=#339933]=[/COLOR][COLOR=#0000FF]"@string/app_name"[/COLOR] [COLOR=#339933]>[/COLOR]
            [COLOR=#339933]<[/COLOR]intent[COLOR=#339933]-[/COLOR]filter[COLOR=#339933]>[/COLOR]
                [COLOR=#339933]<[/COLOR]action android[COLOR=#339933]:[/COLOR]name[COLOR=#339933]=[/COLOR][COLOR=#0000FF]"android.intent.action.MAIN"[/COLOR] [COLOR=#339933]/>[/COLOR]

                [COLOR=#339933]<[/COLOR]category android[COLOR=#339933]:[/COLOR]name[COLOR=#339933]=[/COLOR][COLOR=#0000FF]"android.intent.category.LAUNCHER"[/COLOR] [COLOR=#339933]/>[/COLOR]
            [COLOR=#339933]</[/COLOR]intent[COLOR=#339933]-[/COLOR]filter[COLOR=#339933]>[/COLOR]
        [COLOR=#339933]</[/COLOR]activity[COLOR=#339933]>[/COLOR]
    [COLOR=#339933]</[/COLOR]application[COLOR=#339933]>[/COLOR]

[COLOR=#339933]</[/COLOR]manifest[COLOR=#339933]>[/COLOR][/FONT]
[/FONT][/COLOR]
 

P O U R I A

مدیر مهندسی شیمی مدیر تالار گفتگوی آزاد
مدیر تالار
به دست آوردن مدل گوشی کاربر (Device Model)، در برنامه نویسی اندروید

به دست آوردن مدل گوشی کاربر (Device Model)، در برنامه نویسی اندروید

برای به دست آوردن مدل گوشی کاربر (Device Model)، ابتدا دو تابع زیر را تعریف می کنیم :
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace][B]public[/B] [COLOR=#003399]String[/COLOR] getDeviceName[COLOR=#009900]([/COLOR][COLOR=#009900])[/COLOR] [COLOR=#009900]{[/COLOR]
    [COLOR=#003399]String[/COLOR] manufacturer [COLOR=#339933]=[/COLOR] Build.[COLOR=#006633]MANUFACTURER[/COLOR][COLOR=#339933];[/COLOR]
    [COLOR=#003399]String[/COLOR] model [COLOR=#339933]=[/COLOR] Build.[COLOR=#006633]MODEL[/COLOR][COLOR=#339933];[/COLOR]
    [B]if[/B] [COLOR=#009900]([/COLOR]model.[COLOR=#006633]startsWith[/COLOR][COLOR=#009900]([/COLOR]manufacturer[COLOR=#009900])[/COLOR][COLOR=#009900])[/COLOR] [COLOR=#009900]{[/COLOR]
        [B]return[/B] capitalize[COLOR=#009900]([/COLOR]model[COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
    [COLOR=#009900]}[/COLOR] [B]else[/B] [COLOR=#009900]{[/COLOR]
        [B]return[/B] capitalize[COLOR=#009900]([/COLOR]manufacturer[COLOR=#009900])[/COLOR] [COLOR=#339933]+[/COLOR] [COLOR=#0000FF]" "[/COLOR] [COLOR=#339933]+[/COLOR] model[COLOR=#339933];[/COLOR]
    [COLOR=#009900]}[/COLOR]
[COLOR=#009900]}[/COLOR]


[B]private[/B] [COLOR=#003399]String[/COLOR] capitalize[COLOR=#009900]([/COLOR][COLOR=#003399]String[/COLOR] s[COLOR=#009900])[/COLOR] [COLOR=#009900]{[/COLOR]
    [B]if[/B] [COLOR=#009900]([/COLOR]s [COLOR=#339933]==[/COLOR] [COLOR=#000066][B]null[/B][/COLOR] [COLOR=#339933]||[/COLOR] s.[COLOR=#006633]length[/COLOR][COLOR=#009900]([/COLOR][COLOR=#009900])[/COLOR] [COLOR=#339933]==[/COLOR] [COLOR=#CC66CC]0[/COLOR][COLOR=#009900])[/COLOR] [COLOR=#009900]{[/COLOR]
        [B]return[/B] [COLOR=#0000FF]""[/COLOR][COLOR=#339933];[/COLOR]
    [COLOR=#009900]}[/COLOR]
    [COLOR=#000066][B]char[/B][/COLOR] first [COLOR=#339933]=[/COLOR] s.[COLOR=#006633]charAt[/COLOR][COLOR=#009900]([/COLOR][COLOR=#CC66CC]0[/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
    [B]if[/B] [COLOR=#009900]([/COLOR][COLOR=#003399]Character[/COLOR].[COLOR=#006633]isUpperCase[/COLOR][COLOR=#009900]([/COLOR]first[COLOR=#009900])[/COLOR][COLOR=#009900])[/COLOR] [COLOR=#009900]{[/COLOR]
        [B]return[/B] s[COLOR=#339933];[/COLOR]
    [COLOR=#009900]}[/COLOR] [B]else[/B] [COLOR=#009900]{[/COLOR]
        [B]return[/B] [COLOR=#003399]Character[/COLOR].[COLOR=#006633]toUpperCase[/COLOR][COLOR=#009900]([/COLOR]first[COLOR=#009900])[/COLOR] [COLOR=#339933]+[/COLOR] s.[COLOR=#006633]substring[/COLOR][COLOR=#009900]([/COLOR][COLOR=#CC66CC]1[/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
    [COLOR=#009900]}[/COLOR]
[COLOR=#009900]}[/COLOR][/FONT]
[/FONT][/COLOR]
سپس به صورت زیر، مدل گوشی را به صورت یک رشته (String) به دست می آوریم :
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace][COLOR=#003399]String[/COLOR] device_model [COLOR=#339933]=[/COLOR] getDeviceName[COLOR=#009900]([/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR][/FONT]
[/FONT][/COLOR]
به عنوان مثال، کل کدهای Activity می تواند به صورت زیر باشد :
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace][B]package[/B] [COLOR=#006699]com.www.www.iran-eng.ir[/COLOR][COLOR=#339933];[/COLOR]

[B]import[/B] [COLOR=#006699]android.app.Activity[/COLOR][COLOR=#339933];[/COLOR]
[B]import[/B] [COLOR=#006699]android.os.Build[/COLOR][COLOR=#339933];[/COLOR]
[B]import[/B] [COLOR=#006699]android.os.Bundle[/COLOR][COLOR=#339933];[/COLOR]

[B]public[/B] [B]class[/B] MainActivity [B]extends[/B] Activity [COLOR=#009900]{[/COLOR]

        @Override
        [B]protected[/B] [COLOR=#000066][B]void[/B][/COLOR] onCreate[COLOR=#009900]([/COLOR]Bundle savedInstanceState[COLOR=#009900])[/COLOR] [COLOR=#009900]{[/COLOR]
                [B]super[/B].[COLOR=#006633]onCreate[/COLOR][COLOR=#009900]([/COLOR]savedInstanceState[COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
                setContentView[COLOR=#009900]([/COLOR]R.[COLOR=#006633]layout[/COLOR].[COLOR=#006633]activity_main[/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
        
                [COLOR=#003399]String[/COLOR] device_model [COLOR=#339933]=[/COLOR] getDeviceName[COLOR=#009900]([/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]  
        [COLOR=#009900]}[/COLOR]
        
        
        
        [B]public[/B] [COLOR=#003399]String[/COLOR] getDeviceName[COLOR=#009900]([/COLOR][COLOR=#009900])[/COLOR] [COLOR=#009900]{[/COLOR]
            [COLOR=#003399]String[/COLOR] manufacturer [COLOR=#339933]=[/COLOR] Build.[COLOR=#006633]MANUFACTURER[/COLOR][COLOR=#339933];[/COLOR]
            [COLOR=#003399]String[/COLOR] model [COLOR=#339933]=[/COLOR] Build.[COLOR=#006633]MODEL[/COLOR][COLOR=#339933];[/COLOR]
            [B]if[/B] [COLOR=#009900]([/COLOR]model.[COLOR=#006633]startsWith[/COLOR][COLOR=#009900]([/COLOR]manufacturer[COLOR=#009900])[/COLOR][COLOR=#009900])[/COLOR] [COLOR=#009900]{[/COLOR]
                [B]return[/B] capitalize[COLOR=#009900]([/COLOR]model[COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
            [COLOR=#009900]}[/COLOR] [B]else[/B] [COLOR=#009900]{[/COLOR]
                [B]return[/B] capitalize[COLOR=#009900]([/COLOR]manufacturer[COLOR=#009900])[/COLOR] [COLOR=#339933]+[/COLOR] [COLOR=#0000FF]" "[/COLOR] [COLOR=#339933]+[/COLOR] model[COLOR=#339933];[/COLOR]
            [COLOR=#009900]}[/COLOR]
        [COLOR=#009900]}[/COLOR]


        [B]private[/B] [COLOR=#003399]String[/COLOR] capitalize[COLOR=#009900]([/COLOR][COLOR=#003399]String[/COLOR] s[COLOR=#009900])[/COLOR] [COLOR=#009900]{[/COLOR]
            [B]if[/B] [COLOR=#009900]([/COLOR]s [COLOR=#339933]==[/COLOR] [COLOR=#000066][B]null[/B][/COLOR] [COLOR=#339933]||[/COLOR] s.[COLOR=#006633]length[/COLOR][COLOR=#009900]([/COLOR][COLOR=#009900])[/COLOR] [COLOR=#339933]==[/COLOR] [COLOR=#CC66CC]0[/COLOR][COLOR=#009900])[/COLOR] [COLOR=#009900]{[/COLOR]
                [B]return[/B] [COLOR=#0000FF]""[/COLOR][COLOR=#339933];[/COLOR]
            [COLOR=#009900]}[/COLOR]
            [COLOR=#000066][B]char[/B][/COLOR] first [COLOR=#339933]=[/COLOR] s.[COLOR=#006633]charAt[/COLOR][COLOR=#009900]([/COLOR][COLOR=#CC66CC]0[/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
            [B]if[/B] [COLOR=#009900]([/COLOR][COLOR=#003399]Character[/COLOR].[COLOR=#006633]isUpperCase[/COLOR][COLOR=#009900]([/COLOR]first[COLOR=#009900])[/COLOR][COLOR=#009900])[/COLOR] [COLOR=#009900]{[/COLOR]
                [B]return[/B] s[COLOR=#339933];[/COLOR]
            [COLOR=#009900]}[/COLOR] [B]else[/B] [COLOR=#009900]{[/COLOR]
                [B]return[/B] [COLOR=#003399]Character[/COLOR].[COLOR=#006633]toUpperCase[/COLOR][COLOR=#009900]([/COLOR]first[COLOR=#009900])[/COLOR] [COLOR=#339933]+[/COLOR] s.[COLOR=#006633]substring[/COLOR][COLOR=#009900]([/COLOR][COLOR=#CC66CC]1[/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
            [COLOR=#009900]}[/COLOR]
        [COLOR=#009900]}[/COLOR] 
        
        
[COLOR=#009900]}[/COLOR][/FONT]
[/FONT][/COLOR]
برخی از خروجی های این کد برای گوش های مختلف :
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace]Samsung GT[COLOR=#339933]-[/COLOR]S5830L
Motorola MB860
Sony Ericsson LT18i
LGE LG[COLOR=#339933]-[/COLOR]P500
HTC Desire V
HTC Wildfire S A510e[/FONT]
[/FONT][/COLOR]
 

P O U R I A

مدیر مهندسی شیمی مدیر تالار گفتگوی آزاد
مدیر تالار
به دست آوردن کل حافظه RAM گوشی (برای نسخه API برابر 16 و بالاتر)، در برنامه نویسی اندروید

به دست آوردن کل حافظه RAM گوشی (برای نسخه API برابر 16 و بالاتر)، در برنامه نویسی اندروید

در این مبحث، کدی را برای به دست آوردن کل حافظه RAM گوشی ذکر می کنیم، تنها دقت داشته باشید که این کد، برای نسخه های API برابر 16 و بالاتر قابل استفاده است :
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace]ActivityManager actManager [COLOR=#339933]=[/COLOR] [COLOR=#009900]([/COLOR]ActivityManager[COLOR=#009900])[/COLOR] getSystemService[COLOR=#009900]([/COLOR]ACTIVITY_SERVICE[COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
MemoryInfo memInfo [COLOR=#339933]=[/COLOR] [B]new[/B] ActivityManager.[COLOR=#006633]MemoryInfo[/COLOR][COLOR=#009900]([/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
actManager.[COLOR=#006633]getMemoryInfo[/COLOR][COLOR=#009900]([/COLOR]memInfo[COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
[COLOR=#000066][B]long[/B][/COLOR] totalMemory [COLOR=#339933]=[/COLOR] memInfo.[COLOR=#006633]totalMem[/COLOR][COLOR=#339933];[/COLOR][/FONT]
[/FONT][/COLOR]
 
بالا