رفتن به مطلب
انجمن اندروید ایران | آموزش برنامه نویسی اندروید و موبایل
  • android.png.1fab383bc8500cd93127cebc65b1dcab.png

نیاز به کمک یک برنامه نویس


پست های پیشنهاد شده

با عرض سلام و خسته نباشید

بنده یه نرم افزاری رو دارم طراحی میکنم برای اندروید یکم مشکلاتی دارم توش که چون تازه شروع کردم زیاد برام قابل درک نیست حل کردنشون

به خاطر همین به یک نفر کاربلد نیاز دارم یه کم وقت بذاری از طریقی چت یا چیزی بهم کمک بکنه در مورد موضوع های پیش اومده

البته این موضوعات که من توش گیر کردم برای یه برنامه نویس خوب مثل آب خوردنه حل کردنشون

اگر کسی هست که حس کمک کردن به یه نیازمند رو داره تو برنامه نویسی لطفا دریغ نکنه

ممنون:heart:

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

[email protected]

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

سلام

مشکلاتتون رو بفرمایید با سایر دوستان در خدمتیم

سلام خیلی ممنون از پاسختون

والا راستش قبلا هم مطرح کردم ولی به یه نتیجه ای نرسیدم و امیدوارم بتونید شما به کمکم برسید

یکی از مشکلاتم تو قسمت دیتابیس هست که تو زیر بطور کامل بهتون توضیح میدم

من یه تصاویری آپلود کردم که منظورمو واضح واضح برسونم

این تصویر زیر مثلا تصویر صفحه اول برناممه که نوشتم

mhau_1.jpg

خب میزنیم بره تو قسمت فهرست مطالب

6nnf_2.jpg

خب الان مثلا میریم بخش اول

suu3_4.jpg

الان اینایی که میبینید تو هر مستطیل من اونا رو به صورت یه ایمیج با فتوشاپ ساختم و با ایمیج ویو ست کردم اونجا یعنی داستان شماره 1 اون یه ایمیج ویو هستش که با کلیک بر روش بره یه صفحه که بالاش عنوان رو بنویسه و زیرش متن داستان رو

من واقعیت 1 یا دو بخش رو به صورت نوشتاری تو خود برنامه نوشتم متن هاش رو ولی دیدم واقعا زمان بره 

الان مثلا میخوام برای بخش سوم دیگه یه دیتابیس تعریف بشه که با یه دیتابیس مثلا 20 داستانی که قرار داده میشه قرار بگیره تو این ایمیج ویو ها

میخواستم یه توضیح کامل و یه کمک کامل در این مورد ببینم 

چون واقعا فعلا زیاد از برنامه نویسی چیزی بلد نیستم و مخم واقعا داره سوت میکشه اینقدر گشتم تو سایت های مختلف

خیلی ممنون میشم کمکم کنید

از طریق چت هم باشه خیلی خوب میشه ممنون

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

سلام

اگر مشکلتون کار با دیتابیس است باید به این صورت عمل کنید.

1-باید برای داستانتون یه سری خصوصیات تعریف کنید.در کلاس جداگانه مثلا

public class StoryInfo {
   
   private int id;
   private String part;
   private String title;
   private String story;
   private byte[] image;

   public int getId() {
       return id;
   }

   public void setId(int id) {
       this.id = id;
   }

   public String getPart() {
       return part;
   }

   public void setPart(String part) {
       this.part = part;
   }

   public String getTitle() {
       return title;
   }

   public void setTitle(String title) {
       this.title = title;
   }

   public String getStory() {
       return story;
   }

   public void setStory(String story) {
       this.story = story;
   }

   public byte[] getImage() {
       return image;
   }

   public void setImage(byte[] image) {
       this.image = image;
   }
}

2-ساخت کلاس Open Helper

public class MySqliteOpenHelper extends SQLiteOpenHelper {

public MySqliteOpenHelper(Context context) {
	super(context, "story.db", null, 1);
}

@Override
public void onCreate(SQLiteDatabase db) {
	String createTable = "CREATE TABLE STORY (_id INTEGER PRIMARY KEY AUTOINCREMENT," +
			"part TEXT NOT NULL," +
			"title TEXT NOT NULL," +
			"story TEXT NOT NULL," +
			"image BLOB);";

	db.execSQL(createTable);
}

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
}

}

3-ساخت یک Interface

public interface StoryDAO {

void addStory(Story story);

void updateStory(Story story);

void deleteStory(int id);

List getStory();

Person getStoryById(int id);


}

4-ساخت کلاس SqliteDAO

public class SqliteDAO implements StoryDAO {

private SQLiteDatabase db;

public SqliteDAO(Context context) {
	MySqliteOpenHelper helper = new MySqliteOpenHelper(context);
	db = helper.getWritableDatabase();
}

@Override
public void addStory(Story story) {

	ContentValues contentValues = new ContentValues();
	contentValues.put("part", story.getName());
	contentValues.put("title", story.getFamily());
	contentValues.put("story", story.getTelephone());
	contentValues.put("image", story.getImage());

	db.insert("STORY", null, contentValues);
}

@Override
public void updateStory(Story story) {

	ContentValues contentValues = new ContentValues();
	contentValues.put("part", story.getName());
	contentValues.put("title", story.getFamily());
	contentValues.put("story", story.getTelephone());
	contentValues.put("image", story.getImage());

	db.update("STORY", contentValues, "_id = " + story.getId(), null);
}

@Override
public void deleteStory(int id) {
	db.delete("STORY", "_id = " + id, null);
}

@Override
public List getStory() {

	Cursor cursor = db.rawQuery("SELECT * FROM STORY", null);

	List storyList = new ArrayList();
	while (cursor.moveToNext()) {
		Story story = new Story();

		story.setId(cursor.getInt(cursor.getColumnIndex("_id")));
		story.setName(cursor.getString(cursor.getColumnIndex("part")));
		story.setFamily(cursor.getString(cursor.getColumnIndex("title")));
		story.setAdrress(cursor.getString(cursor.getColumnIndex("story")));
		story.setImage(cursor.getBlob(cursor.getColumnIndex("image")));

		storyList.add(story);
	}

	return storyList;

}

@Override
public Story getStoryById(int id) {

	Cursor cursor = db.rawQuery("SELECT * FROM STORY WHERE _id = " + id,
			null);

	if (cursor.moveToNext()) {
		Story story = new Story();

		story.setId(cursor.getInt(cursor.getColumnIndex("_id")));
		story.setName(cursor.getString(cursor.getColumnIndex("part")));
		story.setFamily(cursor.getString(cursor.getColumnIndex("title")));
		story.setAdrress(cursor.getString(cursor.getColumnIndex("story")));
		story.setImage(cursor.getBlob(cursor.getColumnIndex("image")));
		return story;
	} else {
		return null;
	}
}

}

5-ساخت کلاسی که از کلاس Application به ارث برده شده باشد و اسم این کلاس باید به AndroidManifest.xml در تگ application اضافه شود.

public class MyApplication extends Application {

private static StoryDAO storyDAO;

public static StoryDAO getStoryDAO() {
	return storyDAO;
}

@Override
public void onCreate() {
	super.onCreate();
	storyDAO = new SqliteDAO(this);
}

}

        android:allowBackup="true"
       android:icon="@drawable/ic_launcher"
       android:label="@string/app_name"
       android:theme="@style/AppTheme"
       android:name=".MyApplication" >
                   android:name=".MainActivity"
           android:label="@string/app_name" >
           
               

               
           
       
   

6-کار با دیتابیس تمومه برای تست دیتابیس این کد را ببینید

public class MainActivity extends Activity {

private StoryAdapter adapter;

private List listStoty;
private ListView listView;

   @Override
   protected void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.activity_main);
       
       btnNewStory = (Button)findViewById(R.id.btnNewStory);
       listStoty = new ArrayList();
      adapter = new PersonAdapter(this, listStoty);
      
      listView = (ListView)findViewById(R.id.listView);
      listView.setAdapter(adapter);
      
      refreshList();
   }

	@Override
	public void onClick(View v) {

		Story story = new Story();
		story.setPart(editTextPart.getText().toString());
		story.setTitle(editTextTitle.getText().toString());
		story.setStory(editTextStory.getText().toString());
		story.setImage(null);

		MyApplication.getStoryDAO().addStory(story);
		refreshList();
	}
   
   private void refreshList(){
   	
   	List tempList = MyApplication.getStoryDAO().getStory();
   	
   	listStoty.clear();
   	
   	listStoty.addAll(tempList);
   	
   	adapter.notifyDataSetChanged();
   	
   }
}

نکته » StoryAdapter کلاسی است که ListView شما را Custom میکند اگه خواستین کد اون رو هم مینویسم براتون.مهم اینه با این روش هر جا که خواستین میتوانید داستان به دیتابیستون اضافه کنید یا پاک کنید یا کل داستان هارو بریزید تو ListView

کد گرفتن کل داستان های

List myStoryList = MyApplication.getStoryDAO().getStory();

کد اضافه کردن به دیتابیس

Story story = new Story();
		story.setPart(editTextPart.getText().toString());
		story.setTitle(editTextTitle.getText().toString());
		story.setStory(editTextStory.getText().toString());
		story.setImage(null);

		MyApplication.getStoryDAO().addStory(story);

امیدوارم که مفید باشه توضیحاتم.

اگر سوالی بود درخدمتم...

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

مرسی داداش گلم ممنون بابت کد ها و زحمتی که کشیدی

ولی فکر کنم اینا برای list view هستن

من اصلا از لیست ویو استفاده نکردم

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

مشکلی نداره ، شما وقتی داری get میکنید ، خروجی ریخته میشه تو List حالا شما با این List هر کاری که دوست داری انجام بده

List list = MyApplication.getStoryDAO().getStory();
   	Story story = list.get(0);
   	String title = story.getTitle();

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

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...