2016-07-02 16 views
0

この質問はAndroidについてですが、これはAndroid固有のものだとは思いません。独立したJavaファイルのメソッドを使用する

MainActivity.javaとfiletools.javaの2つのファイルを使用したいプロジェクトがあります。 filetools.javaには3つのメソッドがあり、読み込み、書き込み、追加ができます。 私はMainActivityにこのような何かを行うことができるようにしたい:

filetools.write("/sdcard/file.txt", "something");

MainActivityのためのコードは、単にパッケージ、輸入、クラス、およびのonCreateです。

filetoolsのためのコード:

package com.tylerr147.FileRW; 

import java.io.File; 
import java.io.FileOutputStream; 
import java.io.IOException; 
import java.io.OutputStreamWriter; 
import java.util.Scanner; 

public class filetools 
{ 
     public String read(String fName){ 
     try{ 
      File mFile = new File(fName); 
      String content = new Scanner(mFile).useDelimiter("\\Z").next(); 
     return content; 
    }catch(Exception e) { 
     return "There was an error retrieving your file. The proccess returned this error:\n"+e.toString(); 
    } 

    } 

    public boolean write(String loc, String stuff) { 
    File mfile = new File(loc); 
    try { 
     mfile.createNewFile(); 
     FileOutputStream f = new FileOutputStream(mfile); 
     OutputStreamWriter f2 = new OutputStreamWriter(f); 
     f2.append(stuff); 
     f2.close(); 
     f.close(); 
    } catch(IOException e) { 
     return false; 
    } 
    return true; 
    } 

    public void append(String filename,  String content) { 
    write(filename, read(filename)+content); 
    } 
} 

私が行うことができるようにしたいもう一つは、私が何かをする可能性がどのようにパッケージcom.app.importerによって

を完全に別のアプリを持っていることですlike

import com.app.importer; 

importerAppsMethod(); 

私はstackoverflowでいくつかの投稿を見つけましたが、役に立たないです。

Importing my custom class and calling it's method?

は、さらにいくつかありますが、私は検索しましたし、私の作品何かを見つけることができません。何か助けを頂きました

+1

異なるパッケージのMainActivityクラスはファイルツールですか?お互いを使っている異なるパッケージのクラスの質問ですか? –

+0

いいえ、彼らは同じパッケージに入っています。私はちょっと別のパッケージを使用することについての質問をしました。 –

+0

'' filetools.write( "/ sdcard/file.txt"、 "something"); ' - ' write'メソッドをstaticとして宣言する必要があります。たとえば、 'public static boolean write(String loc、String stuff)'とします。同様の動作が必要な場合は、他のすべての方法で同じ操作を行う必要があります。これはあなたが探しているものですか? – ishmaelMakitla

答えて

2

私は@ishmaelMakitlaコメントintocan答えを入れています。

filetools.write( "/ sdcard/file.txt"、 "something")のようにするには、次のようにします。 - 書き込みメソッドを静的として宣言する必要があります。たとえば、public static boolean write(String loc、String stuff)です。同様の動作が必要な場合は、他のすべての方法で同じ操作を行う必要があります。これはあなたが探しているものですか?

関連する問題