آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

استخراج محتوی متن داستان ها از دیتابیس و ذخیره در String( دوستان خواهشا راهنمایی کنید )

محبوبه  11 سال پیش  11 سال پیش
0 0

ممنونم میشم راهنمایی کنید ، با این تابع مقدار فیلد 2 که متن های داستانم توشه ، فراخونی میشه 

     public String namayesh_matn (String table,String season,String name,int page){
    	Cursor Cursor = mydb.rawQuery("select * from "+table+" where season='"+season+"' and name='"+name+"' and page="+page,null);
    	Cursor.moveToFirst();
    	String save = Cursor.getString(2);
    	return save;
    }

  میخوام در اکتیویتی مربوطه به متن داستان که کدهای زیر رو داره :

 public class matn_asli_dastan extends Activity{
	private LinearLayout ll ;
	private database db;
	private Button btn_next;
	private Button btn_back;
	private TextView txt_show_pages;
	private TextView txt_text;
	private TextView txt_title;
	private String season;
	private String name;
	private int page1;
	private int page2=1;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.matn_asli_dastan);
		
		db = new database(this);
		ll=(LinearLayout)findViewById(R.id.myll);
		btn_next = (Button) findViewById(R.id.btn_next);
		btn_back = (Button) findViewById(R.id.btn_back);
		
		txt_show_pages = (TextView) findViewById(R.id.txt_show_pages);
		txt_text = (TextView) findViewById(R.id.txt_text);
		txt_title = (TextView) findViewById(R.id.txt_title);
		
		Bundle ex = getIntent().getExtras();
		season = ex.getString("season");
		name = ex.getString("name");
		page1 = Integer.parseInt(ex.getString("page"));


		txt_text.setTypeface(MainActivity.font);
		txt_text.setTextSize(MainActivity.size);
		txt_text.setLineSpacing(MainActivity.space, 1);
		
		txt_show_pages.setTypeface(MainActivity.font);
		Typeface titr = Typeface.createFromAsset(getAssets(), "font/titr.ttf");
		txt_title.setTypeface(titr);
		RelativeLayout rl = (RelativeLayout) findViewById(R.id.main_txt_layout);
		
		if (MainActivity.mood.equals("day")) {
			
			Resources res = getResources();
			Drawable dr = res.getDrawable(R.drawable.light);
			rl.setBackgroundDrawable(dr);
			txt_text.setTextColor(Color.BLACK);
			txt_title.setTextColor(Color.BLACK);
			txt_show_pages.setTextColor(Color.BLACK);
		}else {
			Resources res = getResources();
			Drawable dr = res.getDrawable(R.drawable.dark);
			rl.setBackgroundDrawable(dr);
			txt_text.setTextColor(Color.WHITE);
			txt_title.setTextColor(Color.WHITE);
			txt_show_pages.setTextColor(Color.WHITE);
		}
		loader(season, name, page2);
		
		btn_next.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View arg0) {
					if(page1==page2){
						
					}else{
						page2++;
						loader(season, name, page2);
					}
			}
		});
		btn_back.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View arg0) {
					if(page2==1){
						
					}else{
						page2--;
						loader(season, name, page2);
					}
			}
		});
	}
	private void loader(String season,String Name,int page3){
		
		db.open();
		txt_title.setText(name);
		txt_text.setText(db.namayesh_matn("datastorys", season, Name, page3));
		txt_show_pages.setText("����" + page2 +" �� " + page1);
		db.close();
	}
	

متن کل داستان رو بخونم ، و هر جا که مثلا  <imgx.png>  رسید یا تگ های دیگه که براش تعریف کردم ، بره از پوشه assets  تصویر متناظر با اون رو لود کنه  جایگزین تگ مورد نظر بکنه ، با این متد متن رو میخونه :

 ll=(LinearLayout)findViewById(R.id.myll);
	
	String text = "text"; //  در این قسمت باید محتوی کل متن داستان ها ذخیره بشه //
	
		
		int c1=0,c2=0,c3=0;
		
		for(int i = 0;i<text.length();i++) {
			if(text.charAt(i)=='<') {
				
				c2=i;
				
				ctext(text.substring(c1,c2));
			}
			
if(text.charAt(i)=='>') {
				
				c3=i;
				
				cimg(text.substring(c2+1,c3));
				c1=i+1;
		
	}
	
	
	
			}
	/*
	
	ctext("text1");
	
	cimg("img02.png");
	
	*/
}

private void  ctext ( String text){
	
	TextView tv= new TextView(Tasvir.this);
	LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);
	
	lp.setMargins(10, 10, 10, 10);
	tv.setPadding(30, 10, 30, 10);
	lp.gravity=Gravity.CENTER;
	tv.setText(text);
    ll.addView(tv,lp);


}

private void  cimg ( String name){

	
 ImageView img = new ImageView (Tasvir.this);

	
 LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(200,200);

 AssetManager am = getAssets();

 InputStream is = null; 
 try {
	is = am.open("image/"+name);
 } catch (IOException e) {
	e.printStackTrace();
 }

Bitmap bi =BitmapFactory.decodeStream(is);

img.setImageBitmap(bi);
lp.gravity=Gravity.CENTER;
ll.addView(img,lp);

 


  }

}

 

حالا در قسمت مورد نظر من چطوری کل متن داستان رو از دیتابیس بخونم و در یک string  ذخیره کنم ، که بتونم با تابع بعدی متن رو بخونم و تگ ها رو پیدا کرده وبا تصویر مورد نظر جایگزین کنم ؟ ممنونم 

 برای این سوال 1 پاسخ وجود دارد.
پاسخ به سوال 
محبوبه  11 سال پیش
0 0

 در قسمت String  من این کد رو نوشتم به عبارتی محتوای داخلtxt_text  رو در یک string  دخیره کردم به این  شکل :

      String input = txt_text.getText().toString();

اما ارور 

 CursorIndexOutOfBoundsException: Index 0 requested, with a size of 0

میده ؟ لطفا راهنمایی کنید 

0 0
کسی نیست راهنمایی کنه ؟ (11 سال پیش)
0 0
دوستان لطف کنید راهنمایی کنید ، چطوری باید محتوی متنی که در داخل Textview ذخیره شده رو از دیتابیس بگیرم ؟ (11 سال پیش)

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .