Вот код, с помощью которого вы можете начать действие, используя имя действия
String activityToStart = "com.example.MainActivity";
try {
Class<?> c = Class.forName(activityToStart);
Intent intent = new Intent(this, c);
startActivity(intent);
} catch (ClassNotFoundException ignored) {
}
РЕДАКТИРОВАТЬ
Здесь имя класса будет полным именем класс с именем пакета. Например, если имя вашего пакета будет x.y.z
, и если у вас будет Имя активности с именем A
, то полное имя Действия A
будет x.y.z.A
.
EmployeesViewData.
Это то, что я использую и то, что я видел в примерах приложений.
О добавленном вами примере: Имхо имя класса должно указывать какие данные он содержит. ".... IndexViewData" довольно бессмысленно. Что именно отображается на этой странице? Попытайтесь резюмировать это одним или двумя словами и добавить за ним ViewData.
Или просто возьмите имя контроллера и отбросьте «индекс». Мне нравится HomeViewData.
Я стараюсь, чтобы имена моих моделей презентации не зависели от вида презентации, в которой они будут представлены. Сначала я могу использовать свой объект модели для представления ASP.NET, но позже я могу также использовать его в приложении WCF или WinForms. Я стараюсь называть свои модели такими, чтобы они логически описывали то, что они содержат, не запутывая их «ViewData», «ViewModel», «Model» и т. Д.
Примеры:
ProductsWithPageInfo
ProductWithAttributesAndTags
ClientAndBillingDetail
UserAccountWithAssociatedGroups
И т. Д.
Я предпочитаю HomeViewModel или, используя предыдущий пример сотрудника, CreateEmployeeViewModel, EditEmployeeViewModel и т. Д. Идея состоит в том, что «ViewModel» подчеркивает тот факт, что мы имеем дело с проблемами представления, и устраняет неоднозначность ViewModels из любых имеющихся у вас объектов модели предметной области.
Я использую следующий шаблон, потому что он ясный и недвусмысленный:
Я думаю, что если он где-то определен и включен в один из файлов, которые вы компилируете, он будет определен. В Objective-C нет соглашений вроде «ClassName.java», как в Java.
Это очень полезно, когда вы хотите делать такие вещи, как категории для таких вещей, как частные методы / свойства.
Они не содержат какие-либо другие функции - конверт предназначен только как механизм доставки в этом смысле, тогда как термин ViewModel для меня кажется менее описательным для того, как я его использую, а также, возможно, более двусмысленно относительно его истинной цели.Я мог бы создать, например, класс CustomerUpdateEnvelope, который существует исключительно для доставки объекта Customer и несвязанного объекта NewsTicker, например, в мое представление Customer Update.
в мое представление «Обновления клиентов». в мое представление «Обновления клиентов».