Eclipse IDE Java-эквивалент PHP включает? - PullRequest
0 голосов
/ 16 октября 2011

Я копался, но ничего полезного не нашел.

Я работаю над приложением для Android.

В основном у меня есть пакет, и в нем пока три файла java; моя страница основного экрана, страница настроек и то, что я назвал «subs.java», куда я помещаю полезные функции, подпрограммы.

Я пытаюсь создать этот файл «subs.java», в котором могут храниться подпрограммы, которые используются более чем в одном месте.

Итак, у меня есть главная страница приложения и страница настроек. Обе эти «страницы» должны использовать эти общие функции.

Итак, я собирался поместить их в мой «subs.java», чтобы не допустить удвоения кода.

Где я застрял, теперь у меня есть этот файл subs.java, как мне с ним связаться?

В PHP, если я хочу использовать другой файл, я просто включаю его и у меня есть доступ ко всем его функциям.

Полагаю, я пытаюсь создать библиотеку, но Java для меня новинка.

Как мне тогда это сделать в Eclipse / Java?

Вот мой вспомогательный файл с некоторыми полезными функциями, которые я нашел еще где:

package com.example.helloandroid;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;

import android.app.Activity;
import android.content.Context;
import android.widget.Toast;

public class Subs extends Activity {

    // Read settings
    public String ReadSettings(Context context){
        FileInputStream fIn = null;
        InputStreamReader isr = null;

        char[] inputBuffer = new char[255];
        String data = null;

        try {
            fIn = openFileInput("settings.dat");      

            isr = new InputStreamReader(fIn);
            isr.read(inputBuffer);
            data = new String(inputBuffer);

            Toast.makeText(context, "Settings read",Toast.LENGTH_SHORT).show();
        }
        catch (Exception e) {      
            e.printStackTrace();
            Toast.makeText(context, "Settings not read",Toast.LENGTH_SHORT).show();
        }
        finally {
            try {
                isr.close();
                fIn.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        return data;
    }

 // Save settings
    public void WriteSettings(Context context, String data){
        FileOutputStream fOut = null;
        OutputStreamWriter osw = null;

        try {
              fOut = openFileOutput("settings.dat",MODE_PRIVATE);      
              osw = new OutputStreamWriter(fOut);
              osw.write(data);
              osw.flush();
              Toast.makeText(context, "Settings saved",Toast.LENGTH_SHORT).show();
        }
        catch (Exception e) {      
            e.printStackTrace();
            Toast.makeText(context, "Settings not saved",Toast.LENGTH_SHORT).show();
        }
        finally {
            try {
                osw.close();
                fOut.close();
            }
            catch (IOException e) {
                e.printStackTrace();
            }
        }
    }




}

Ответы [ 4 ]

0 голосов
/ 16 октября 2011

А как насчет "импорта"? Вы можете импортировать простой класс, а не только библиотеку ...

Поместите ваши общие подпрограммы как статические методы в класс (например, "MyAppHelper") и вызовите их на своих "экранах":

MyAppHelper.function1(...)
0 голосов
/ 16 октября 2011

Если вы создали проект как пакет, то любой класс, использующий этот пакет, может получить доступ к любым другим.Так что, если у вас есть SomeFileA.java и он использует пакет com.something.me, и SomeFileB.java, который использует пакет com.something.me, то они могут ссылаться друг на друга.Обычно Eclipse автоматически добавляет любой импорт, если вы просто напишите «SomeFileB b = new SomeFileB();» в SomeFileA.Если нет, вы можете просто использовать

import com.something.me.SomeFileB;
0 голосов
/ 16 октября 2011

Вы бы использовали оператор import для импорта своего подкласса.Затем вы можете ссылаться на любую функцию в подклассе как subs.functionName()

Если файл subs.java находится в той же папке, что и другие ваши java-файлы, вы можете просто набрать import subs.

Узнайте больше о пакетах и ​​импорте на http://www.particle.kth.se/~lindsey/JavaCourse/Book/Part1/Java/Chapter05/packagesImport.html

0 голосов
/ 16 октября 2011

Самым близким к PHP include в Java является import. Подробнее об использовании import и package в Java .

...