- Tạo ứng dụng Spring Boot bằng Spring Launchizr
- Cấu hình Cassandra trong Spring Boot
- Định cấu hình nhóm kết nối Tomcat trên Spring Boot
- Định tuyến tin nhắn Camel đến Artemis được nhúng bằng WildFly
Các tệp tài nguyên của ứng dụng (chuỗi, hình ảnh, âm thanh, v.v.) được lưu trữ thống nhất trong thư mục tài nguyên, giúp nhà phát triển sử dụng và bảo trì dễ dàng hơn. Thư mục tài nguyên bao gồm hai loại thư mục chính, một là thư mục cơ sở và thư mục đủ điều kiện, và loại còn lại là thư mục rawfile.
Ví dụ về thư mục tài nguyên:
tài nguyên |---base // Thư mục mặc định | |---element |---string.json | mdpi // Ví dụ về thư mục Vòng loại, nhà phát triển cần tự tạo |---element | Thư mục tồn tại theo mặc định
Thư mục vòng loại có thể bao gồm một hoặc nhiều vòng loại mô tả các kịch bản ứng dụng hoặc đặc điểm thiết bị, bao gồm mã quốc gia di động và mã mạng di động, ngôn ngữ, văn bản, quốc gia hoặc khu vực, màn hình ngang và dọc, loại thiết bị, chế độ màu và mật độ màn hình. Các kích thước bằng nhau, các từ hạn định được kết nối bằng dấu gạch dưới (_) hoặc dấu gạch ngang (-). Khi nhà phát triển tạo thư mục vòng loại, họ cần hiểu các yêu cầu đặt tên của thư mục vòng loại và các quy tắc khớp giữa thư mục vòng loại và trạng thái thiết bị.
Các thư mục nhóm tài nguyên (bao gồm phần tử, phương tiện, hoạt ảnh, bố cục, đồ họa và hồ sơ) có thể được tạo trong thư mục cơ sở và thư mục vòng loại để lưu trữ các loại tệp tài nguyên cụ thể.
phần tử: Thể hiện tài nguyên phần tử. Mỗi loại dữ liệu bên dưới được thể hiện bằng tệp JSON tương ứng.
media: Đại diện cho các tài nguyên đa phương tiện, bao gồm hình ảnh, âm thanh, video và các tệp định dạng phi văn bản khác
hoạt ảnh: Thể hiện tài nguyên hoạt ảnh ở định dạng tệp XML.
bố cục: thể hiện tài nguyên bố cục, sử dụng định dạng tệp XML.
đồ họa: Biểu thị các tài nguyên có thể vẽ ở định dạng tệp XML.
profile: Cho biết các loại file khác, được lưu dưới dạng file gốc.
Trong thư mục tài nguyên, bạn có thể tạo các thư mục con và tệp trong thư mục theo hướng dẫn dành cho thư mục vòng loại và thư mục nhóm tài nguyên.
Đồng thời, DevEco Studio còn cung cấp giao diện tạo thư mục tài nguyên và file tài nguyên.
Các tệp tài nguyên trong thư mục cơ sở và thư mục vòng loại: Được tham chiếu bằng cách chỉ định loại (loại) tài nguyên và tên (tên) tài nguyên.
Định dạng của tệp tài nguyên tham chiếu tệp Java:ResourceTable.type_name. Cụ thể, nếu tham chiếu đến tài nguyên hệ thống, hãy sử dụng:ohos.global.systemres.ResourceTable.type_name.
Ví dụ 1: Trong tệp Java, tham chiếu tài nguyên loại "Chuỗi" và tên "app_name" trong tệp string.json.
ohos.global.resource.ResourceManager resManager = this.getResourceManager(); Kết quả chuỗi = resManager.getElement(ResourceTable.String_app_name).getString();
ohos.global.resource.ResourceManager resManager = this.getResourceManager(); int color = resManager.getElement(ResourceTable.Color_red).getColor();
Các tệp tài nguyên trong thư mục rawfile: được tham chiếu bằng cách chỉ định đường dẫn tệp và tên tệp.
Trong tệp Java, tham chiếu tệp tài nguyên có đường dẫn "resources/rawfile/" và tên "example.js".
ohos.global.resource.ResourceManager resManager = this.getResourceManager(); ohos.global.resource.RawFileEntry rawFileEntry = resManager.getRawFileEntry("resources/rawfile/example.js");
ic_app: Biểu thị biểu tượng mặc định của ứng dụng HarmonyOS.
request_location_reminder_title: Tiêu đề lời nhắc cho biết "Yêu cầu sử dụng chức năng định vị thiết bị".
request_location_reminder_content: cho biết nội dung nhắc "yêu cầu sử dụng chức năng định vị thiết bị", nghĩa là: vui lòng bật công tắc "thông tin vị trí" trong thanh phím tắt thả xuống.
Ứng dụng có thể xác định trường "colorMode" trong trường mô-đun của config.json. Trường "colorMode" được sử dụng để xác định chế độ màu của chính ứng dụng. Giá trị có thể là "tối", "sáng" hoặc "tự động" ( giá trị mặc định). Ví dụ:
"colorMode": "ánh sáng"
Khi giá trị chế độ màu của ứng dụng là "tối", bất kể chế độ màu hiện tại của hệ thống là gì, ứng dụng sẽ luôn chọn tài nguyên theo chế độ tối, tương tự, khi giá trị chế độ màu của ứng dụng là "sáng"; ", bất kể chế độ màu hiện tại của hệ thống là gì, ứng dụng sẽ luôn chọn tài nguyên theo giá trị chế độ ánh sáng; khi giá trị chế độ màu của ứng dụng là "tự động", ứng dụng sẽ chọn tài nguyên theo hệ thống giá trị chế độ màu. Ứng dụng có thể lấy chế độ màu hiện tại của ứng dụng trong mã như sau:
int colorMode = Cấu hình.colorMode;
Tài nguyên thuộc các loại phần tử khác nhau trong thư mục Phần tử được biểu thị bằng các tệp JSON. Tên tài nguyên "tên" và giá trị "giá trị" là các trường bắt buộc cho mỗi tài nguyên.
Thông qua trường nhận xét, bạn có thể thêm nhận xét vào tài nguyên của tệp JSON. Ví dụ như sau:
{ "string":[ { "name":"message_arrive", "value": "Chúng tôi sẽ đến %s", "comment">Chuyển thời gian đến. %s là thời gian, khoảng 5:00 sáng" } ] }
Trong ba loại tài nguyên, chuỗi, strarray và số nhiều, các mã định danh đặc biệt có thể được sử dụng để xử lý nội dung không cần dịch. Ví dụ: Giá trị của tài nguyên chuỗi là "Chúng tôi sẽ đến %s" và biến "%s" dự kiến sẽ không thay đổi trong quá trình dịch thuật. Có hai cách để xử lý nó:
{ "string":[ { "name":"message_arrive", "value":["Chúng tôi sẽ đến",{ "id"thời gian", "example":"5:00 sáng", "value" :"%s" } ] } ] }
{ "string":[ { "name":"message_arrive", "value": Chúng tôi sẽ đến %s " } ] }
{ "boolean":[ { "name":"boolean_1", "value":true }, { "name":boolean_ref", "value":"$boolean:boolean_1" } ] }
{ "color":[ { "name":"red", "value":"#ff0000" }, { "name":"red_ref", "value":"$color:red" } ] }
{ "float":[ { "name":"float_1", "value":"30.6" }, { "name":"float_ref", "value":"$float:float_1" }, { "name": "float_px", "giá trị:":100px" } ] }
{ "intarray":[ { "name://intarray_1", "value":[ 100, 200, "$integer:integer_1" ] } ] }
{ "integer":[ { "name":"integer_1", "value":100 }, { "name":integer_ref", "value":"$integer:integer_1" } ] }
{ "pattern":[ { "name": "cơ sở", "giá trị":[ { "tên": "chiều rộng", "giá trị": "100vp" }, { "tên": "chiều cao", "giá trị" :"100vp" }, { "name":"size", "value":"25px" } ] }, { "name":"child", "parent":"base", "value":[ { "name":noTitile", "value": "Có" } ] } ] }
{ "plural":[ { "name":"eat_apple", "value":[ { "quantity":one", "value":%d apple" }, { "quantity":"khác", " value:"%d táo" } ] } ] }
{ "straarray":[ { "name":"size", "value":[ { "value:"small" }, { "value":"$string:hello" }, { "value"large" " }, { "giá trị:"cực lớn" } ] } ] }
{ "string":[ { "name":hello", "value"hello base" }, { "name":"app_name", "value":"ứng dụng của tôi" }, { "name": app_name_ref", "value":"$string:app_name" }, { "name":"app_sys_ref", "value":"$ohos:string:request_location_reminder_title" } ] }
Các khu vực khác nhau có thói quen hiển thị ngày và giờ khác nhau. Ví dụ: định dạng thời gian ngắn ở vùng tiếng Anh (Hoa Kỳ) là "9:31 sáng"; định dạng thời gian ngắn ở vùng tiếng Trung giản thể (Trung Quốc) là "9:31 sáng" và định dạng thời gian ngắn ở vùng Vùng Phần Lan (Phần Lan) là "9,31". Điều này cung cấp cho các nhà phát triển khả năng thu được thông số kỹ thuật về ngày và giờ ở các khu vực khác nhau.
Việc hiển thị chuỗi ngày giờ và điều khiển thời gian trên giao diện phải tuân theo các quy tắc thông thường của địa phương. Khi cần hiển thị thời gian hoặc ngày tháng, bạn nên lấy thông số kỹ thuật về ngày giờ của khu vực hiện tại và định dạng các chuỗi được hiển thị theo. các thông số kỹ thuật thu được Sử dụng lại.
Ví dụ 1:
Locale locale = new Locale("de", "CH"); Chuỗi khung = "MMMMd"; Chuỗi bestPattern = DateFormatUtil.getBestPattern(skeleton, locale);
Ví dụ 2:
Chuỗi ngôn ngữTag = "zh"; Chuỗi ra = DateFormatUtil.format ("EEEEdMMMMy", ngôn ngữTag, "Châu Á/Thượng Hải", 0, 3600 * 1000); // Giá trị trả về là "Thứ Năm, ngày 1 tháng 1 năm 1970"
Số điện thoại ở các vùng khác nhau có hiệu ứng định dạng khác nhau. Khi cần hiển thị số điện thoại địa phương, cần tuân thủ nguyên tắc định dạng của số điện thoại địa phương. Do đó, nó cung cấp cho các nhà phát triển khả năng định dạng số điện thoại ở các vùng khác nhau để có thể định dạng chính xác khi hiển thị số điện thoại. Nó cũng cung cấp khả năng lấy vị trí của số điện thoại. Nhà phát triển có thể sử dụng các giao diện có liên quan để lấy thông tin vị trí của số điện thoại.
Ví dụ 1:
Bộ định dạng inputFormatter = inputFormatter.getInstance("CN"); formatter.inputNumberAndRememberPosition('1'); // Giá trị trả về là "1" formatter.inputNumber('5'); // Giá trị trả về là bộ định dạng "15". inputNumber( '6'); // Giá trị trả về là "156" formatter.inputNumberAndRememberPosition('1');// Giá trị trả về là "156 1"
Ví dụ 2:
Locale.Builder builder = new Locale.Builder(); builder.setLanguage("zh"); builder.setRegion("CN"); builder.setScript("Hant"); = PhoneNumberAttribution.getAttribution("+8615611xxxxxx", "CN", locale); // x là số bất kỳ và giá trị trả về là "Thành phố Bắc Kinh"
Cung cấp khả năng nhận dạng văn bản cho địa chỉ, thời gian, ngày tháng và số điện thoại. Các giao diện liên quan có thể được gọi để xác định địa chỉ, thời gian, ngày tháng và số điện thoại có trong một đoạn văn bản.
Ví dụ:
// Khi Locale.getDefault().getLanguage() là "en" String source = "it is 123 test St"; int[] re = TextRecognitionUtils.getAddress(source); result = source.substring(re[1], re[2] + 1);//Giá trị trả về là "123 main St" }
Cung cấp hỗ trợ cho khả năng quốc tế hóa của trọng lượng và thước đo, hỗ trợ chuyển đổi giữa các hệ thống trọng lượng và thước đo cũng như tự động chuyển đổi hệ thống trọng lượng và thước đo ở các quốc gia khác nhau. Khi phát triển các tính năng bao gồm trọng lượng và thước đo, khả năng này có thể được yêu cầu để đáp ứng nhu cầu của người dùng ở nhiều ngôn ngữ và các quốc gia khác nhau.
Ví dụ 1:
Ngôn ngữ zhCN = Locale.CHINA; MeasureFormatter mes = MeasureFormatter.getInstance(zhCN); mes.format(MeasureOptions.Unit.AREA_UK_ACRE, 10000, MeasureOptions.Usage.AREA_LAND_AGRICULT, MeasureOptions.FormatStyle.WIDE, MeasureOptions.Style.AUTO_STYLE_ON));/ / Giá trị trả về là “4.046,856 ha”
Ví dụ 2:
Locale enUS = Locale.US; MeasureFormatter mes = MeasureFormatter.getInstance(enUS); mes.format(MeasureOptions.Unit.VOLUME_US_CUP, 1000, MeasureOptions.Unit.VOLUME_SI_LITER, MeasureOptions.FormatStyle.WIDE));//Giá trị trả về là " 236,588 "lít"
Cung cấp quyền truy cập vào các khu vực, thành phố và ngôn ngữ nhạy cảm về mặt chính trị cũng như khả năng sửa tên khu vực.
Ví dụ:
Locale locale = Locale.getDefault(); ArrayList result = LocaleHelperUtils.getBlockedRegions(context, locale);//Giá trị trả về chứa "EH" và "XK" (Tây Sahara và Kosovo), hai vùng này có mục đích sử dụng chính trị thận trọng ở khu vực tranh chấp
Tôi cần làm rõ một chút. Tôi có thể ghi trực tiếp vào/dev/port để truy cập trực tiếp vào cổng song song và nó hoạt động tốt (tôi có thể bật đèn LED cắm vào đầu nối cổng). Tuy nhiên, tôi đoán tôi có thể làm điều tương tự với/dev/mem? (http://tld
Như hiện tại, câu hỏi này không phù hợp với định dạng Hỏi & Đáp của chúng tôi. Chúng tôi mong đợi câu trả lời sẽ được hỗ trợ bởi các sự kiện, trích dẫn hoặc chuyên môn, nhưng câu hỏi có thể gây ra tranh luận, tranh luận, bỏ phiếu hoặc thảo luận mở rộng. Nếu bạn cảm thấy vấn đề này có thể được cải thiện và có thể mở lại, hãy truy cập
Tôi đã học lập trình Windows bằng Visual C++ và API Win32. Ngày nay, có vẻ như hầu hết các ứng dụng đều được phát triển trên .NET bằng C#. Tôi biết rằng hầu hết không có kết nối giữa mã gốc và mã được quản lý
Vui lòng chờ. Tôi đang tạo một bảng điều khiển java tương tự như DragonConsole được tìm thấy ở đây https://code.google.com/p/dragonconsole/. Mọi thứ diễn ra theo đúng kế hoạch, nhưng tôi nghĩ
đóng cửa. Câu hỏi này cần tập trung hơn. Hiện tại nó không chấp nhận câu trả lời. Bạn muốn cải thiện câu hỏi này? Đã cập nhật câu hỏi để tập trung vào một vấn đề chỉnh sửa bài đăng này Đã đóng 5 năm trước. Cải thiện hàng đợi này
Máy chủ phát triển của Django đang hoạt động kỳ lạ. Trình duyệt truy cập nó bị kẹt khi tải và mọi nỗ lực thoát khỏi nó đều không hoạt động. Khi tôi bấm vào control c thì nó có vẻ hoạt động nhưng thực ra vẫn đang chạy. Cách duy nhất để thoát khỏi nó là khởi động lại máy tính của tôi, điều này thật khó chịu
Tôi đang sử dụng Flash Development và đã tạo dự án ActionScript 3.0. Nó bắt đầu và đọc tệp xml chứa url của hình ảnh. Tôi đã giữ url trong cùng thư mục với swf
Có thể phát triển ngăn xếp AUTOSAR BSW (ví dụ cho giao tiếp CAN) theo các thông số kỹ thuật có sẵn trên trang web của nó không? Không mua bất kỳ công cụ nhà cung cấp đắt tiền nào? Những bước nào có thể được thực hiện? Tôi được yêu cầu khám phá khả năng này. Câu trả lời tốt nhất là có và không. dụng cụ
Có ai biết cách ghi đè micrô iPhone bằng nội dung của tệp âm thanh không? Hãy tưởng tượng tình huống bạn đang thực hiện cuộc gọi và muốn phát một số âm thanh ngắn cho người khác nghe. Vì vậy cần phải đặt micro (phần cứng) ở chế độ chờ và sử dụng đại biểu
Tôi gặp phải sự cố này, ứng dụng của tôi gặp lỗi EXC_BAD_ACCESS và bị kẹt/dừng. Tôi đã sử dụng tùy chọn "Xoay trái" và "Xoay phải" của trình mô phỏng để mô phỏng hành vi thay đổi hướng. Nguyên nhân có thể gây ra lỗi này là gì? Vì tôi không nhận được lỗi về
Tôi có nhiều hơn 1 máy Mac và tôi muốn phát triển trên tất cả chúng. Tôi biết tôi cần đồng bộ hóa điện thoại của mình trên mỗi máy, nhưng đây là vấn đề ít gặp nhất mà tôi gặp phải. Có vẻ như tôi không thể chạy ứng dụng trên điện thoại, ngoại trừ các ứng dụng được phát triển trên một trong số chúng. Có ở đó không?
Khi thử nghiệm trên điện thoại di động, ứng dụng của tôi gặp sự cố ở một điểm cụ thể. Bảng điều khiển hiển thị thông báo này Thứ ba ngày 27 tháng 1 15:47:14 không rõ SpringBoard[22] : Ứng dụng com.myprof.
Tôi gặp trường hợp tôi nhận được thông tin từ máy chủ. Ứng dụng của tôi có thanh tab và nút điều hướng. Tôi muốn ứng dụng hiển thị chỉ báo tiến trình và tắt tất cả các điều khiển khác để người dùng không thể nhảy trong khi dữ liệu đang được tìm nạp từ máy chủ. Làm thế nào tôi có thể đạt được mục tiêu này? Một cách tôi nghĩ ra
Đôi khi, khi tôi cố gắng "xây dựng"/biên dịch mã nguồn đã tải xuống, tôi nhận được cảnh báo sau: ld: cảnh báo: thư mục '/Volumes/Skiiing2/CD/ViewBased/Unknown Path/
Tôi không thể tìm thấy lời giải thích rõ ràng trong tài liệu của Apple về sự khác biệt giữa cấu hình phát triển và phân phối. Tôi hiện đang sử dụng cấu hình phát triển để phát triển và thử nghiệm trên iPhone của mình. Tôi đang dự định phân phối ứng dụng này cho bản thử nghiệm beta của mình và tôi muốn biết: Tôi cần làm gì
Một trong những thách thức lớn nhất mà tôi gặp phải với SharePoint là nó không phù hợp lắm với môi trường dự án điển hình, ít nhất bao gồm cả môi trường phát triển và sản xuất. Vấn đề tôi gặp phải nhiều nhất là nội dung và danh sách được liên kết chặt chẽ đến mức nếu bạn không thực thi nội dung trong môi trường sản xuất
Tôi đã thất bại ở bước đầu tiên để chuẩn bị sẵn Eclipse (mới đối với tôi) cho việc phát triển ARM. Tôi đã cài đặt Eclipse trong Windows 10. Tôi nghĩ tôi nên cài đặt xpm nhưng tôi không biết nhập lệnh này ở đâu:
Trước hết, hãy để tôi nói cho bạn biết - Tôi chưa quen với việc viết mã và tôi đang sử dụng vs code để học c++ và nó không tạo ra trình gỡ lỗi như dev c++ hoặc codeblocks. Tôi đã xem một số video trong đó chúng tôi phải chỉnh sửa các tệp json, điều này rất phức tạp đối với người mới bắt đầu. người nào đó
Tôi đã thất bại ở bước đầu tiên để chuẩn bị sẵn Eclipse (mới đối với tôi) cho việc phát triển ARM. Tôi đã cài đặt Eclipse trong Windows 10. Tôi nghĩ tôi nên cài đặt xpm nhưng tôi không biết nhập lệnh này ở đâu:
Tôi đã phát triển một ứng dụng Ionic (sự kết hợp giữa iOS và Android). Tôi có Xcode 8.3.3 và đã mua đăng ký một năm cho Chương trình nhà phát triển Apple. Tôi không muốn thử nghiệm ứng dụng của mình và đặt nó
Tôi là một lập trình viên xuất sắc, rất giỏi!