0

我一直在挖掘,但找不到任何有用的东西。

我正在开发一个 Android 应用程序。

基本上我有一个包,到目前为止里面有三个java文件;我的主屏幕页面、设置页面以及我称之为“subs.java”的地方,我在其中放置了有用的功能、例程。

我要做的是创建这个“subs.java”文件,其中可以存储在多个地方使用的例程。

所以我有我的主应用程序页面,我有一个设置页面。这两个“页面”都需要使用这些常用功能。

所以我打算把它们放在我的“subs.java”中,这样​​我就不会把代码加倍。

我现在卡住的地方是我有这个 subs.java 文件如何链接到它?

在 PHP 中,如果我想使用另一个文件,我只需包含它,我就可以访问它的所有功能。

我想我正在尝试建立一个库,但 Java 对我来说是新的。

那么我将如何在 Eclipse/Java 中执行此操作?

这是我的 subs 文件,其中包含一些我在其他地方找到的有用功能:

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

4 回答 4

0

Java 中最接近 PHP 的includeimport. 阅读有关在 Java 中使用importpackage的更多信息。

于 2011-10-16T15:28:18.730 回答
0

如果您已将项目创建为包,则使用该包的任何类都可以访问任何其他类。因此,如果您拥有SomeFileA.java并且它使用 packagecom.something.me并且SomeFileB.java使用 packagecom.something.me那么它们可以相互引用。SomeFileB b = new SomeFileB();通常,如果您只是在 SomeFileA中完全写入,Eclipse 会自动添加任何导入。如果没有,你可以使用

import com.something.me.SomeFileB;
于 2011-10-16T15:28:58.693 回答
0

您将使用该import语句来导入您的 subs 类。然后您可以将 subs 类中的任何函数称为subs.functionName()

如果 subs.java 与其他 java 文件位于同一文件夹中,则只需键入import subs.

在http://www.particle.kth.se/~lindsey/JavaCourse/Book/Part1/Java/Chapter05/packagesImport.html阅读更多关于包和导入的信息

于 2011-10-16T15:29:29.940 回答
0

“进口”呢?您可以导入一个简单的类,而不仅仅是一个库......

将您的常用例程作为静态方法放在一个类中(例如“MyAppHelper”),并在您的“屏幕”中调用它们:

MyAppHelper.function1(...)
于 2011-10-16T15:31:46.447 回答