کار با String ها در اندروید
همانطور که می دانید برای دسترسی به رشته های مورد نظر خود در پروژه اندروید استودیو ، فایلی بنام String.Xml در داخل پوشه Valueتعبیه شده است که در دایرکتوری مربوط به Resource یا Res قرار گرفته است. همانطور که از نام این فایل برمی آید برنامه نویسان کاراکترهای رشته ای خود را در این فایل ذخیره می کنند و سپس از طریق فراخوانی انها بر اساس نام رشته ،به محتوای رشته ای آن که ممکن است حاوی یک متن طولانی نیز باشد دسترسی پیدا می کنند.
تعریف رشته ها در فایل String.xml:
در فایل مذکور رشته های خود را براساس سینتکس زیر تعریف می کنیم
<string name="string_name">Your_Text_String</string>
که در ان نام رشته برابر است به string_name و محتوای آن Your_Text_String. بنابراین برای ارجاع به رشته مورد نظر لازم است که بعد @ String نام رشته آورده شود. که در آن صورت متن نشان داده شده برابر با محتوای رشته خواهد بود به مثال زیر توجه کنید :
android:text="@string/name_string"
اما گاهی ضرورت می یابد در فایل String.xml رشته ها بصورت آرایه ای تعریف شود تا از این طریق بتوانیم از طریق کلید به رشته های بیشتری دسترس داشته باشیم. از این نحوه تعریف رشته ها بصورت آرایه ای به شکل زیر خواهد بود:
<resources> <string name="peykan">پیکان</string> <string name="paguoet">پژو</string> <string name="pride">پراید</string> <string name="mazda">مزدا</string> <string name="fiat">فیات</string> <string_array name_array="car_array"> <item>@string/peykan</item> <item>@string/paguoet</item> <item>@string/pride</item> <item>@string/mazda</item> <item>@string/fiat</item> </string_array> </resources>
همانطور که می بینید ابتدا رشته ها را بصورت مجزا تعریف می کنیم. رشته دیگری را با نام مشخصی که از نوع آرایه ای است می سازیم و سپس با فراخوانی رشته های تعریف شده در داخل تگ رشته ، رشته های تعریف شده را بعنوان ارزش های آرایه آن رشته تعریف می کنیم.
نحوه دسترسی به رشته ها در کلاس ها:
بدین منظور می بایست برنامه ای بنویسیم که بتواند از دایرکتوری res ، از داخل پوشه فایل value فایل String.xml را فراخوانی کرده و براساس نام رشته ای که آورده می شود بتواند به محتوای آن رشته دسترسی پیدا کند. بدین منظور از کد زیر استفاده می کنیم:
String[] variable = getResources().getStringArray(R.array.car_array);
0 دیدگاه