Saya ingin menyimpan file ke penyimpanan internal dengan memasukkan teks yang dimasukkan dari EditText. Lalu saya ingin file yang sama untuk mengembalikan teks yang dimasukkan dalam bentuk String dan menyimpannya ke String lain yang akan digunakan nanti.
Berikut kodenya:
package com.omm.easybalancerecharge;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.telephony.TelephonyManager;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final EditText num = (EditText) findViewById(R.id.sNum);
Button ch = (Button) findViewById(R.id.rButton);
TelephonyManager operator = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
String opname = operator.getNetworkOperatorName();
TextView status = (TextView) findViewById(R.id.setStatus);
final EditText ID = (EditText) findViewById(R.id.IQID);
Button save = (Button) findViewById(R.id.sButton);
final String myID = ""; //When Reading The File Back, I Need To Store It In This String For Later Use
save.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
//Get Text From EditText "ID" And Save It To Internal Memory
}
});
if (opname.contentEquals("zain SA")) {
status.setText("Your Network Is: " + opname);
} else {
status.setText("No Network");
}
ch.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
//Read From The Saved File Here And Append It To String "myID"
String hash = Uri.encode("#");
Intent intent = new Intent(Intent.ACTION_CALL);
intent.setData(Uri.parse("tel:*141*" + /*Use The String With Data Retrieved Here*/ num.getText()
+ hash));
startActivity(intent);
}
});
}
Saya telah menyertakan komentar untuk membantu Anda menganalisis poin saya lebih lanjut tentang di mana saya ingin operasi dilakukan / variabel yang akan digunakan.
Jawaban:
Semoga ini bermanfaat bagi Anda.
Menulis file:
Baca File:
sumber
final
blok seperti dalam jawaban @SharkAlleyBagi mereka yang mencari strategi umum untuk membaca dan menulis string ke file:
Pertama, dapatkan objek file
Anda akan memerlukan jalur penyimpanan. Untuk penyimpanan internal, gunakan:
Untuk penyimpanan eksternal (kartu SD), gunakan:
Kemudian buat objek file Anda:
Tulis string ke file
Atau dengan Google Jambu
Baca file ke string
Atau jika Anda menggunakan Google Guava
Untuk kelengkapan saya akan menyebutkan
yang tidak memerlukan pustaka, tetapi tolok ukur 50% - 400% lebih lambat dari opsi lain (dalam berbagai tes pada Nexus 5 saya).
Catatan
Untuk masing-masing strategi ini, Anda akan diminta untuk menangkap IOException.
Pengkodean karakter default di Android adalah UTF-8.
Jika Anda menggunakan penyimpanan eksternal, Anda harus menambahkan manifes Anda:
atau
Izin menulis menyiratkan izin baca, jadi Anda tidak perlu keduanya.
sumber
new File(path + "/my-file-name.txt");
. Ini sangat menentang pengertianFile
. Gunakannew File(path, "my-file-name.txt");
sebagai gantinya.File
apakah ada karena suatu alasan. Dalam kasus Anda, Anda bisa saja melewatiFile
dan melakukannyanew FileInputStream(path + "/my-file-name.txt");
, yang saya tidak rekomendasikan. (Bagaimana jikapath
berisi/
sumber
context.getFilesDir()
. Anda bisa mengganti kemunculannew File(context.getFilesDir(), fileName)
denganFile
objek atauString
fungsi yang diteruskan alih-alihfileName
.Hanya sedikit modifikasi pada pembacaan string dari metode file untuk kinerja lebih
sumber
periksa kode di bawah ini.
Membaca dari file di sistem file.
kode di bawah ini adalah untuk menulis file ke sistem file internal.
Saya pikir ini akan membantu Anda.
sumber
Saya sedikit pemula dan berjuang untuk berhasil hari ini.
Di bawah ini adalah kelas yang saya ikuti. Ini bekerja tetapi saya bertanya-tanya seberapa tidak sempurna solusi saya. Bagaimanapun, saya berharap beberapa dari Anda yang lebih berpengalaman mungkin bersedia untuk melihat kelas IO saya dan memberi saya beberapa tips. Bersulang!
sumber
hal pertama yang kita butuhkan adalah izin di AndroidManifest.xml
jadi di kelas Kotyn asyncTask, kami memperlakukan pembuatan file
Tentu saja jika Anda menggunakan Android di atas Api 23, Anda harus menangani permintaan untuk memungkinkan penulisan ke memori perangkat. Sesuatu seperti ini
lalu dalam suatu kegiatan, jalankan panggilan.
sumber
Kotlin
sumber