Ist es möglich, eine rohe Textdatei ohne Kontextreferenz in einem Android-Bibliotheksprojekt zu lesen

Ich könnte eine Textdatei in den Ordner res \ raw eines Bibliotheksprojekts setzen, aber das Lesen scheint eine Kontextreferenz zu erfordern. Kann jemand etwas beleuchten?

  • Blockieren / Freigeben einer Anwendung aus meiner Anwendung: Android
  • Bildgröße (drawable-hdpi / ldpi / mdpi / xhdpi)
  • Divider funktioniert nicht für TitlePageIndicator mit viewpagerindicator & actionbarsherlock
  • Kann ich meinen android emulator zwicken, um es schnell zu machen?
  • Wie kann ich alle Aktivitäten beenden und die Anwendung in Android schließen?
  • Android Dual Sim Emulator
  • Android Studio: Integrating Butterknife?
  • Kombinieren von ListActivity und ActionBarActivity
  • Android GridLayout Mitte horizontal
  • So zeigen Sie mehrere Benachrichtigungen in Android an
  • Tägliche Benachrichtigungen zu bestimmten Zeiten
  • Wie kann ich ein Programm programmgesteuert in Android erstellen?
  • 2 Solutions collect form web for “Ist es möglich, eine rohe Textdatei ohne Kontextreferenz in einem Android-Bibliotheksprojekt zu lesen”

    Schauen Sie sich meine Antwort hier an, um zu sehen, wie man Datei von POJO liest.

    Im Allgemeinen sollte der Res-Ordner automatisch in den Projekt-Build-Pfad durch ADT-Plugin hinzugefügt werden. Angenommen, Sie haben eine test.txt gespeichert unter res / raw Ordner, um es zu lesen, ohne android.content.Context:

    String file = "raw/test.txt"; // res/raw/test.txt also work. InputStream in = this.getClass().getClassLoader().getResourceAsStream(file); 

    Ich habe das vorher mit einer alten SDK-Version gemacht, es sollte auch mit dem neuesten SDK arbeiten. Probieren Sie es aus und sehen Sie, ob das hilft.

    Um auf eine Ressource zugreifen zu können, benötigen Sie einen Kontext. Sehen Sie hier die Definition von Context.class von der Entwickler-Website

    Schnittstelle zu globalen Informationen über eine Anwendungsumgebung. Dies ist eine abstrakte Klasse, deren Implementierung durch das Android-System bereitgestellt wird. Es ermöglicht den Zugriff auf anwendungsspezifische Ressourcen und Klassen sowie Aufrufe für Applikationsebenen, wie zB die Einführung von Aktivitäten, Rundfunk- und Empfangsabsichten usw.

    So können Sie durch einen Kontext auf eine Ressourcendatei zugreifen. Sie können eine andere Klasse erstellen und den Kontext von einer Aktivität an sie weitergeben. Erstellen Sie eine Methode, die eine angegebene Ressourcendatei liest.

    Beispielsweise:

     public class ReadRawFile { //Private Variable private Context mContext; /** * * Default Constructor * * @param context activity's context */ public ReadRawFile(Context context){ this.mContext = context; } /** * * @param str input stream used from readRawResource function * @param x integer used for reading input stream * @param bo output stream */ private void writeBuffer(InputStream str, int x, ByteArrayOutputStream bo){ //not hitting end while(x!=-1){ //write to output buffer bo.write(x); try { //read next x = str.read(); } catch (IOException e) { e.printStackTrace(); } } } /** * * @return output file to string */ public String readRawResource(){ //declare variables InputStream rawUniversities = mContext.getResources().openRawResource(R.raw.universities); ByteArrayOutputStream bt = new ByteArrayOutputStream(); int universityInteger; try{ //read/write universityInteger = rawUniversities.read(); writeBuffer(rawUniversities, universityInteger, bt); }catch(IOException e){ e.printStackTrace(); } //return string format of file return bt.toString(); } } 
    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.