انجمن سایت کلیدستان



ساخت برنامه اندروید مانند دیکشنریزمان کنونی: ۱۳۹۵/۰۹/۲۱، ۰۲:۲۶ ب.ظ
کاربران در حال بازدید این موضوع: 1 مهمان
نویسنده: ahh90
آخرین ارسال: ahh90
پاسخ 11
بازدید 2797

رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
ساخت برنامه اندروید مانند دیکشنری

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

#1
سلام.
من برنامه ای میخوام درست کنم مثل دیکشنری ولی چون کلمات کمی داره نیازی به دیتابیس نیست.
مثلا اگه کاربر نوشت : "edit" بگه "ویرایش" و اگه نوشت : "ویرایش" بگه "edit"
اگه نخوام از if و else استفاده کنم، با چه کدی میتونم این کار کنم؟
پاسخ

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

#2
سلام.
اگر قصد ندارید از پایگاه داده استفاده کنید، راه های زیر به ذهن بنده می رسد :

1- استفاده از فایل strings.xml که در آن، با یک نامگذاری خاص، زوج مقادیر را تعریف می کنیم. مثلا اگر 500 کلمه است، از A_1 تا A_500 برای کلمات اصلی و از B_1 تا B_500 ، کلمات متناظر با آنها.

2- می توانیم آنها را به صورت یک متغیر سراسری تعریف کنیم. یعنی دو آرایه (Array) از جنس رشته (String)، به صورت سراسری تعریف می کنیم و بعد در Activity یا Activity های مورد نظرمان، به آنها ارجاع می دهیم :

کلید شماره 343

3- استفاده از HashMap :

کلید شماره 3002

از HashMap به صورت سراسری (global) نیز میشه استفاده کرد، یعنی آن را به صورت سراسری تعریف می کنید (یعنی استفاده از شماره 2 که ذکر کردم). این طوری یک HashMap دارید که زوج مقادیر در آن ذخیره شده و سراسری هم هست و کدهای آن در کدهای Activity های برنامه اندروید، تداخلی نخواهد داشت (که شلوغ شود).

4- استفاده از SharedPreferences :

کلید شماره 288

5- ذخیره در فایل متنی (ساده یا با ساختار json یا ...)

 
bookbook 
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.
پاسخ

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

#3
(۱۳۹۳/۱۲/۱۱, ۰۷:۰۲ ب.ظ)'admin' نوشته: سلام.
اگر قصد ندارید از پایگاه داده استفاده کنید، راه های زیر به ذهن بنده می رسد :

1- استفاده از فایل strings.xml که در آن، با یک نامگذاری خاص، زوج مقادیر را تعریف می کنیم. مثلا اگر 500 کلمه است، از A_1 تا A_500 برای کلمات اصلی و از B_1 تا B_500 ، کلمات متناظر با آنها.

2- می توانیم آنها را به صورت یک متغیر سراسری تعریف کنیم. یعنی دو آرایه (Array) از جنس رشته (String)، به صورت سراسری تعریف می کنیم و بعد در Activity یا Activity های مورد نظرمان، به آنها ارجاع می دهیم :

کلید شماره 343

3- استفاده از HashMap :

کلید شماره 3002

از HashMap به صورت سراسری (global) نیز میشه استفاده کرد، یعنی آن را به صورت سراسری تعریف می کنید (یعنی استفاده از شماره 2 که ذکر کردم). این طوری یک HashMap دارید که زوج مقادیر در آن ذخیره شده و سراسری هم هست و کدهای آن در کدهای Activity های برنامه اندروید، تداخلی نخواهد داشت (که شلوغ شود).

4- استفاده از SharedPreferences :

کلید شماره 288

5- ذخیره در فایل متنی (ساده یا با ساختار json یا ...)

 

 

خیلی ممنون از راهنماییتون 
حلقه for  رو چجوری میتونم توی hashmap استفاده کنم؟
که از یه edit text متن رو بگیره و اگه با key برابر باشه، value اون رو چاپ کنه.
پاسخ

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

#4
نیازی به استفاده از حلقه for نیست، تنها کافی است که کلمه را از EditText دریافت کرده و مقدار معادل آن را از HashMap فراخوانی کنید. مثلا در همان کلید شماره 3002 ، کد زیر را ببینید :

کد پی‌اچ‌پی:
String value = (String) myHashMap.get("Color1"); 

مقدار معادل Color1 فراخوانی شده و در متغیر value ذخیره می شود.


 
bookbook 
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.
پاسخ

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

#5
(۱۳۹۳/۱۲/۱۲, ۰۴:۰۵ ب.ظ)'admin' نوشته: نیازی به استفاده از حلقه for نیست، تنها کافی است که کلمه را از EditText دریافت کرده و مقدار معادل آن را از HashMap فراخوانی کنید. مثلا در همان کلید شماره 3002 ، کد زیر را ببینید :

کد پی‌اچ‌پی:
String value = (String) myHashMap.get("Color1"); 

مقدار معادل Color1 فراخوانی شده و در متغیر value ذخیره می شود.


 

 

توی حجم بالا اذیت نمیکنه؟
یعنی اگه 500 تا کلمه باشه باید این خط رو 500 بار تکرار کنیم.

 
پاسخ

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

#6
برای فراخوانی تنها باید یک خط کد نوشته شود، ولی برای تعریف ابتدایی داده ها (مثلا به صورت سراسری)، باید 500 کلمه ذکر شوند (تنها یک بار آنها را به صورت سراسری تعریف می کنیم، بعد فراخوانی ساده خواهد بود). 

bookbook 
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.
پاسخ

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

#7
(۱۳۹۳/۱۲/۱۲, ۰۸:۲۲ ب.ظ)'admin' نوشته: برای فراخوانی تنها باید یک خط کد نوشته شود، ولی برای تعریف ابتدایی داده ها (مثلا به صورت سراسری)، باید 500 کلمه ذکر شوند (تنها یک بار آنها را به صورت سراسری تعریف می کنیم، بعد فراخوانی ساده خواهد بود). 



 

خب مشکل منم همینجاس. 
500 کلمه رو تعریف میکنم. بعد واسه هر کلمه باید فراخوانی کنم.
چون این خط فقط یک کلمه رو بر میگردونه. 
String value = (String) myHashMap.get("Color1");
 
پاسخ

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

#8
مگر کاربر ((تنها یک کلمه)) را در EditText وارد نمی کند ؟
پس فراخوانی هم تنها برای یک کلمه خواهد بود.
شما کدی می نویسید که کلمه وارد شده را از EditText دریافت کرده و بعد در همان یک خط کد، قرار داده می شود و معادل آن را از HashMap دریافت می کنیم.
شاید شما ساختار دیگری مد نظرتون هست ؟ 
شاید قصد دارید که لیست کلمات را به کاربر نمایش بدهید ؟ برای این منظور، لینک زیر را ببینید :

http://stackoverflow.com/questions/89098...in-android

bookbook 
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.
پاسخ

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

#9
(۱۳۹۳/۱۲/۱۲, ۰۹:۳۲ ب.ظ)'admin' نوشته: مگر کاربر ((تنها یک کلمه)) را در EditText وارد نمی کند ؟
پس فراخوانی هم تنها برای یک کلمه خواهد بود.
شما کدی می نویسید که کلمه وارد شده را از EditText دریافت کرده و بعد در همان یک خط کد، قرار داده می شود و معادل آن را از HashMap دریافت می کنیم.
شاید شما ساختار دیگری مد نظرتون هست ؟ 
شاید قصد دارید که لیست کلمات را به کاربر نمایش بدهید ؟ برای این منظور، لینک زیر را ببینید :

http://stackoverflow.com/questions/89098...in-android



 

ممنون.. مشکلم حل شد 
فقط یه سوال دیگه.
myHashMap.put("Color1","Red");
وقتی من "color1" وارد میکنم میگه "Red".
ولی برعکس اینو نمیده.
چطور میتونم وقتی "Red" وارد کردم هم بگه "color1" ??
پاسخ

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

#10
(۱۳۹۳/۱۲/۱۲, ۱۰:۴۴ ب.ظ)'ahh90' نوشته: فقط یه سوال دیگه.
myHashMap.put("Color1","Red");
وقتی من "color1" وارد میکنم میگه "Red".
ولی برعکس اینو نمیده.
چطور میتونم وقتی "Red" وارد کردم هم بگه "color1" ??



 

لینک های زیر را ببینید :

http://stackoverflow.com/questions/81129...-the-value

http://stackoverflow.com/questions/13837...from-value

bookbook 
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.
پاسخ
 سپاس شده توسط ahh90

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

#11
(۱۳۹۳/۱۲/۱۶, ۰۳:۲۸ ب.ظ)'admin' نوشته:
(۱۳۹۳/۱۲/۱۲, ۱۰:۴۴ ب.ظ)'ahh90' نوشته: فقط یه سوال دیگه.
myHashMap.put("Color1","Red");
وقتی من "color1" وارد میکنم میگه "Red".
ولی برعکس اینو نمیده.
چطور میتونم وقتی "Red" وارد کردم هم بگه "color1" ??




 

لینک های زیر را ببینید :

http://stackoverflow.com/questions/81129...-the-value

http://stackoverflow.com/questions/13837...from-value



 

خیلی ممنون  مشکلم حل شد.
مـــرســـــی 
 
پاسخ
 سپاس شده توسط admin


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان

آخرین کلیدهای غیررایگان

شما هم می توانید کلیدهای غیررایگان منتشر کنید (بیشتر بدانید)