بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ

چگونه آرایه ای داشته باشیم که Data Type های مختلف رو در خود جای دهد

مدیریت گفتگو
rad 10 سال پیش
آخرین تغییر: 10 سال پیش

چگونه آرایه ای داشته باشیم که Data Type های مختلف رو در خود جای دهد

برای مثال خوندن مشخصات دستگاه توی لوگ میشه نمایش داد ولی برای کاربر چطور نمایش داده بشه

     public static String[] readImei() {
TelephonyManager telephonyManager = (TelephonyManager) G.context.getSystemService(Context.TELEPHONY_SERVICE);
String imei = telephonyManager.getDeviceId();
String deviceSoftwareVersion = telephonyManager.getDeviceSoftwareVersion();
String simOperator = telephonyManager.getSimOperator();
String simOperatorName = telephonyManager.getSimOperatorName();
String voiceMailNumber = telephonyManager.getVoiceMailNumber();
String Line1Number= telephonyManager.getLine1Number();
String networkcountryIso= telephonyManager.getNetworkCountryIso();
String networkoperator= telephonyManager.getNetworkOperator();
String networkoperatorName= telephonyManager.getNetworkOperatorName();
String simSerialNumber= telephonyManager.getSimSerialNumber();
String subscriberId= telephonyManager.getSubscriberId();

List<NeighboringCellInfo> NeighboringCellInfo= telephonyManager.getNeighboringCellInfo();

CellLocation CellLocation= telephonyManager.getCellLocation();

int networkType= telephonyManager.getNetworkType();
int phoneType= telephonyManager.getPhoneType();
int DataActivity= telephonyManager.getDataActivity();
int CallState= telephonyManager.getCallState();
int simState= telephonyManager.getSimState();

boolean hasIccCard= telephonyManager.hasIccCard();
boolean isNetworkRoaming = telephonyManager.isNetworkRoaming();

String[] stringslist = new String[]{
imei,
deviceSoftwareVersion,
simOperator,
simOperatorName,
voiceMailNumber,
Line1Number,
networkcountryIso,
networkoperator,
networkoperatorName,
simSerialNumber,
subscriberId
};

Log.i("LOG", "IMEI : " + imei);
Log.i("LOG", "Device Software Version : " + deviceSoftwareVersion);
Log.i("LOG", "Simcard Operator : " + simOperator);
Log.i("LOG", "Simcard Operator Name : " + simOperatorName);
Log.i("LOG", "Voice Mail Number : " + voiceMailNumber);
Log.i("LOG", "deviceSoftwareVersion : "+deviceSoftwareVersion);
Log.i("LOG", "simOperator : "+simOperator);
Log.i("LOG", "simOperatorName : "+simOperatorName);
Log.i("LOG", "voiceMailNumber : "+voiceMailNumber);
Log.i("LOG", "Line1Number : "+Line1Number);
Log.i("LOG", "networkcountryIso : "+networkcountryIso);
Log.i("LOG", "networkoperator : "+networkoperator);
Log.i("LOG", "networkoperatorName : "+networkoperatorName);
Log.i("LOG", "simSerialNumber : "+simSerialNumber);
Log.i("LOG", "subscriberId : "+subscriberId);
Log.i("LOG", "CallState : "+CallState);
Log.i("LOG", "CellLocation : "+CellLocation);
Log.i("LOG", "DataActivity : "+DataActivity);
Log.i("LOG", "Line1Number : "+Line1Number);
Log.i("LOG", "NeighboringCellInfo : "+NeighboringCellInfo);
Log.i("LOG", "networkType : "+networkType);
Log.i("LOG", "phoneType : "+phoneType);
Log.i("LOG", "simState : "+simState);
Log.i("LOG", "hasIccCard : "+hasIccCard);
Log.i("LOG", "isNetworkRoaming : "+isNetworkRoaming);


return stringslist;
}

نظرات

Criss 10 سال پیش
منظورتون رو متوجه نشدم ، شما میخواید یک آرایه داشته باشید که متغیر های مختلف String + int + boolean + float و غیره رو در خودش نگه داره ؟ ولی مثالی که زدید در مورد مشخصات دستگاه همشون بصورت String هستند !
rad 10 سال پیش
آره خب درست متوجه شدید منم میخوام یک آرایه داشته باشم که متغیر های مختلف String + int + boolean + float و غیره رو در خودش نگه داره . من با اینتر نوع متغیر ها رو دسته بندی کردم .همون طور که گفتید من فقط میتونم از این متد فقط String ها رو Return کنم و برای کاربر نمایش بدم و . درصورتی که توی لوگ همه رو میشه لوگ کرد.

پاسخ‌ها 1

RODER 10 سال پیش

خب ساده ترین راه اینه که ما خودمون یک نوع داده ی جدید بسازیم .

مثلا یک کلاس جدید بسازیم که شامل فیلد هایی از نوع عددی و فیلد هایی از نوع رشته باشه و بعد بیایم یک آرایه از همون نوع ایجاد کنیم .

مثال:

خب بعدش میتونیم نمونه هایی از این نوع (کلاس )بسازیم و استفاده کنیم .

public class Student {
public int age;
public float average;
public String fullName;


public Student(int a , float ave , String name){
age = a;
average = ave ;
fullName = name;


}

}
ArrayList<Student> students =newArrayList<Student>();for(int i =0; i <100; i++){
Student student = new Student(i,i/2,'name'+i);
students .add(student);
}

نظرات

rad 10 سال پیش
ای ول خودشه

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .