نوشتن و خواندن فایل در اندروید

0 امتیاز
353 بازدید
سوال شده آذر 23, 1394 توسط amirznad  
ویرایش شده آذر 24, 1394 توسط ASHKARAN
سلام استاد خسته نباشید

می خواهم یک سری اطلاعات را در یک فایل متنی ذخیره کنم  اگر می شه ی راهنمایی کنید و یا کلاس هایش را بنویسید

و حالا با این شرط در نظر بگیرید که داخل یک

fragment

باشد باید چه کار کرد

خیلی ممنون استاد
این مطلب را به اشتراک بگذارید

1 پاسخ

+1 امتیاز
پاسخ داده شده آذر 23, 1394 توسط ASHKARAN  
انتخاب شده آذر 24, 1394 توسط ASHKARAN
 
بهترین پاسخ

با استفاده از تابع زیر می تونید یک فایل رو به صورت Internal  در مکان ذخیره سازی برنامتون ایجاد کنید......

private void save(String name , String data , int mode){
		
		try {
			FileOutputStream fileOutPutStream = openFileOutput(name, mode);
			fileOutPutStream.write(data.getBytes());
			fileOutPutStream.close();
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

و با استفاده از تابع زیر هم می تونید مقدار اون فایل رو بخونید :

private void restore(String name){
		
		try {
			FileInputStream fileInputStream = openFileInput(name);
			int data = 0;
			String txt = "";
			
			while((data=fileInputStream.read()) != -1){
				txt += Character.toString((char)data);
			}
			 
		 //data goes here....
			
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
دارای دیدگاه آذر 24, 1394 توسط amirznad  
ویرایش شده آذر 24, 1394 توسط amirznad
خیلی ممنون استاد راستی برای وارد کردن

name

بادید اینطوری عمل کنیم

R.raw.example

استاد راستی این تابع را نمی شناسد openFileInput(name)
دارای دیدگاه آذر 24, 1394 توسط ASHKARAN  

با عرض سلام

نه ! برای وارد کردن اسم فایل می تونید از یک متغیر String  استفاده کنید.....

String name = "Something";
String data = "SomeDataGoesHere.....";
int    mode = 0;

 save(name , data , mode);

برای استفاده از توابع بالا بایستی کلاس های مربوطه رو import بفرمایید :

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

 

 

دارای دیدگاه آذر 24, 1394 توسط amirznad  
ویرایش شده آذر 24, 1394 توسط amirznad
The method openFileInput(String) is undefined for the type Fragment_studend استاد دقیقا این ارور رو می ده 

راستی الان این اطلاعات داخل یک فایلtxt ذخیره نمی شه اگه می شه ی مقدار در این مورد توضیح بدید

ما در فصل اول اموزش های شما به ی صورت دیگری اطلاعات رو ذخیره می کردیم و داخل یک فایل تکس قرار می دادیم 

سوال دیگری که داشتم برای این حالت ایا می شود اطلاعات زیادی ذخیره کرد مثلا تمام اس ام های یک ساله ی یک نفر اگر نمی شود یک روش دیگر ارائه کنید ممنون می شوم

دارای دیدگاه آذر 25, 1394 توسط ASHKARAN  

برای استفاده از 

openFileOutput |||| openFileInput

شما نیاز به  Context  دارید.....

کد 

openFileOutput(name, mode);

رو با کد زیر عوض کنید :

getContext().openFileOutput(name, mode);

 

1,004 سوال

838 پاسخ

1,352 دیدگاه

1,308 کاربر

این مطلب را به اشتراک بگذارید

ali.ashkaran@gmail
ما .....
  • سعی بر پاسخگویی به سوالات دیگران داریم.
  • به سوال و یا نظر دیگران احترام می گذاریم .
  • این وبسایت را به دیگران معرفی می کنیم.
  • همواره صمیمیت و ادب را رعایت می کنیم.
  • به سوالمان برچسب های مرتبط اضافه می کنیم.
  • در حین طرح سوال فرد خاصی را مخاطب قرار نمی دهیم .
...