Intereting Posts
EditText подчеркивает свойство text Можете ли вы восстановить удаленные модули .iml-файл в андроид-студии Неверный размер изображения элемента изображения Видимость панели обнаружения / TYPE_SYSTEM_OVERLAY не изменяется автоматически Кинжал 2 на Android: вводят ту же зависимость в Activity и сохраненный фрагмент Как добавить простой заголовок / нижний колонтитул 8dp в Android RecyclerView? Ошибка неопределенной базы данных в Android-телефоне? Градиент развертки: что это такое и его примеры Не удалось запустить приложение Android в Eclipse; Внутренняя ошибка произошла во время: «Запуск myApp» MediaStore – Uri для запроса всех типов файлов (носителей и носителей) Ошибка: устройство отключено Платформа L представляет собой предварительный просмотр и требует манифеста приложения, чтобы установить minSdkVersion в 'L' Временное всплывающее окно в Android Пример прослушивателя в Интернете Android Как освободить компонент в Android / iOS

Как вызвать метод класса, хранящегося под другим пакетом

Я новичок в Android Developing. Может any1, пожалуйста, назовите меня, как вызвать метод класса, хранящийся под другим пакетом.

Подобно классу A в пакете 1, вызывает метод в классе B пакета 2, который возвращает массив или объект.

Должен ли я создать для этого намерение? На самом деле я должен собрать всю информацию в 1 классе из разных классов, хранящихся в разных пакетах.

Заранее спасибо.

package com.xyz.Master; import android.app.Activity; import android.content.Context; import android.os.Build; import android.telephony.CellLocation; import android.telephony.TelephonyManager; import android.telephony.gsm.GsmCellLocation; public class PhoneInfo extends Activity { TelephonyManager tm = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE); GsmCellLocation location = (GsmCellLocation) tm.getCellLocation(); public int cellID, lac,mcc,mnc; public String imei,manufacturer,model,product; String[] phoneInfo; int[] phoneLocationInfo; public String[] getHandsetInfo() { manufacturer = Build.MANUFACTURER; model = Build.MODEL; product = Build.PRODUCT; imei=tm.getDeviceId(); String softwareVersion = tm.getDeviceSoftwareVersion(); phoneInfo = new String[5]; phoneInfo[0]=imei; phoneInfo[1]=product; phoneInfo[2]=model; phoneInfo[3]=manufacturer; phoneInfo[4]=softwareVersion; return phoneInfo; } public int[] getHandsetLocationInfo() { phoneLocationInfo= new int[4]; String networkOperator = tm.getNetworkOperator(); if (networkOperator != null) { mcc = Integer.parseInt(networkOperator.substring(0, 3)); mnc = Integer.parseInt(networkOperator.substring(3)); } CellLocation.requestLocationUpdate(); cellID = location.getCid(); lac = location.getLac(); phoneLocationInfo[0]=cellID; phoneLocationInfo[1]=lac; phoneLocationInfo[2]=mcc; phoneLocationInfo[3]=mnc; return phoneLocationInfo; } } 

Я хочу вызвать выше методы из другого класса и получить эти массивы. Как это сделать, есть ли ошибка в коде выше?

Solutions Collecting From Web of "Как вызвать метод класса, хранящегося под другим пакетом"

Предполагая, что речь идет о package Java, тогда у нас есть несколько правил для вызова методов в классах в других пакетах. Чтобы это было просто, это работает:

 package com.example.one; public class ArrayProvider { public String[] getArray() { return new String{"I'm ","inside ", "an ", "array "}; } public static Object getObject() { return new String{"I'm ","inside ", "an ", "array "}; } } 

Теперь ваш код для доступа к методам класса ArrayProvider из другого пакета:

 package my.namespace.app; import com.example.one.ArrayProvider; // import the other class public class MyClass { public static void main(String[] args) { // to access the static method Object result1 = ArrayProvider.getObject(); // to access "the other" method ArrayProvider provider = new ArrayProvider(); String[] result2 = provider.getArray(); } } 

Дальнейшее чтение

  • Учебник Java (ваш вопрос нацелен на базовые знания Java)

Просто импортируйте другой пакет и создайте экземпляр класса B и вызовите функцию.

 package Package1; import Package2; Class A { void callClassBFunction(){ B = new B(); b.callFunction(); } package Package2; public class B { //class B should be public Object callFunction(){ //do something and return object } }