HosseinQ

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

6 ارسال در این موضوع قرار دارد

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

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

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

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

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

ممنون:heart:

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

HMQ2121@gmail.com

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


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

سلام

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

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


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

سلام

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

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

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

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

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

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

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();

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


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

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری